检测工具&资料
观城ens:恶意加密流量检测 | 观成ENS有效检出三款热门黑客工具(冰蝎、哥斯拉、CobaltStrike) - 知乎 (zhihu.com)
参考资料:
webshell管理工具的流量特征分析(菜刀、蚁剑、冰蝎、哥斯拉)_面试题 蚁剑冰蝎菜刀哥斯拉流量特征-CSDN博客
菜刀
请求体中,采用url编码+base64编码,payload部分是明文传输
1,请求包中:ua头为百度,火狐
2,请求体中存在eavl,base64等特征字符
3,请求体中传递的payload为base64编码,并且存在固定的QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7J
冰蝎
冰蝎1.0
有一个密钥协商过程,这个过程是明文传输,并且有两次流量,用来校验
ClassLoader,getClass().getClassLoader()等字符特征
冰蝎2.0
- 请求包存在:Accept: text/html, image/gif, image/jpeg, ; q=.2, /; q=.2
- 所有请求 Cookie的格式都为: Cookie: PHPSESSID=; path=/;
- 返回包存在16位key
- 使用 AES加密+base64编码发起三次请求。
第一次GET请求服务端产生密钥写入 session,session 和当前会话绑定,不同的客户端的密钥也是不同的。第二次GET请求是为了获取密钥 key,服务端会生成16位的AES密钥。第三次使用 key 的AES加密进行通信,通信也采用了base64编码。
冰蝎3.0
- 请求包中content-length 为5740或5720
- 伴随着大量的content-type:application什么什么,无论GET还是POST,请求的http中,content-type为application/octet-stream
取消了动态密钥获取的请求,AES的密钥直接固定为连接密码32位md5的前16位,默认连接密码是"rebeyond"(即密钥是md5('rebeyond')[0:16]=e45e329feb5d925b)。服务端和客户端不再进行密钥的交互传递。两次请求中,第一次请求用于判断是否可以建立连接。第二次发送 phpinfo 等代码执行,获取网站的信息。
冰蝎4.0
- Accept: application/json, text/javascript, */*; q=0.01
- Content-type: Application/x-www-form-urlencoded
- Connection:Keep-Alive
- 有固定的请求头和响应头,请求字节头:dFAXQV1LORcHRQtLRlwMAhwFTAg/M ,响应字节头:TxcWR1NNExZAD0ZaAWMIPAZjH1BFBFtHThcJSlUXWEd
- webshell都有“e45e329feb5d925b” 一串密钥
蚁剑
- ini_set
- ini_set_time
- ini_set_limit
- @ini_set(“display_errors”,“0”)
哥斯拉
哥斯拉支持多种加密方式,可以根据需求选择不同的加密方式。
- Accept:text/html, image/gif, image/jpeg, *; q=.2, /; q=.2。)可修改
- Cookie中有一个非常关键的特征,最后会有个分号
- 会把一个32位的md5字符串按照一半拆分,分别放在base64编码的数据的前后两部分。整个响应包的结构体征为:md5前十六位+base64+md5后十六位。