第59篇:蓝队分析辅助工具箱V0.58更新,兼容jdk8至jdk20|shiro解密|哥斯拉解密|各种java反编译...

 Part1 前言 

大家好,我是ABC_123(应该是第69篇,题目编号弄错,抱歉)。“蓝队分析辅助工具箱”就是把我平时写的蓝队小工具集合起来形成的,重点解决蓝队分析工作中的一些痛点问题。本期解决了一直让ABC_123伤脑筋的jdk8到jdk11到jdk17到jdk20的兼容性问题。解决办法简单但是也不简单,简单是因为,就是把不兼容的jar包给替换掉或者注释掉;不简单是因为,保证功能可用的同时保证兼容性是很难的。为了兼容性,最终这个工具没有采用javafx,而继续用swing框架编写。

注:1、软件路径不能包含中文。2、Mac系统下复制粘贴请使用Command+V、Ctrl+V、Alt+V等快捷键进行尝试

建议大家把公众号“希潭实验室”设为星标,否则可能就看不到啦!因为公众号现在只对常读和星标的公众号才能展示大图推送。操作方法:点击右上角的【...】,然后点击【设为星标】即可。

8ec4dd5dc95568efe59d3da2d80f90c4.png

 Part2 使用说明及功能介绍 

  • 新增5种Java内存马class文件反编译功能

通过调用Intellij Idea、CFR、Procyon、JD-Core、JDK等5种反编译工具接口,分别对Base64加密的class文件、转成Byte数组的class文件、BECL编码的class文件、Base64编码+Gzip编码的class文件、原版class文件反编译成java代码,方便蓝队人员分析异常流量中的内存马代码。

当然,此功能对于红队人员也特别方便,方便大家编写tomcat、springboot、weblogic内存马时进行class文件反编译对比分析。

 1  如下图示所示,程序对Base64加密的内存马class文件进行反编译分析。

a1c594b215af629536d1a9b5e0ed4a1b.png

 2  如下图示所示,程序对Byte数组的内存马class文件进行反编译分析。

ba37614092d40953935c026c37ccfacf.png

 3  如下图示所示,程序对BECL编码加密的内存马class文件进行分析。

扫描二维码关注公众号,回复: 16778418 查看本文章

25de351275a56e7b1cf6556a191e7717.png

 4  如下图示所示,程序对Base64+Gzip压缩的内存马class文件进行反编译分析。

f787b1661ad2a1b1d800243bbbf534f6.png

 5  如下图示所示,程序对class文件进行反编译分析。

063ef94818eac5f8e65358b14d53b293.png

  • ip地址排除白名单功能

此功能为了解决,在日常蓝队工作中,各种安全设备会告警上万个ip,但是有的ip是企业正常的ip,称之为白名单ip,手工一个个筛选非常麻烦,所以我就写了这个功能,可以生成真正可用的可封禁的ip地址列表。这个功能的特点是,对于ip地址的导入,兼容各种ip地址格式,兼容格式如下图所示。

e7061dc830baf1a42228aef155ab8abb.png

  • 端口连接添加ip归属地址|对国外IP高亮显示

假设甲方客户的内网主机中了恶意病毒,蓝队人员通常会执行netstat -an命令去查看每个端口或者进程连接国外ip地址情况。将netstat -an结果贴到工具中,点击“查询ip对应物理地址”按钮,程序就会在每一行结果后面,添加上每个ip地址对应的国家、城市、经纬度、国外大学等物理地址,方便蓝队人员快速定位出存疑的ip、端口、进程,而且此功能无需联网使用,断网情况下仍然可以用。本次更新优化了查询速度,基本上秒出结果,同时对国外的IP地址进行了标黄处理,方便查看

b52e7054534f3a20177bc52b184300aa.png

  • Java反序列化数据包分析功能

此功能可以直接对java反序列化数据包进行解包分析,参考了SerializationDumper工具的代码。

8b27a5905cd946c5a4e3bfbadc3f6dd8.png

  • 冰蝎及哥斯拉webshell流量解密功能

编写这个功能耗费了我很大的精力,对于冰蝎webshell,从流量中找到秘钥即可解密。对于哥斯拉webshell,目前只支持java型webshell流量解密,其它功能后续再加上。由于哥斯拉低版本的1.x-2.x与3.x-4.x版本的流量加密过程稍微有点不一样,因此解密功能分开写了。暂不支持冰蝎4.x的解密,后续会加上。

371410cdb66a32ee7d9062a87f56330a.png

如下图所示,可以清晰看到攻击者具体进行了哪些操作,方便大家在编写蓝队分析报告,直观地将危害性反馈给甲方客户。

7ca43ce9594de04de400a88820daffee.png

  • 在Jar包中搜索指定类名

对于蓝队人员,此功能可以在指定的jar包目录中筛选出含有恶意类名的jar包文件,现在很多红队人员制作的不死内存马,会将jar包中的class文件修改掉,关机重启后内存马仍然可用,那么这个分析功能会非常有用。

对于红队人员,在编写调试0day或者Nday的POC时,比如说weblogic中间件,它所包含的依赖jar包可能有上千个,查找存在漏洞的类究竟依赖于哪个jar包是非常头痛的一件事,这个工具可以帮您解决这个问题。在编写调试weblogic的poc时,ABC_123就是使用这个功能查找指定jar包依赖的。

8803de01d3ba6523d35a00a89a2371b2.png

  • 解密Shiro数据包/CAS数据包/Log4j2数据包功能

对于设备告警的Shiro反序列化攻击行为,部分蓝队分析人员,对Shiro反序列化攻击做不了研判工作,难以辨别是否是攻击行为,还是正常的业务行为,还是设备误报。于是我在解密数据包的同时,加入了数据包分析功能,可以快速研判是否有反序列化攻击行为。

4b531f3e36d181f1e42c921b0fc6ff1a.png

如下图所示,该功能可以手工指定key对shiro数据包进行分析。

3b8d61a86ce4884811730dce3f35b6fb.png

该功能可以解密日常遇到的攻击者用于绕过waf的加密混淆的log4j2的payload,通过此功能,蓝队分析人员可以得到攻击者的一个外网ip地址。如果遇到解不了的payload,记得公众号给我留言。

eb40f256a2b671352be8f49201575835.png

部分设备遇到CAS数据包就会告警,蓝队人员又无法确定是否是误报,本功能就是为了解决这个问题而写的,使用CAS默认秘钥对数据包进行解密,解密后就可以判断出是否是反序列化攻击了。

1fdb4f932e0c467e3e65668a441d88e0.png

  • 编码/解码工具

在蓝队分析工作中,不少朋友反映没有一款好用的编码/解码工具,不是功能有bug,就是功能不全。比如说最简单的URL编码、16进制的Hex编码、Base64编码,很多工具就没有考虑到中文字符的GB2312、UTF-8编码问题,导致解密结果不正确或者是乱码。于是我仔细研读了网上的关于编码/解码的文章,对常用的编码/解码功能进行调试,写成了如下功能。看后续大家反馈,如果好用的话,我可以把“编码/解码”功能单独拎出来写一个工具,主要功能如下。

 1   更改软件界面,加入GB2312、UTF-8、GBK、BIG5、ISO-8859-1、GB18030等编码库,解决中文汉字在编码解码过程中产生的乱码问题。

 2   将“becl编码文件功能”中的becl编码类更换为“回忆飘如雪”师傅编写的Java类,解决部分JDK由于缺失相应的class文件而无法Becl编码的问题。

 3   新增“Hex编码二进制文件”功能,可以将二进制文件编码成16进制格式。

 4   将Base64编码功能统一更换为第三方jar包,使其通用性更强。

 5   支持将二进制文件转为byte数组格式。

4d3c82a588fdcdca0dffc5e2bc894485.png

同时还可以对二进制文件进行base64编码、hex16进制编码、BECL编码、转为byte数组等操作。

388a0703133714d9135f86f4cf753f05.png

关注公众号"希潭实验室”,回复数字“0716”,即可得到此蓝队辅助工具箱V0.58的下载地址。

 Part3 总结 

1.  后续还会继续更新这个工具,有好的建议可以在公众号后台给我留言。

2.  冰蝎4.x、哥斯拉数据包解密功能,后续有时间会更新。

3.  后续会加入一些威胁情报检索功能,敬请关注。

99d3d2342e439327e655639844c9e161.png

公众号专注于网络安全技术分享,包括APT事件分析、红队攻防、蓝队分析、渗透测试、代码审计等,每周一篇,99%原创,敬请关注。

Contact me: 0day123abc#gmail.com(replace # with @)

猜你喜欢

转载自blog.csdn.net/m0_71692682/article/details/131757783
今日推荐