资讯详情
Fortinet防特网 威胁研究 | FortiWeb关于“冰蝎3.0”的防御指南 科汇科技 飞塔企业级安全产品 分销商
关于冰蝎3.0
“冰蝎”是一个动态二进制加密网站管理客户端。在实战中,第一代webshell管理工具”菜刀”的流量特征非常明显,很容易被安全设备检测到。追溯到2018年,冰蝎开发团队rebeyond基于流量加密的webshell优化思路,”冰蝎”在此应运而生,并陆续发布两个大版本。冰蝎采用B/S架构,分别针对java、.net、php的提供服务器端和客户端程序。
2020年7月份的HW行动,rebeyond团队突然发布冰蝎3.0版本,并持续更新Beta版本,使诸多检查策略或相应的安全检查设备猝不及防。大多数安全设备原有对冰蝎1.0或2.0的安全策略的强特征识别失效。
故此,本文将阐述:通过WAF设备FortiWeb如何对冰蝎3.0进行有效的防御。
(附,冰蝎3.0下载链接:https://github.com/rebeyond/Behinder)
冰蝎3.0之改变
冰蝎发布3.0版本,主要做了以下改动:取消动态密钥获取,目前很多WAF等设备都做了冰蝎2.0的流量特征分析。所以3.0取消了动态密钥获取;界面由swt改为javafx。
01
密钥生成
根据readme,AES密钥变为md5("pass")[0:16],全程不再交互密钥生成。
只有在无动态密钥交互失败后,才会进入常规的密钥交互阶段。使用密码的md5结果的前16位。
02
特征分析
content-type
在请求的http中,content-type一定为application/octet-stream。否则就会出现非预期http编码的情况。该请求头是冰蝎3.0中写死的部分,除非反编译,不然很难修改。根据上面的结论,Content-Type: application/octet-stream属于强特征。
user-Agent
该特征属于弱特征。普通用户很容易就可以修改。
冰蝎3.0 每次请求都会随机选择一个user-Agent。但是如果用户默认不提供ua头,则从系统中随机选择一个ua头。冰蝎3.0内置的默认17个userAgent都比较老,属于N年前的浏览器产品。现实生活中很少有人使用。
附,内置的User Agent头:
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
Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.9.168 Version/11.50
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 CLR 3.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)
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)
冰蝎3.0之利用与防御
01
冰蝎3.0之利用
一如既往,webshell的利用基于webshell服务端程序被上传到指定服务器,通过webshell客户端进行连接后,即可对指定服务器进行进一步的控制。俗称“挂马”。冰蝎3.0也不例外。冰蝎3.0不同版本利用的基础为服务器程序上传并可运行,webshell客户端与服务器成功通信。
02
冰蝎3.0之防御
文件上传限制
FortiWeb缺省定义文件安全策略,有效防御webshell文件与病毒文件等非法上传行为。让冰蝎3.0利用的前提条件荡然无存。
特征防护
后台Web服务器不幸种下冰蝎3.0服务端代码并能运行的情况下,应用FortiWeb防护策略检测冰蝎3.0的通信,并实现阻断。
效果#1:基于PHP的冰蝎3.0客户端连接服务端通信失败,如图:
“冰蝎”是一个动态二进制加密网站管理客户端。在实战中,第一代webshell管理工具”菜刀”的流量特征非常明显,很容易被安全设备检测到。追溯到2018年,冰蝎开发团队rebeyond基于流量加密的webshell优化思路,”冰蝎”在此应运而生,并陆续发布两个大版本。冰蝎采用B/S架构,分别针对java、.net、php的提供服务器端和客户端程序。
2020年7月份的HW行动,rebeyond团队突然发布冰蝎3.0版本,并持续更新Beta版本,使诸多检查策略或相应的安全检查设备猝不及防。大多数安全设备原有对冰蝎1.0或2.0的安全策略的强特征识别失效。
故此,本文将阐述:通过WAF设备FortiWeb如何对冰蝎3.0进行有效的防御。
(附,冰蝎3.0下载链接:https://github.com/rebeyond/Behinder)
冰蝎3.0之改变
冰蝎发布3.0版本,主要做了以下改动:取消动态密钥获取,目前很多WAF等设备都做了冰蝎2.0的流量特征分析。所以3.0取消了动态密钥获取;界面由swt改为javafx。
01
密钥生成
根据readme,AES密钥变为md5("pass")[0:16],全程不再交互密钥生成。
只有在无动态密钥交互失败后,才会进入常规的密钥交互阶段。使用密码的md5结果的前16位。
02
特征分析
content-type
在请求的http中,content-type一定为application/octet-stream。否则就会出现非预期http编码的情况。该请求头是冰蝎3.0中写死的部分,除非反编译,不然很难修改。根据上面的结论,Content-Type: application/octet-stream属于强特征。
user-Agent
该特征属于弱特征。普通用户很容易就可以修改。
冰蝎3.0 每次请求都会随机选择一个user-Agent。但是如果用户默认不提供ua头,则从系统中随机选择一个ua头。冰蝎3.0内置的默认17个userAgent都比较老,属于N年前的浏览器产品。现实生活中很少有人使用。
附,内置的User Agent头:
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
Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.9.168 Version/11.50
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 CLR 3.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)
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)
冰蝎3.0之利用与防御
01
冰蝎3.0之利用
一如既往,webshell的利用基于webshell服务端程序被上传到指定服务器,通过webshell客户端进行连接后,即可对指定服务器进行进一步的控制。俗称“挂马”。冰蝎3.0也不例外。冰蝎3.0不同版本利用的基础为服务器程序上传并可运行,webshell客户端与服务器成功通信。
02
冰蝎3.0之防御
文件上传限制
FortiWeb缺省定义文件安全策略,有效防御webshell文件与病毒文件等非法上传行为。让冰蝎3.0利用的前提条件荡然无存。
特征防护
后台Web服务器不幸种下冰蝎3.0服务端代码并能运行的情况下,应用FortiWeb防护策略检测冰蝎3.0的通信,并实现阻断。
效果#1:基于PHP的冰蝎3.0客户端连接服务端通信失败,如图: