冰蝎和哥斯拉流量分析
字数 1308 2025-08-20 18:17:59
冰蝎与哥斯拉流量分析技术详解
1. 对称密码AES基础
1.1 AES基本概念
- 明文/密文长度可选:128bit、192bit、256bit(常见128bit)
- 密钥长度对应:AES-128、AES-192、AES-256
1.2 分组密码工作模式
-
ECB模式(电子密码本):
- 相同密钥加密相同明文产生相同密文
- 不需要初始向量(IV)
- 安全性较低,不推荐使用
-
CBC模式(密码分组链接):
- 前一块密文与当前块明文异或后再加密
- 需要初始化向量(IV)处理第一块数据
- 更安全,解决了ECB的重复性问题
其他模式:CFB、OFB等(文中未详细讨论)
2. 冰蝎流量分析
2.1 冰蝎3特性
- 加密方式:
openssl_decrypt($post, "AES128", $key) - OpenSSL默认使用AES-128-CBC模式
- 解密时需要:
- 使用CBC模式
- 初始向量通常设为全0
2.2 冰蝎4特性
- 加密方式可选:
aes和aes_with_magic:使用ECB模式- 其他非AES加密方式
- 新功能"传输协议":
- 可直接查看加解密函数
- 提供加解密操作界面
2.3 冰蝎4特殊加密方式
-
xor_base64:
- 特征:流量中可见较短密文
- 解密方法:使用冰蝎4传输协议直接解密
-
xor:
- 特征:流量中有大量字符
- 解密方法:同样使用传输协议解密
3. 哥斯拉流量分析
3.1 JAVA_AES_BASE64
3.1.1 特征识别
- 密钥长度:16字节(128bit)
- 密钥生成:
md5(pass+xc),取完整MD5值 - 返回包格式:
- 前16位:MD5前16位
- 密文主体
- 后16位:MD5后16位
3.1.2 解密流程
-
请求包解密配方:
URL_Decode() From_Base64('A-Za-z0-9+/=',true,false) AES_Decrypt({ 'option':'UTF8', 'string':'密钥' // 如3c6e0b8a9c15224a },{ 'option':'Hex', 'string':'' },'ECB','Raw','Raw',{ 'option':'Hex', 'string':'' },{ 'option':'Hex', 'string':'' }) Gunzip() -
响应包解密配方:
- 先手动删除前16位和后16位
From_Base64('A-Za-z0-9+/=',true,false) AES_Decrypt(...) // 同上 Gunzip()
3.2 JAVA_AES_RAW
3.2.1 与BASE64区别
- 不需要去除前后16位
- 密文为十六进制格式
3.2.2 解密配方
From_Hex('Auto')
AES_Decrypt({
'option':'UTF8',
'string':'密钥' // 如748007e861908c03
},{
'option':'Hex',
'string':''
},'ECB','Raw','Raw',{
'option':'Hex',
'string':''
},{
'option':'Hex',
'string':''
})
Gunzip()
3.3 连接密码获取
- 密钥为密码MD5值的前16位
- 示例:
xc=748007e861908c03→ 密码MD5前16位 - 解密后可得连接密码(如14mk3y)
4. 实战技巧
4.1 端口扫描识别
- TCP SYN扫描特征:
- 攻击者发送SYN包
- 端口开放:返回SYN,ACK
- 端口关闭:返回RST
- 端口过滤:无响应
- 过滤命令:
tcp.connection.synack
4.2 WebShell操作识别
-
查找JSP文件:
- 过滤HTTP流查找文件头(如压缩包)
- 使用foremost提取文件
-
查找关键信息:
- 过滤HTTP 200响应
- 查找包含密钥的流量包
4.3 密钥爆破
当密钥无法直接找到时:
- 冰蝎密钥生成规律:
- 密钥 = 密码32位MD5值的前16位
- 爆破方法:
- 猜测可能的密码
- 计算MD5并取前16位作为测试密钥
- 能成功解密即找到正确密码
5. 工具推荐
- CyberChef:用于加解密操作
- B神工具:自动分析工具(B站账号:183379727)
6. 总结流程图
开始
│
├─ 识别加密类型
│ ├─ 冰蝎3:AES-128-CBC
│ ├─ 冰蝎4:可选(ECB/xor_base64等)
│ └─ 哥斯拉:JAVA_AES_BASE64/RAW
│
├─ 获取密钥
│ ├─ 直接查找
│ └─ 爆破获取(md5(pass)[:16])
│
├─ 解密流程
│ ├─ BASE64:去头尾→Base64→AES→Gunzip
│ └─ RAW:Hex→AES→Gunzip
│
└─ 分析解密内容
获取flag/操作记录等关键信息
通过掌握这些关键技术和流程,可以有效分析冰蝎和哥斯拉的流量,识别WebShell活动并获取攻击证据。