第29篇:蓝队分析辅助工具箱V0.36发布,新增Java字节码反编译功能

2022-12-06 10:39:54 浏览数 (1)

Part1 前言

前一阵子写了这么一款蓝队分析辅助工具箱,没想到下载量还挺大。于是就抽出时间修复了一些bug,还新增了很多功能。“蓝队分析辅助工具箱”就是把我平时写的蓝队小工具集合起来形成的,重点解决蓝队分析工作中的一些痛点,比如说让大家头疼的冰蝎、哥斯拉加密数据包解密问题、netstat -an返回结果中ip无对应的物理地址问题、各种编码/解码问题、内存马解码及Becl反编译问题等,未来会持续更新(文末有此工具的下载地址)。

Part2 使用说明及功能介绍

  • 新增Java字节码反编译功能

在流量分析或者日志分析过程中,很多的攻击Payload是经过Base64编码、BECL编码的Java字节码,这些编码中可能会包含内存马写入或者Java回显功能等关键信息,但是处理起来特别麻烦。于是ABC_123编写了如下字节码反编译功能,调用主流的Idea、cfr、Procyon、jd-gui等反编译工具,方便蓝队人员在反编译过程中进行对比。

如下图所示,可以直接对BECL编码的class文件进行反编译,并且对反编译后的java代码结果进行高亮显示。

如下图所示,可以直接对Base64编码的class文件进行解码,并且反编译。

如下图所示,可以直接对单个class文件进行反编译。

  • 更新编码/解码功能

在蓝队分析工作中,不少朋友反映没有一款好用的编码/解码工具,不是功能有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数组格式。

如下图所示,将选择的文件转换成becl编码。

如下图所示,将选择的文件转为Byte数组形式。

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

对于冰蝎和哥斯拉的数据包解密,我逆向分析了冰蝎和哥斯拉的代码,参考了网上的各种解密工具,编写了这个解密功能。对于解密冰蝎,基本上拿到秘钥都可以正确解密。对于哥斯拉,目前只支持解密JSP、JSPX型的webshell,支持哥斯拉3.x及4.x版本,同时也支持哥斯拉1.x及2.x版本。哥斯拉低版本的1.x-2.x与3.x-4.x版本的流量加密过程稍微有点不一样,因此解密功能分开写了

后续有时间再更新这个功能吧,因为逆向分析不同版本、不同脚本的冰蝎及哥斯拉webshell,实在是太费精力了。

如下图所示,可以解密冰蝎流量。

  • 端口连接解析ip的物理地址

解决上一个版本查询速度太慢的问题,更换ip地址库,优化查询速度,查询秒出结果。重要的是,解析出每个外网ip对应的国家、城市地址,方便一眼定位出存疑的ip、端口、进程。

将netstat -an结果贴到工具中,点击“查询ip对应物理地址”,程序会在每一个结果后面,加上每个外网ip地址所解析出来的国家城市的物理地址,方便大家做蓝队分析工作。

  • 解密CAS功能

CAS反序列漏洞的数据包也是加密的,这导致即使监控设备告警,蓝队人员也半信半疑,无法判断到底是不是误报。本功能就是为了解决这个问题而写的,使用CAS默认秘钥对数据包进行解密,解密后就可以判断出是否是反序列化攻击了。当然,对于新版本的CAS数据包是解密不了的,因为秘钥变成随机生成的了。攻击者只有在拿到网站源代码或者是找到网站的配置文件,才能得知CAS新版本的秘钥。

  • Log4j2反序列化解密功能

用于解密日常遇到的攻击者用于绕过waf的加密混淆的log4j2的payload。如果遇到解不了的payload,记得公众号给我留言。

  • Shiro反序列化数据包解密及分析功能

每天监控设备都会告警各种各样的Shiro反序列化攻击,由于数据包是加密的,所以蓝队人员遇到了也会头疼,而且部分蓝队分析人员,对Shiro反序列化攻击做不了研判工作,难以辨别是否是攻击行为,还是正常的业务行为。于是我在解密数据包的同时,加入了数据包分析功能,可以研判是否有反序列化攻击行为

Part3 总结

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

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

专注于网络安全技术分享,包括红队、蓝队、日常渗透测试、安全体系建设等

每周一篇,99%原创,敬请关注

0 人点赞