冰蝎-Behinder 各版本流量浅析
字数 1994 2025-08-11 21:26:16
冰蝎(Behinder)各版本流量特征分析与检测方法
1. 冰蝎概述
冰蝎(Behinder)是一款流行的Webshell管理工具,具有加密通信、多协议支持等特点。随着版本迭代,其流量特征也在不断变化,从最初的明显特征到后来的高度隐蔽化。
2. 冰蝎V1.0流量特征
2.1 主要特征
-
GET请求特征:
- URL格式:
/shell.php?pass=1 - User-Agent固定为:
Java/1.8.0_211
- URL格式:
-
POST请求特征:
- Content-Type:
application/octet-stream - User-Agent同样为Java版本
- Content-Type:
-
响应特征:
- Transfer-Encoding:
chunked
- Transfer-Encoding:
2.2 检测方法
-
基于GET包的检测:
- URL包含
.php?pass= - User-Agent包含
Java/*
- URL包含
-
基于POST包的检测:
- User-Agent包含
Java/* - 返回包包含
Transfer-Encoding: chunked - 请求包
Content-Type: application/octet-stream
- User-Agent包含
3. 冰蝎V2.0流量特征
3.1 通信机制
V2.0采用动态密钥协商机制,通信分为两个阶段:
-
密钥协商阶段:
- 客户端通过GET请求(
/shell.php?pass=645)获取服务器密钥 - 服务器使用随机数MD5的高16位作为密钥
- 客户端通过GET请求(
-
加密传输阶段:
- 使用协商的密钥进行AES128或XOR加密
- 存在OpenSSL扩展则使用AES,否则使用XOR
3.2 密钥协商过程
-
第一次GET请求:
- 服务端产生密钥并写入session
- 响应体包含16位密钥(小写字母+数字)
-
第二次GET请求:
- 生成另一个用于AES加密的密钥
3.3 固定特征
-
URL格式:
\\.(php|jsp|asp|aspx)\\?(\\w){1,10}=\\d{2,3}
-
密钥格式:
^[a-fA-F0-9]{16}$
-
POST数据解密后格式:
- 固定格式与相对固定长度
3.4 可绕过特征
-
Accept字段:
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
-
User-Agent:
- 内置多个UA头,但版本较老
-
Connection字段:
Connection: Keep-Alive
4. 冰蝎V3.0流量特征
4.1 主要改进
- 取消动态密钥协商,采用预共享密钥
- 默认密钥为
rebeyond的MD5前16位:e45e329feb5d925b
4.2 检测方法
-
尝试解密:
- 使用默认密钥解密POST数据
- 成功解密且包含敏感PHP函数则可判定
-
弱特征参考:
- User-Agent库扩展至25个
- Accept头固定值:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - Accept-Language固定值:
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7 - Referer中URL后的文件名纯大写或纯小写
- 包含
Cache-Control: no-cache
5. 冰蝎V4.0流量特征
5.1 主要改进
- 增加多种加密算法
- 增加附加magic魔数的AES加密方式
- UA头缩减至10个
5.2 检测方法
- 尝试默认密钥解密
- 观察以下特征:
- UA头
- Accept头
- Content-Type
- Connection: Keep-Alive
- Referer
- 客户端连接特征:
- 本地端口分布在49700左右
- 每建立新连接端口依次增加
6. 各版本对比总结
| 版本 | 密钥机制 | 主要特征 | 检测难度 |
|---|---|---|---|
| V1.0 | 固定 | Java UA、.php?pass=、chunked编码 | 容易 |
| V2.0 | 动态协商 | 两次GET请求、16位密钥、固定URL格式 | 中等 |
| V3.0 | 预共享密钥 | 默认密钥、固定Accept头、多UA | 较难 |
| V4.0 | 多种算法 | 端口规律、精简UA | 困难 |
7. 检测建议
- 多维度检测:结合多个弱特征进行综合判断
- 行为分析:关注异常通信模式,如短时间内相同IP使用多个UA
- 解密尝试:对可疑流量尝试使用默认密钥解密
- 机器学习:对加密流量进行机器学习模型检测
- 规则更新:持续跟踪冰蝎新版本的流量特征变化
8. 防御措施
-
Web应用防护:
- 禁用危险函数(eval, assert等)
- 限制文件上传类型
- 定期检查服务器文件变更
-
网络层防护:
- 部署WAF并更新规则
- 监控异常HTTP请求
- 限制服务器出站连接
-
日志分析:
- 收集并分析Web服务器日志
- 关注异常URL模式和UA
通过深入理解冰蝎各版本的流量特征,安全团队可以更有效地检测和防御这类Webshell工具的威胁。