冰蝎各版本工具分析与魔改思路
字数 1753 2025-08-25 22:58:20

冰蝎各版本工具分析与魔改思路

0x00 V2版本分析

1. 项目信息

  • GitHub项目地址:https://github.com/rebeyond/Behinder/releases/
  • V2源码地址:https://github.com/hktalent/afterLoader

2. 流量分析

执行流程:

  1. 首次连接时,客户端发送GET请求,参数格式为?pass=123
  2. 服务端随机生成128位密钥,回显给客户端并存入Session
  3. 后续所有请求均为POST请求,数据流程:
    • 本地二进制payload → AES加密 → Base64编码 → 发送至服务端
  4. 响应数据为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. 流量分析

  1. 本地选择加密算法并生成服务端webshell
  2. 加密payload → POST发送至服务端
  3. 服务端解密 → 执行 → 加密结果 → 返回客户端
  4. 客户端解密获取响应内容

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免杀技术

参考资源

  1. https://xz.aliyun.com/t/2744#toc-5
  2. https://mp.weixin.qq.com/s/EwY8if6ed_hZ3nQBiC3o7A
冰蝎各版本工具分析与魔改思路 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