①菜刀流量特征:**(最开始是明文传输,后来采用base64加密)****
PHP类WebShell链接流量
②蚁剑(PHP用base64加密):
PHP类WebShell链接流量(流量最中明显的特征为@ini_set("display_errors","0"))
将蚁剑的正文内容进行URL解码后,流量最中明显的特征为@ini_set("display_errors","0");这段代码基本是所有WebShell客户端链接PHP类WebShell都有的一种代码,但是有的客户端会将这段编码或者加密,而蚁剑是明文,所以较好发现,同时蚁剑也有eval这种明显的特征。
蚁剑绕过特征流量 (以0x开头的参数名)
由于蚁剑中包含了很多加密、绕过插件,所以导致很多流量被加密后无法识别,但是蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以 0x ... 这种形式(下划线可替换为其他)所以,**<u>以0x开头</u>**的参数名,后面为加密数据的数据包也可识别为蚁剑的流量特征。
③冰蝎流量特征:(AES对称加密)通过HTTP请求特征检测
冰蝎3.0
-
content-type:
Content-Type: application/octet-stream
-
Accept&Cache-Control
冰蝎3.0中,默认只会设置ua请求头,而其他三种一般不会设置。而且正常用户访问,也不会设置的如此简单。尤其是accept头
-
- Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 - Cache-Control: no-cache - Pragma: no-cache - User-Agent: java/1.8
-
-
内置16个ua头
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) 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.X MetaSr 1.0 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.201 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.201 Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
-
content-length 请求长度
冰蝎3.0虽然对请求的内容加密,但是被加密的内容中,并没有随机填充的部分。
冰蝎中,任何请求,最终都会调用
Utils.getData
函数,对请求的参数加密。对于上传文件,命令执行来讲,加密的参数不定长。但是对于密钥交互,获取基本信息来讲,payload都为定长,且无随机padding。
冰蝎4.0
流量特征
①Accept: application/json, text/javascript, /; q=0.01
②Content-type: Application/x-www-form-urlencoded
可以把这个字段作为一个弱特征,辅助其他特征来检测
③冰蝎设置了10种User-Agent,每次连接shell时会随机选择一个进行使用。
④端口 :49700左右
冰蝎与webshell建立连接的同时,javaw也与目的主机建立tcp连接,每次连接使用本地端口在49700左右,每连接一次,每建立一次新的连接,端口就依次增加。
⑤HP webshell 中存在固定代码
$post=Decrypt(file_get_contents("php://input"));
eval($post);
content字段中,将eval($post)作为流量特征纳入。
⑥长连接 Connection: Keep-Alive
⑦有固定的请求头和响应头
请求字节头
dFAXQV1LORcHRQtLRlwMAhwFTAg/M
响应字节头
TxcWR1NNExZAD0ZaAWMIPAZjH1BFBFtHThcJSlUXWEd
⑧连接密码
默认时,所有冰蝎4.0 webshell都有“e45e329feb5d925b” 一串密钥。该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond
⑨webshell特征
JSP webshell代码特征
PHP webshell代码特征
⑩请求和响应
④哥斯拉流量特征:*(base64加密)*
*特征检测*
1、发送一段固定代码(payload),http响应为空 2、发送一段固定代码(test),执行结果为固定内容 3、发送一段固定代码(getBacisInfo)