冰蝎各版本工具分析与魔改思路
字数 1753 2025-08-25 22:58:20
冰蝎各版本工具分析与魔改思路
0x00 V2版本分析
1. 项目信息
- GitHub项目地址:https://github.com/rebeyond/Behinder/releases/
- V2源码地址:https://github.com/hktalent/afterLoader
2. 流量分析
执行流程:
- 首次连接时,客户端发送GET请求,参数格式为
?pass=123 - 服务端随机生成128位密钥,回显给客户端并存入Session
- 后续所有请求均为POST请求,数据流程:
- 本地二进制payload → AES加密 → Base64编码 → 发送至服务端
- 响应数据为AES加密的二进制数据,Content-Type为
application/octet-stream
3. 主要特点
- 服务端动态解析二进制class文件
- 使用ASM框架动态修改class文件属性值,生成参数化payload class
4. 流量特征
- GET响应包Content-Length固定为16
- URI仅包含一个key-value参数
- 默认Accept字段特殊:
text/html, image/gif, image/jpeg, ; q=.2, /*; q=.2 - 内置10+老旧User Agent,每次随机选择
- JSP webshell的POST请求体均为Base64编码
- 短命令Content-Length通常为9068
0x01 V3版本分析
1. 项目信息
- GitHub项目地址:https://github.com/rebeyond/Behinder/releases/
- V3源码地址:https://github.com/MountCloud/BehinderClientSource
2. 流量分析
- 取消动态密钥协商,采用预共享密钥(MD5("admin")[0:16])
- 首次连接失败时会尝试V2的密钥协商机制(兼容性特征)
3. 主要特点
- 去除动态密钥协商机制
- 其他机制与V2类似
4. 流量特征
- 与V2类似:内置老旧User Agent,POST请求体Base64编码
- 存在单参数GET请求
0x02 V4版本分析
1. 项目信息
- GitHub项目地址:https://github.com/rebeyond/Behinder/releases/
- V4源码地址:https://github.com/MountCloud/BehinderClientSource
2. 流量分析
- 本地选择加密算法并生成服务端webshell
- 加密payload → POST发送至服务端
- 服务端解密 → 执行 → 加密结果 → 返回客户端
- 客户端解密获取响应内容
3. 主要特点
- 支持自定义加密解密协议
- 默认AES加密时特征与V2/V3类似
4. 流量特征
- 默认AES加密时特征与V2/V3相似
0x03 安全设备检测原理
某盟UTS检测原理图(原文中未提供具体细节)
0x04 魔改思路
1. 加密算法改进
- 除AES外可选:DES、3DES、TDEA、Blowfish、Twofish、RC2、RC4、RC5、IDEA、SKIPJACK等对称加密算法
2. 编码特征消除
- 去除Base64编码特征
- 请求/响应体添加随机长度额外字节数组
3. HTTP头特征消除
- 去除特征性头字段:User-Agent、Accept、Referer、Content-type等
4. 数据格式伪装
- 请求包使用JSON格式参数
- 响应体返回JSON或HTML格式,数据分散隐藏在HTML标签中
5. 协议修改
- 使用HEAD协议
- 小payload放入header执行
- Shell返回404,响应数据通过中转接口(如ceye)或服务器图片中转
6. 干扰措施
- 客户端定时发送随机长度垃圾数据
7. 动态密钥生成
- 基于sessionID生成密钥、payload参数名、分隔符等
8. 绕过技术
- 使用Java底层函数绕过OpenRASP
- webshell免杀技术
参考资源
- https://xz.aliyun.com/t/2744#toc-5
- https://mp.weixin.qq.com/s/EwY8if6ed_hZ3nQBiC3o7A