故事背景
最近红蓝军演练时期,各路神仙大表哥各显神通,各种操作让人眼花缭乱。其中,加密流量尤其受红队喜爱,尤其是“冰蝎3.0”。目前市面上大部分解决方案是基于流量进行检测,加密流量只需要做微小的改动,检测方式就会失效,往往等内网沦陷,才做出一些被动的响应。面对0day及其他未知威胁,防守方真的只能坐以待毙吗?
冰蝎3.0的前世今生
“冰蝎”是一个动态二进制加密网站管理客户端。在实战中,第一代webshell管理工具”菜刀”的流量特征非常明显,很容易就被安全设备检测到。基于流量加密的webshell变得越来越多,”冰蝎”在此应运而生。最新版的冰蝎Shell管理工具在整个交互过程都采用加密传输,相比于2.0的版本,冰蝎3.0去除了协商密钥的过程、新增内存马注入、界面由swt改为javafx,杀伤力进一步扩大且不易清除。
4月8日更新的冰蝎3.0Beta7版本介绍
斗象科技能力中心团队已在第一时间对冰蝎Behinder_v3.0 Beta 7进行流量分析、特征检测。目前,斗象智能安全PRS-NTA产品或大圣云沙箱均可准确识别冰蝎v3.0 Beta 7及其变形的webshell。
分析过程
最新版本的冰蝎已不再使用使用密钥协商机制,而是使用内置的密钥进行加密传输,URI中也不再通过URI参数传输会话秘钥。总结冰蝎在流量交互中的特征,主要可分为两类:
-
可绕过特征,这类特征攻击者可通过构造报文进行绕过,致使设备检测不到冰蝎 webshell 特征。
-
非可绕过特征,攻击者在某些情景无法更改 HTTP 某些字段,致使有固定报文字段可供设备检测。
可绕过特征
1.Accept字段
冰蝎中使用的Accept字段与常规浏览器使用的不同,且每次请求使用的Accept内容都相同。但攻击者可修改请求头来绕过,不能作为关键的检测字段。
2.UserAgent字段
冰蝎中内置了25条User-Agent,每次连接 shell 会随机选择一个进行使用。如果发现历史流量中同一个源IP访问某个URL时,命中了以下列表中多个 UserAgent ,可基本确认为冰蝎特征。但攻击者可修改请求头来绕过。
3.长连接
冰蝎通讯默认使用长连接,避免了频繁的握手造成的资源开销。默认情况下,请求头和响应头里会带有 Connection。Connection: Keep-Alive
02 不可绕过特征
1. URI中包括可执行脚本文件
Webshell常见的脚本文件后缀为.php/.aps./.jsp/.jspx/.aspx/等
2. 较长的base64编码的请求包
在加密通讯时,php/jsp shell 会提交base64编码后的请求数据,可以用正则进行base64的长度匹配
3.硬编码的Cache-Control及Referer
冰蝎中内置请求头Cache-Control,且Referer紧随其后,可以通过匹配Cache-Control: max-age=0,并在其后关联Referer字段,以降低误报
4.请求头不包含Accept-Encoding字段
通过分析,冰蝎的所有请求包中未包含Accept-Encoding字段,可以通过正则排除该字段。
总结规则
使用单个特征误报较高,但多个特征配合使用可降低误报,PRS搭配使用多个特征,进一步提升特征检测的准确性。目前支持的检测内容如下:
大圣云沙箱:即时可用
对于尚未安装PRS-NTA产品或意图提升对冰蝎3.0检测精准度的甲方,可使用斗象科技提供大圣云沙箱服务。云沙箱集成了独立webshell检测引擎,采用机器学习与高级统计分析算法,能够准确识别冰蝎v3.0 Beta 7及其变形的webshell,对抗有效高度混淆的webshell、自定义webshell等。
来源:freebuf.com 2021-04-09 15:52:35 by: 斗象科技官方
请登录后发表评论
注册