最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

常见WebShell的流量特征

来源:博客园

常见WebShell的流量特征

菜刀

payload的特征:


(资料图片仅供参考)

  1. php:
  2. asp:<%eval request("caidao")%>
  3. asp.net:<%@Page Language="Jscript"%><%eval(Request.Item["caidao"],"unsafe");%>

数据包流量特征:

  1. 请求包中:ua头为百度
  2. 请求体中有eval,base64等特征字符
  3. 请求体中传递的payload为base64编码,并且是固定的

蚁剑

payload的特征:

  1. php中使用assert,eval执行
  2. asp使用eval执行
  3. jsp中使用的是Java类加载(ClassLoader),同时会带有base64编码解码等字符特征

数据包流量特征:请求体中一定有@in_set("display_errors","0");@set_time_limit(0)开头,后面存在base64等字符

冰蝎2.0

payload特征:

先base64加密,再经过AES对称加密全部代码,最后传输

1、 Accept字段

Accept是HTTP协议常用的字段,但冰蝎默认的Accept字段的值很特殊,而且存在于冰蝎的任何一个通讯阶段

Accept: text/html,image/gif, image/jpeg, *; q=.2, */*; q=.2
2、 User agent字段

冰蝎内置了17种ua头,每次连接shell都会随机一个进行使用,如果发现历史流量中同一个IP访问URL的时候,命令了以下列表中的多个ua头,可以基本确定为冰蝎

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.9.168 Version/11.50Mozilla/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.12Mozilla/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.0Mozilla/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

但是用户可以很容易的修改

3、 长连接

默认情况下,请求头和响应头里会有Connection。

Connection: Keep-Alive
4、 密钥传递时URL参数

密钥传递的时候,URI只有一个key-value型参数,Key是黑客给shell设置的密码,一般为10位以下字母和数字?pass=[三位数字]

可以使用正则防守

\.(php|jsp|asp|aspx)\?(\w){1,10}=\d{2,3}  HTTP/1.1
5、 传递的密钥

加密所使用的密钥长度为16位随机字符串,小写+数字组成

冰蝎3.0

payload特征:

先base64加密,再经过AES对称加密全部代码,最后传输

AES加密的密钥为webshell连接密码的MD5的前16位,默认连接密码是"rebeyond"(即密钥是md5("rebeyond")[0:16]=e45e329feb5d925b)

1、 Accept&Cache-Control

Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2

Cache-Control: no-cache

Pragma: no-cache

User-Agent: java/1.8

2、 User agent字段

冰蝎内置了17种ua头,每次连接shell都会随机一个进行使用,如果发现历史流量中同一个IP访问URL的时候,命令了以下列表中的多个ua头,可以基本确定为冰蝎

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.9.168 Version/11.50Mozilla/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.12Mozilla/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.0Mozilla/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

但是用户可以很容易的修改

3、content-type

该请求头是冰蝎3.0中写死的部分,除非反编译,不然很难修改

Content-Type: application/octet-stream

4、 请求中content-length

为5740或5720(可能会根据Java版本而改变)

冰蝎4.0

第一阶段:密钥协商1)攻击者通过 GET 或者 POST 方法,形如 http://127.0.0.1/shell.aspx?pass=645 的请求服务器密钥;2)服务器使用随机数 MD5 的高16位作为密钥,存储到会话的 $_SESSION 变量中,并返回密钥给攻击者。第二阶段-加密传输1)客户端把待执行命令作为输入,利用 AES 算法或 XOR 运算进行加密,并发送至服务端;2)服务端接受密文后进行 AES 或 XOR 运算解密,执行相应的命令;3)执行结果通过AES加密后返回给攻击者。

1、Accept字段
Accept: application/json, text/javascript, */*; q=0.01
2、流量特征Content-Type字段

PHP站点:Application/x-www-form-urlencodedASP站点:Application/octet-stream

3、流量特征User-agent 字段

冰蝎设置了10种User-Agent,每次连接shell时会随机选择一个进行使用

"Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36","Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.55","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0","Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36","Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0","Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko"
4、 流量特征长连接

冰蝎通讯默认使用长连接,避免了频繁的握手造成的资源开销。默认情况下,请求头和响应头里会带有 Connection。

Connection: Keep-Alive
5、流量特征固定的请求头和响应头

PHP站点默认口令Default_xor_base64协议加密流量特征,请求字节头:dFAXQV1LORcHRQtLRlwMAhwFTAg/M

响应字节头:TxcWR1NNExZAD0ZaAWMIPAZjH1BFBFtHThcJSlUXWEd

PHP站点默认口令Default_aes协议加密流量特征,请求字节头:m7nCS8n4OZG9akdDlxm6OdJevs/jYQ5/IcXK

响应字节头:mAUYLzmqn5QPDkyI5lvSp6DmrC24FW39Y4YsJhUqS7

JSP站点默认口令Default_xor_base64协议,aes_with_magic协议,Default_aes协议,加密流量特征,响应字节头:QhoVQgMXEUcUCBMHAGFZaQtuHFUVXlkWGhBcF1QVCRJ

6、流量特征连接密码

默认时,所有冰蝎4.* webshell都有“e45e329feb5d925b” 一串密钥。该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond

哥斯拉

哥斯拉(Godzilla)是一款国内流行且优秀的红队 webshell 权限管理工具,使用 java 开发的可视化客户端,shell 支持 java、php、asp 环境,通信流量使用 AES 算法加密,具有文件管理、数据库操作、命令执行、内存马、隧道反弹等后门功能。

1、cookie

在Cookie中有一个很明显的特征:最后有一个分号

2、响应体

从代码中可以看到会把一个32位的md5字符串按照一半拆分,分别放在base64编码的数据的前后两部分

整个响应包的结构体征为:md5前十六位+base64+md5后十六位

72a9c691ccdaab98fL1tMGI4YTljO/5+/PlQm9MGV7lTjFUKUdfQMDL/j64wJ2UwYg==b4c4e1f6ddd2a488

按照这样我们分开表示:

  1. md5前十六位:72a9c691ccdaab98
  2. base64:fL1tMGI4YTljO/5+/PlQm9MGV7lTjFUKUdfQMDL/j64wJ2UwYg==
  3. md5后十六位:b4c4e1f6ddd2a488

我们可以根据这个特征对其所以的数据流量进行分析甄别筛查,符合此格式的统统筛选为威胁来源

3、连接特征
  1. 请求1:发送一段固定代码(payload),返回内容为空
  2. 请求2:发送一段固定代码(test),返回内容为固定字符串,如下:72a9c691ccdaab98fL1tMGI4YTljO/79NDQm7r9PZzBiOA==b4c4e1f6ddd2a488,解密后即为ok。如果连接失败返回内容为空,且不发起请求3
  3. 请求3:发送一段固定代码(getBacisInfo),返回内容为固定字符串(对应服务器信息)

关键词: