-
-
[原创]流量分析学习之路--冰蝎流量特征分析
-
发表于: 2024-8-9 23:13 4599
-
冰蝎是一个使用Java语言编写的新型Webshell客户端,区别于中国菜刀它通过动态加密其通信流量,使得传统的网络安全设备,如Web应用防火墙(WAF)和入侵检测系统(IDS),难以对其进行有效检测。这种加密方式大大增加了网络威胁狩猎的难度。冰蝎的一个显著特性是,它对用户交互过程中的数据流量进行对称加密,加密过程使用的密钥是随机生成的,这使得其通信流量很难被检测到。
分为两个阶段:密钥协商,加密传输
1、攻击者首先通过GET或者POST传参的方法对服务器请求密钥,譬如:http://127.0.0.1/webshell.aspx?password=6
2、服务器使用生成的随机数的MD5值的前十六位当作密钥K并且存储在全局变量$_SESSION中,并且发给攻击者
1、攻击者得到了密钥K,将K作为密钥进行AES128或者异或加密加密手法将执行命令发送到服务段
2、服务端得到密文之后使用K进行解密
3、将得到的执行结果使用K进行AES加密之后传回攻击者
详细流程如图:
Behinder在通信过程中通常会携带accept以下字段;Accept: application/json, text/javascript, /; q=0.01
在这里面他可以接收任何文件,但是倾向于application/json, text/javascript,上图就是冰蝎4.0的一段流量,在这里请求包的第二行的Accept字段会体现这一特征
很固定,Content-type: application/x-www-form-urlencoded
因为Contend-Type字段很固定,但是这个通常不能决定性的说明什么,这个可以作为一个很好的辅助特征验证手段
Bihinder设置了10种UA头,每次连接会使用其中一个。
下面流量中就使用了Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0这个UA头
nort编写可以用content:“User-Agent”;content:“浏览器版本”。来匹配相应的十个浏览器。发现异常流量的时候去寻找UA头是不是匹配这十个中的一个
长度一般很大,如:Content-Length: 4248
看请求包如果发现Content-Length字段很大,可以作为弱特征去辅证为冰蝎流量
在请求包里面会有一个Connection:Keep-Alive字段代表长连接,这个在前文提到过
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)