Part1 前言
最近几年各种攻防演习比赛越来越多,网络攻击事件越来越频繁,各种加密变形的漏洞利用payload的出现,让蓝队分析难度也越来越高。在最近几年参加的几次蓝队分析工作中,我陆续写了各种各样的小工具,于是就把这些小工具集合起来,形成了这么一个“蓝队分析辅助工具箱”分享给大家使用,重点解决蓝队分析工作中的一些痛点,比如说让大家头疼的加密数据包解密问题,netstat -an无ip对应的国家与城市的物理地址问题等,未来会持续更新(文末有此工具的下载地址)。
Part2 使用说明及功能介绍
Shiro反序列化数据包解密及分析功能
每天监控设备都会告警各种各样的Shiro反序列化攻击,由于数据包是加密的,所以蓝队人员遇到了也会头疼,而且部分蓝队分析人员,对Shiro反序列化攻击做不了研判工作,难以辨别是否是攻击行为,还是正常的业务行为。于是我在解密数据包的同时,加入了数据包分析功能,可以研判是否有反序列化攻击行为。
Log4j2反序列化解密功能
用于解密日常遇到的攻击者用于绕过waf的加密的log4j2的payload。如果遇到解不了的payload,记得公众号给我留言。
端口连接添加ip的物理地址功能
将netstat -an结果贴到工具中,点击“查询ip对应物理地址”,程序会在每一个结果后面,加上ip地址对应的国家城市的物理地址,方便大家做蓝队分析工作。这个功能我原本想用GeoLite2库来编写,但是其依赖jar包与工具中的jar包有冲突,所以暂时用其它方法实现的,后续有时间再更换。
CAS反序列化数据包解密及分析功能
CAS反序列漏洞的数据包也是加密的,这导致即使监控设备告警,蓝队人员也半信半疑,无法判断到底是不是误报。本功能就是为了解决这个问题而写的,使用CAS默认秘钥对数据包进行解密,解密后就可以判断出是否是反序列化攻击了。当然,对于新版本的CAS数据包是解密不了的,因为秘钥变成随机生成的了。攻击者只有在拿到网站源代码或者是找到网站的配置文件,才能得知CAS新版本的秘钥。
冰蝎及哥斯拉流量解密功能
对于冰蝎和哥斯拉的数据包解密,我逆向分析了冰蝎和哥斯拉的代码,参考了网上的各种解密工具,编写了这个解密功能。对于解密冰蝎,基本上拿到秘钥都可以正确解密。对于哥斯拉,目前只支持解密JSP、JSPX型的webshell,支持哥斯拉3.x及4.x版本,不支持哥斯拉1.x及2.x版本,因为哥斯拉低版本的加密算法不一样。
后续有时间再更新这个功能吧,因为逆向分析不同版本、不同脚本的冰蝎及哥斯拉webshell,实在是太费精力了。
如下图所示,哥斯拉请求包和返回包算法不一样,需要点击相应的按钮进行解密。
编码/解码功能
在蓝队分析工作中,不少朋友反映没有一款好用的编码/解码工具,不是功能有bug,就是功能不全。比如说最简单的URL编码和16进制的Hex编码,很多工具就没有考虑到中文字符的各种编码问题,导致解密结果不正确。BASE64解密功能,有的工具没考虑到中文GB2312及UTF-8编码问题,导致解密出来的数据包是乱码。于是我仔细研读了网上的关于编码/解码的文章,对常用的编码/解码功能进行调试,写成了如下功能。看后续大家反馈,如果好用的话,我可以把“编码/解码”功能单独拎出来写一个工具。
关注“小艾搞安全”公众号后,回复数字“bt”,即可得到此蓝队工具的下载地址。后期我会继续维护这个蓝队小工具,大家有什么好的建议或者想法,可以给我留言。
Part3 总结
1. 后续还会继续更新这个工具,有好的建议可以在公众号后台给我留言。
2. 冰蝎、哥斯拉数据包解密功能,后续有时间会更新。
【往期推荐】
漏洞复现 | CVE-2022-24990信息泄露+RCE(POC已公开)
漏洞复现 | CVE-2022-0847内核提权漏洞(POC已公开)