Files
Sec-Interview/Chapter7/7-21.md
T
2025-09-25 03:32:26 +08:00

66 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### WebShell 工具流量特征
**1. 蚁剑(AntSword**
蚁剑是一款功能强大且高度可定制的开源 WebShell 管理工具。它的流量特征主要依赖于其**编码器(Encoder**和**连接器(Connector**的配置
- **默认流量特征**
- **POST 请求**:蚁剑通常使用 `POST` 请求,将恶意代码和命令作为参数发送
- **加密与编码**:默认情况下,蚁剑会使用 `base64` 对数据进行编码。在流量中,可以看到一个或多个经过 `base64` 编码的参数,其值通常是 `eval()``system()` 等函数
- **特定标识**:在某些默认的编码器中,参数名可能会包含特定字符串,但由于其高度可定制,这并非可靠的识别依据
**2. 哥斯拉(Godzilla**
哥斯拉是一个强大的 WebShell 管理工具,其核心特点是**无文件内存马**和**加密通信**
- **流量特征**
- **内存马通信**:哥斯拉的 WebShell 本身通常是一个无文件马,注入到 Web 容器的内存中。这意味着它没有落地文件,传统的文件查杀方法无效
- **加密与伪装**:哥斯拉的流量与冰蝎类似,同样是**加密**的,并且其请求头可以高度定制,以伪装成正常的流量
- **可变参数**:与冰蝎不同,哥斯拉的请求参数和值可能会**发生变化**,这使得基于参数名的检测变得困难
**3. 中国菜刀(Chopper**
中国菜刀是一款老牌且经典的 WebShell 管理工具。它的流量特征**非常明显**,是传统 WAF 和 IDS 重点防御的对象
- **流量特征**
- **明文传输**:菜刀的流量通常是**明文**的。它使用 `base64` 编码,但没有进行加密
- **特定参数**:它会固定使用一个名为 `z0``z1` 或其他简单字符的参数来传递恶意代码
- **URL请求特征**:菜刀的URL请求中通常会包含 `eval()``assert()` 等关键字,这些关键字是其命令执行的标志
- **固定请求头**:菜刀的 `User-Agent` 字段通常是固定的,例如 `User-Agent: baiduspider`
**4. 冰蝎 v1.0**
冰蝎的第一个版本,其流量特征相对简单,容易被传统的安全设备检测到
- **通信方式**:使用 `AES` 加密,密钥固定为 `0x24`
- **请求特征**URL 中带有 `?pass=xxx` 参数,其中 `pass` 是加密密钥的标识符
- **响应特征**:服务器返回的数据也是加密的,但由于其加密算法简单,很容易被解密分析
**5. 冰蝎 v2.0**
冰蝎 v2.0 在 v1.0 的基础上进行了重大改进,旨在增强隐蔽性
- **通信方式**:引入了 **动态密钥**。在首次连接时,客户端会发送一个包含随机 `user-agent``cookie` 的请求,服务器根据这些信息生成一个 AES 加密密钥,并在后续通信中使用
- **请求特征**
- **无固定参数**:URL 中不再有明显的 `?pass=` 参数,取而代之的是将加密数据隐藏在请求头中
- **伪装请求头**`user-agent``cookie` 等请求头的值都是随机生成的,以模仿正常的浏览器行为
**6. 冰蝎 v3.0**
这是目前最常见且最具威胁的版本,它在 v2.0 的基础上进一步升级了通信协议,大大增加了检测难度
- **通信方式**:引入了**双向加密和随机密钥**,通信过程更为复杂。客户端和服务器会进行一次类似于 TLS 握手的加密协商过程
- **流量特征**
- **无固定长度**:与 v2.0 不同,v3.0 的数据包长度不再固定,而是随着传输数据的大小而变化。这使得基于数据包长度的检测方法失效
- **伪装通信**:v3.0 的通信流量可以伪装成各种协议,例如 **WebSocket、HTTP2** 等,以逃避传统的网络流量分析工具
- **请求参数**:v3.0 不再将加密数据放在请求头,而是将其隐藏在**请求体**中,并且可以通过定制来伪装成正常表单提交或 JSON 数据
- **TLS 指纹**:如果使用 HTTPSv3.0 的自签名证书和 TLS 握手过程会产生独特的指纹。然而,攻击者可以通过定制 `Malleable C2` Profile 来改变这些指纹
**7. 冰蝎 v4.0**
冰蝎 v4.0 在隐蔽性上更上一层楼,主要增强了**免杀和无文件攻击**能力
- **通信方式**:继续沿用 v3.0 的加密通信协议,但加入了更高级的内存马技术
- **流量特征**
- **无文件落地**v4.0 的 WebShell 通常是一个无文件马,直接注入到 Web 容器的内存中。这意味着它没有落地文件,无法通过文件查杀来定位
- **流量混淆**:利用**多层混淆和编码**,使得流量分析变得极其困难