冰蝎与哥斯拉:WebShell 管理实战(加密流量与 WAF 绕过)

冰蝎与哥斯拉 WebShell 管理工具完整实战:加密通信、流量伪装、功能使用、检测与防御,含架构对比图。

写在前面:合法学习边界

WebShell 技术只用于授权靶场。对真实系统上传 WebShell 可能触犯法律。

一、WebShell 管理工具概述

冰蝎和哥斯拉是新一代 WebShell 管理工具,相比传统的菜刀(明文传输),核心差异是加密流量 + 伪装 Content-Type,可绕过 WAF 和流量检测。

二、冰蝎/哥斯拉通信架构图

冰蝎与哥斯拉 WebShell 通信架构

三、冰蝎(Beholder)

特性

1
2
3
4
5
6
• AES-128-CBC 加密所有通信
• Base64 编码载荷
• 伪装 Content-Type(默认 text/xml,可改)
• 自动协商密钥(首次连接时协商,后续复用)
• 无文件落地模式(内存执行)
• 支持 PHP/JSP/ASPX/ASP

使用步骤

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
第 1 步:上传 WebShell 文件
  通过文件上传漏洞/备份/代码执行等方式上传 shell.php

第 2 步:冰蝎客户端添加连接
  URL: http://靶机/shell.php
  密码: 自定义密码(如 pass123)

第 3 步:客户端自动协商
  连接后自动协商 AES 密钥,建立加密会话

第 4 步:使用功能
  • 命令执行(cmd/bash)
  • 文件管理器(上传/下载/编辑/执行)
  • 数据库管理(MySQL/SQLServer/Oracle)
  • 反弹 Shell
  • 进程管理
  • 计划任务

冰蝎绕过 WAF 原理

1
2
3
4
5
6
7
8
冰蝎发送的请求:
  Content-Type: text/xml
  Body: AES加密后的Base64字符串

WAF 看到的是:
  - 合法 Content-Type(text/xml)
  - 乱码 Body(AES 加密后的 Base64)
  → 无法识别为恶意内容

四、哥斯拉(Godzilla)

特性

1
2
3
4
5
6
• 支持 AES/Rabbit/ChaCha20 多种加密算法
• 支持 Base64/Hex/Plain 多种编码
• 混淆载荷结构(随机 Header + 随机参数名)
• 支持 PHP/JSP/ASPX/ASP/Python/Go
• 支持 WebShell 文件伪装(图片马/伪装文件名)
• 客户端支持 Windows/Linux/macOS

使用步骤

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
第 1 步:选择 WebShell 类型
  哥斯拉生成 WebShell → 选 PHP/JSP 等 → 设置密码 → 下载

第 2 步:上传 WebShell
  上传到目标 Web 目录

第 3 步:客户端连接
  添加连接 → URL + 密码 → 选择编码方式 → 连接

第 4 步:使用功能
  • 命令执行
  • 虚拟终端(交互式 shell)
  • 文件管理
  • 数据库管理
  • 反弹 Shell

哥斯拉混淆技术

1
2
3
4
1. 随机 Header:每个请求加随机 Header(如 X-Request-Id)
2. 随机参数名:payload 参数名随机化
3. 载荷拆分:大数据拆成多个小块传输
4. 频率控制:控制请求频率避免触发阈值

五、冰蝎 vs 哥斯拉 对比

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
┌──────────────┬───────────────────┬───────────────────────────┐
│   维度       │      冰蝎         │        哥斯拉              │
├──────────────┼───────────────────┼───────────────────────────┤
│ 加密算法     │ AES-128-CBC       │ AES/Rabbit/ChaCha20       │
│ 编码方式     │ Base64            │ Base64/Hex/Plain          │
│ Content-Type │ text/xml(可改)  │ 可自定义                   │
│ 载荷混淆     │ 基础              │ 高级(随机参数/Header)   │
│ 协议伪装     │ 有                │ 更灵活                     │
│ 无文件执行   │ 支持              │ 支持                       │
│ 语言支持     │ PHP/JSP/ASPX/ASP  │ PHP/JSP/ASPX/ASP/Py/Go   │
│ 检测难度     │ 中                │ 较高                       │
└──────────────┴───────────────────┴───────────────────────────┘

六、检测

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
冰蝎特征:
• Content-Type: text/xml(非标准 XML 内容)
• Body 是长 Base64 字符串(无 XML 标签)
• 特定 Header 模式

哥斯拉特征:
• 随机 Header 名称和值
• Body 结构不稳定(每次不同)
• 特定参数名(如 _、%40%23 等)

检测方式:
• 流量特征分析(Content-Type 异常 + 长 Base64)
• EDR 行为检测(异常 PHP 进程 + 外联)
• WAF 行为规则(非 XML 的 text/xml 请求)
• 文件完整性监控(Web 目录新增文件告警)

七、防御

1
2
3
4
5
6
1. 文件上传限制:只允许上传图片/PDF 等安全类型
2. WAF 规则:拦截 Content-Type 异常 + 非标准编码请求
3. 文件完整性监控:Web 目录监控新增文件
4. 禁用 PHP 危险函数:system/exec/passthru/popen
5. 数据库连接最小权限:Web 应用使用专用低权限数据库账号
6. 日志审计:Web 访问日志 + PHP 错误日志

八、小结

冰蝎和哥斯拉代表了 WebShell 的"加密化"趋势。核心防御是"文件上传限制 + WAF 行为规则 + 文件完整性监控"。攻击者用加密绕过内容检测,防守者用行为分析和文件监控来发现。