原文:https://blog.csdn.net/eternitymd/article/details/124492261?spm=1001.2014.3001.5502
菜刀流量特征(最开始是明文传输,后来采用base64加密):
PHP类WebShell链接流量
- “eval”,eval函数用于执行传递的攻击payload,这是必不可少的;
- (base64_decode( P O S T [ z 0 ] ) ) , ( b a s e 6 4 d e c o d e ( _POST[z0])),(base64_decode( POST[z0])),(base64decode(_POST[z0]))将攻击payload进行Base64解码,因为菜刀默认是使用Base64编码,以避免被检测;
- &z0=QGluaV9zZXQ…,该部分是传递攻击payload,此参数z0对应$_POST[z0]接收到的数据,该参数值是使用Base64编码的,所以可以利用base64解码可以看到攻击明文。
注:
- 有少数时候eval方法会被assert方法替代。
- P O S T 也会被 _POST也会被 POST也会被_GET、$_REQUEST替代。
- z0是菜刀默认的参数,这个地方也有可能被修改为其他参数名。
蚁剑(PHP用base64加密):
PHP类WebShell链接流量
将蚁剑的正文内容进行URL解码后,流量最中明显的特征为@ini_set(“display_errors”,“0”);这段代码基本是所有WebShell客户端链接PHP类WebShell都有的一种代码,但是有的客户端会将这段编码或者加密,而蚁剑是明文,所以较好发现,同时蚁剑也有eval这种明显的特征。
蚁剑绕过特征流量
由于蚁剑中包含了很多加密、绕过插件,所以导致很多流量被加密后无法识别,但是蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以“_0x…=”这种形式(下划线可替换为其他)所以,以_0x开头的参数名,后面为加密数据的数据包也可识别为蚁剑的流量特征。
冰蝎(AES对称加密):
通过HTTP请求特征检测
-
冰蝎数据包总是伴随着大量的content-type:application什么什么,无论GET还是POST,请求的http中,content-type为application/octet-stream;
-
蝎3.0内置的默认内置16个ua(user-agent)头
-
content-length 请求长度,对于上传文件,命令执行来讲,加密的参数不定长。但是对于密钥交互,获取基本信息来讲,payload都为定长
哥斯拉(base64加密):
特征检测
- 发送一段固定代码(payload),http响应为空
- 发送一段固定代码(test),执行结果为固定内容
- 发送一段固定代码(getBacisInfo)