冰蝎&哥斯拉流量分析
字数 1219 2025-08-23 18:31:18
冰蝎与哥斯拉流量分析教学文档
1. 对称密码AES基础
1.1 AES基本概念
- 明文和密文长度可选:128bit、192bit、256bit(最常见的是128bit)
- 分组密码工作模式:
- ECB(电子密码本)模式:
- 每次密钥相同
- 相同明文加密产生相同密文
- 不需要初始向量(IV)
- CBC(密码分组链接)模式:
- 使用前一个块的密文与当前块明文异或后再加密
- 需要初始化向量(IV)来避免加密结果重复
- 第一块使用IV,后续块使用前一块的密文
- ECB(电子密码本)模式:
2. 冰蝎流量分析
2.1 冰蝎3
- 加密方式:
openssl_decrypt($post, "AES128", $key) - 默认使用AES-128-CBC模式
- CyberChef解密配方:
URL_Decode() From_Base64('A-Za-z0-9+/=',true,false) AES_Decrypt({'option':'UTF8','string':'密钥'},{'option':'Hex','string':''},'CBC','Raw','Raw',{'option':'Hex','string':'00000000000000000000000000000000'},{'option':'Hex','string':''}) Gunzip()- 注意:初始向量通常设置为全0
2.2 冰蝎4
- 加密方式变为可选:
aes和aes_with_magic使用ECB模式- 其他加密方式可通过"传输协议"功能查看加解密函数
- 解密方法:
- 确定使用的加密方式
- 对于AES加密:
- ECB模式CyberChef配方:
URL_Decode() From_Base64('A-Za-z0-9+/=',true,false) AES_Decrypt({'option':'UTF8','string':'密钥'},{'option':'Hex','string':''},'ECB','Raw','Raw',{'option':'Hex','string':''},{'option':'Hex','string':''}) Gunzip()
- 对于xor_base64等非AES加密:
- 使用冰蝎4的"传输协议"功能直接解密
3. 哥斯拉流量分析
3.1 JAVA_AES_BASE64
-
流量分析步骤:
- 过滤http流,查找压缩包文件头(foremost提取)
- 从jsp马中获取密钥和连接密码信息
- 密钥通常为16字节(128bit)
- 服务器返回格式:MD5前16位 + 密文 + MD5后16位
-
CyberChef解密配方:
- 请求包解密:
URL_Decode() From_Base64('A-Za-z0-9+/=',true,false) AES_Decrypt({'option':'UTF8','string':'密钥'},{'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({'option':'UTF8','string':'密钥'},{'option':'Hex','string':''},'ECB','Raw','Raw',{'option':'Hex','string':''},{'option':'Hex','string':''}) Gunzip()
- 请求包解密:
3.2 JAVA_AES_RAW
-
特点:
- 不需要去除前后16位
- 密文为十六进制格式
-
CyberChef解密配方:
From_Hex('Auto') AES_Decrypt({'option':'UTF8','string':'密钥'},{'option':'Hex','string':''},'ECB','Raw','Raw',{'option':'Hex','string':''},{'option':'Hex','string':''}) Gunzip()
3.3 端口扫描分析
- 识别nmap的TCP SYN扫描(-sS):
- 攻击者发送SYN包
- 端口开放:受害者返回SYN,ACK
- 端口关闭:返回RST
- 端口被过滤:无响应
- 过滤SYN,ACK包可确定开放端口
4. 密钥爆破技巧
- 当无法找到密钥时:
- 冰蝎密钥生成规则:密码的32位MD5值的前16位
- 爆破步骤:
- 猜测可能的密码
- 计算其MD5值并取前16位作为测试密钥
- 尝试解密,成功则确定密码
5. 实用工具
- CyberChef:用于加解密操作
- B神工具:自动分析工具(B站账号:https://space.bilibili.com/183379727/dynamic)
- Wireshark:流量分析
- Foremost:文件提取
6. 解题流程总结
- 确定webshell类型(冰蝎/哥斯拉)
- 识别加密方式(查看jsp马或尝试不同方式)
- 获取密钥(从流量或爆破)
- 选择正确的解密配方
- 解密流量获取flag或所需信息
7. 常见问题
- 冰蝎3使用CBC模式,初始向量常为全0
- 哥斯拉BASE64类型需要去除前后16位MD5值
- RAW类型直接使用十六进制密文
- 端口扫描通过SYN,ACK响应判断开放端口