哥斯拉流量分析
字数 1704 2025-08-22 22:47:30
哥斯拉(Gozilla)WebShell流量分析与检测技术
一、哥斯拉WebShell概述
哥斯拉是一款功能强大的WebShell管理工具,与冰蝎、蚁剑相比具有以下显著特点:
- 采用Session存储payload机制,而非每次请求发送完整代码
- 支持多种编码器,其中evalXOR解码器兼容传统一句话木马
- 功能模块化设计,插件系统灵活
- 流量加密方式独特,检测难度较高
二、核心流量分析
1. 连接建立阶段(Check流量)
典型三包交互过程:
第一个包(Payload传输)
- 特征:通过密码参数传递完整shell代码
- 加密方式:base64编码 + 字符串反转 + XOR异或加密
- 示例payload:
<?php @session_start(); @set_time_limit(0); @error_reporting(0);
function encode($D, $K){
for($i=0; $i<strlen($D); $i++) {
$c = $K[$i+1&15];
$D[$i] = $D[$i]^$c;
}
return $D;
}
$pass = 'key'; // 客户端设置的密码参数名
$payloadName = 'payload';
$key = '3c6e0b8a9c15224a'; // 加密密钥
// ...省略后续代码...
第二个包(测试连接)
- 参数:
methodName=test - 执行流程:
- 通过
formatParameter()解析参数 - 调用
evalFunc()执行test()函数 - 返回简单响应"ok"
- 通过
第三个包(基本信息获取)
- 参数:
methodName=getBasicsInfo - 执行流程:
- 调用payload中的
getBasicsInfo()函数 - 返回服务器详细信息
- 调用payload中的
2. 加密/解密机制
加密流程:
原始数据 → XOR异或加密 → base64编码 → 字符串反转(可选)
解密流程:
接收数据 → 字符串反转(如需要)→ base64解码 → XOR异或解密 → gzdecode解压(返回包)
密钥特征:
- 默认密钥:
3c6e0b8a9c15224a - 可在客户端配置修改
返回包结构:
[MD5前16位][加密数据][MD5后16位]
示例:72a9c691ccdaab98fL1tMGI4YTljMv79NDQm7r9PZzBiOA==b4c4e1f6ddd2a488
3. 功能模块分析
命令执行
- 参数:
methodName=execCommand - 支持多种执行方式:
system()/passthru()/shell_exec()/exec()/popen() proc_open()/COM组件/pcntl_exec()/Shellshock漏洞 - 典型payload:
cmdLine=sh -c "cd \"/www/wwwroot/upload/upload/\";ls" 2>&1
文件管理
- 参数:
methodName=getFile - 返回格式:
文件名\t文件类型(1文件/0目录)\t修改时间\t大小\t权限(RWX)
插件系统
- 实现机制:
- 首次发送插件代码存入Session
- 后续调用执行
端口扫描插件示例:
function portscan($scanip, $scanport="80") {
$ret=array();
foreach(explode(",", $scanport) as $port) {
$fp = @fsockopen($scanip, $port, $errno, $errstr, 1);
if(!$fp) {
array_push($ret,$scanip."\t".$port."\t0");
} else {
array_push($ret,$scanip."\t".$port."\t1");
@fclose($fp);
}
}
return implode("\n",$ret);
}
三、检测特征与防御建议
1. 关键检测特征
evalXOR编码器特征:
- HTTP请求中包含明显的PHPSESSID
- 固定密钥
3c6e0b8a9c15224a的异或加密模式 - 返回包包含32位MD5校验值(头尾各16位)
- 固定三阶段连接过程
流量特征:
- POST数据经过多层编码(base64+XOR)
- 包含特定参数名:
methodName、codeName、binCode等 - 默认UA头(可修改,弱特征):
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0
2. 防御建议
-
流量检测方案:
- 检测异常Session ID模式
- 识别固定三阶段交互过程
- 监控包含
methodName等特定参数请求
-
主机防护方案:
- 禁用危险函数:
eval()、system()等 - 限制Session目录权限
- 监控Web目录异常文件修改
- 禁用危险函数:
-
网络防护方案:
- 实施严格的出入站流量控制
- 部署WAF规则检测编码特征
- 定期更新Web应用补丁
四、与其他WebShell对比
| 特征 | 哥斯拉 | 冰蝎 | 蚁剑 |
|---|---|---|---|
| 通信加密 | XOR+Base64 | AES | Base64 |
| Payload存储 | Session存储 | 每次请求发送 | 每次请求发送 |
| 插件系统 | 动态加载 | 固定功能 | 插件市场 |
| 检测难度 | 较高 | 中等 | 较低 |
| 兼容性 | 支持一句话木马 | 不支持 | 部分支持 |
五、总结
哥斯拉WebShell通过创新的Session存储机制和灵活的插件系统,在隐蔽性和功能性上取得了较好平衡。其流量特征虽然经过精心设计,但仍可通过以下关键点进行检测:
- 固定的三阶段连接过程
- XOR加密的固定密钥特征
- 返回包的MD5校验结构
- 特定参数名的使用模式
防御者应当结合流量特征分析和主机行为监控,建立多维度的检测体系,才能有效防御此类高级WebShell威胁。