不乱于心,不困于情。
不畏将来,不念过往。如此,安好。

HW防守 | 基于冰蝎的特征检测

前言

临近HW,作为萌新的我在网上找了许多大佬们关于“冰蝎”流量特征的文章,以此作为分享,在我们正式HW时,可能会有所帮助,当监控设备发现这些流量,作为防守方也能做出准确的判断。避免丢分甚至服务器被端

本文内容大多来自网络收集(出处会标在下文)如有问题还望各位大佬指正。

莫要喷俺

0x00 简介

“冰蝎”是一款基于Java开发的动态加密通信流量的新型Webshell客户端。

老牌 Webshell 管理神器——中国菜刀的攻击流量特征明显,容易被各类安全设备检测,实际场景中越来越少使用,加密 Webshell 正变得日趋流行。由于通信流量被加密,传统的 WAF、IDS 设备难以检测,给威胁狩猎带来较大挑战。冰蝎其最大特点就是对交互流量进行对称加密,且加密秘钥是由随机数函数动态生成,因此该客户端的流量几乎无法检测。冰蝎目前最新版本为v2.0.1,兼容性已经日益完善,包括虚拟终端、Socks代理、文件管理、反弹shell、数据库管理等强大的功能,方便部署使用。

0x01 “冰蝎”获取秘钥的过程

图片来自红蓝对抗——加密Webshell“冰蝎”攻防

冰蝎在连接webshell的时,会对webshell进行两次请求访问

图片

为什么进行两次访问?在别的文章没有看到关于这个问题的答案,于是去反编译冰蝎源码

图片通过对代码阅读,可以发现冰蝎为了实现可以在webshell内添加任意内容 (比如gif89a子类的文件头或者其它标示字符) 冰蝎在初始化密钥时会对webshell进行两次访问,然后比较两次页面返回的差异,把两次请求都相同的字符记录一个位置,后续加密会用到这两个位置(beginIndex,endIndex)
图片 图片)
如图,根据数据包,beginIndex:8 endIndex:4 (含换行),冰蝎开始从数据流中截取被加密的数据从下标8开始到(数据包总长度-4)

Waf可以针对于返回类型为 “text/html” 的数据包中加一些空格或者换行,来扰乱冰蝎的数据包,导致冰蝎无法运行。

(为什么要对返回类型为 “text/html” 的扰乱,别的格式不可以吗?

答案:jsp默认返回类型就是 “text/html” html添加一些空格或者换行,并不会影响网页的正常运行)

0x02 “冰蝎” 解析Cookie流程

图片

图片

图片  我们可以看到请求协议头中的Cookie字段,冰蝎在合并处理Cookie的时候没有考虑到,Cookie的一些属性 (比如 Path 或者 HttpOnly 之类或者其它的) 冰蝎直接把返回协议头中的Set-Cookie字段直接添加到下一个请求包的Cookie字段中
图片正常的请求是不会携带Cookie属性的,这可是识别冰蝎流量最直接的一种办法

0X03 “冰蝎” 动态加载 图片图片
冰蝎动态加载的原理就是每次都发送一个class字节码(其它语言也一样) 冰蝎通过asm动态修改class字节码变量内容,实现携带参数动态执行,冰蝎在获取完密钥之后(2个请求),第三个请求就是获取BasicInfo(服务器的一些信息),冰蝎的BasicInfo功能并没有动态修改参数(一个获取服务器信息的能有啥参数),这会导致每次获取BasicInfo的数据包都是固定的大小。

0x04 UserAgent字段(可绕过

冰蝎内置了十余种UserAgent,每次连接shell会随机选择一个进行使用。

以下UserAgent列表是从冰蝎的jar包中提取的,可见大多是比较早的浏览器,现在很少有人使用。而且有些国产浏览器甚至精确到了小版本,众所周知,很多国产浏览器是默认自动更新,正常用户很少用过早的版本,因此可以作为强特征使用。

如果发现历史流量中同一个源IP访问某个URL时,命中了以下列表中多个UserAgent,那基本确认就是冰蝎了。

    Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1(KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1
    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0)Gecko/20100101 Firefox/6.0
    Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.50(KHTML, like Gecko) Version/5.1 Safari/534.50 ” BOpera/9.80 (Windows NT6.1; U; zh-cn) Presto/2.9.168 Version/11.5
    Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64;x64; Trident/5.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; Tablet PC 2.0; .NET4.0E)
    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64;Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;Media Center PC 6.0; .NET4.0C; InfoPath.3)
    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1;Trident/4.0; GTB7.0)
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1) , 7
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Mozilla/5.0 (Windows; U; Windows NT 6.1; )AppleWebKit/534.12 (KHTML, like Gecko) Maxthon/3.0 Safari/534.12
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64;Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64;Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E; SE 2.X MetaSr 1.0)
    Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.33 Safari/534.3 SE 2.XMetaSr
    Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64;Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)
    Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML,like Gecko) Chrome/13.0.782.41 Safari/535.1 QQBrowser/6.9.11079.20
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64;Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E) QQBrowser/6.9.11079
    Mozilla/5.0 (compatible; MSIE 9.0; WindowsNT 6.1; WOW64; Trident/5.0)

同样,UserAgent可由黑客自定义,因此该特征可能会被绕过。

0x05 总结

WAF可以对一个ip连续访问2次的数据包进行截取,比对相同字符,比对之后,截取两次不同的数据,如果剩下的是16位的key,就可以证明这两个数据包就是冰蝎发出的,第三个数据包通过“冰蝎”解析cookie流程“冰蝎”动态加载中的一些bug,可以100%的匹配到冰蝎流量,不会误报。

0x06 参考链接

https://mp.weixin.qq.com/s/ZD34UQ0gP5cvDctVoIatIA // HACK学习呀 BeichenDream https://www.freebuf.com/articles/web/216133.html https://zhuanlan.zhihu.com/p/135227454 https://blog.csdn.net/dianzhongsou2379/article/details/100599116 https://www.cnblogs.com/guojia000/p/11641023.html https://blog.csdn.net/qq_36334464/article/details/99978193

这里推荐一位大佬的文章聚合平台

所有资料应有尽有

http://wechat.doonsec.com

转自:黑白之道

赞(0) 打赏
未经允许不得转载:seo优化_前端开发_渗透技术 » HW防守 | 基于冰蝎的特征检测

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏