文章目录
一、Webshell管理工具流量分析
1. 蚁剑(AntSword)
核心特征:
- 请求特征:
- 请求体中固定以
@ini_set("display_errors","0");@set_time_limit(0)
开头 - 参数名常为
_0x
开头的十六进制字符串(如_0x3d8f
) - 默认编码下Payload明文可见,含
eval
或assert
关键字
- 请求体中固定以
- 响应特征:
- 返回结果为Base64编码格式,结构为
随机数+结果+随机数
- 执行命令后返回
200
状态码及明文结果(如cat /etc/passwd
)
- 返回结果为Base64编码格式,结构为
检测建议:
- 监控高频POST请求中是否含
eval
及固定前缀 - 分析响应包是否匹配
随机数-Base64-随机数
结构
2. 冰蝎(Behinder)
核心特征:
- 强加密:
- 全程AES加密(默认128位),密钥通过首次请求的响应动态生成(
16字节随机值+MD5
)。 - 所有请求体/响应体为二进制流,无明文特征。
- 全程AES加密(默认128位),密钥通过首次请求的响应动态生成(
- 协议伪装:
- 请求头包含
Content-Type: application/octet-stream
。 - 会话维持依赖长Cookie(如
PHPSESSID
异常值)。
- 请求头包含
- 心跳机制:
- 定时发送固定长度数据包(如
16字节
)维持连接。
- 定时发送固定长度数据包(如
检测建议:
- 识别
application/octet-stream
类型的长连接请求。 - 分析TLS流量中固定时间间隔的心跳包(需解密HTTPS)。
3. 哥斯拉(Godzilla)
核心特征:
- 协议特征:
- Cookie结尾带分号(如
JSESSIONID=xxx;
) - Accept头为
text/html, image/gif, image/jpeg, *;q=0.2
- Cookie结尾带分号(如
- 响应结构:
- 返回包含32位MD5分段:前16位 + Base64数据 + 后16位
- 如:
7FEF617FACC31F7B
+[加密数据]
+D4E6F45C8E6D4D8C
加密模式:
- 支持
AES_BASE64
、XOR_RAW
等,PHP版Payload含pass
和xc
字符
检测建议:
- 监控异常Cookie分号及MD5分段响应
- 分析初始化阶段大流量包(首包>1KB)
二、常见C2远控服务器流量分析
1. Metasploit
流量模型:
阶段 | 特征 |
---|---|
Stager阶段 | HTTP GET下载Payload,URL路径随机,响应含MZ头(如4D 5A ) |
心跳包 | 默认60秒间隔,UA固定为Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) |
指令传输 | TCP流含rundll32.exe 进程注入行为,Sysmon日志记录CreateRemoteThread |
加密优化:
- 使用
reverse_https
或rc4
加密流量(如set payload windows/meterpreter/reverse_https
)
检测建议:
- 抓取HTTP下载流量,检查MZ头及DOS异常标志
- 分析周期性心跳包与进程注入行为
2. CobaltStrike
核心指纹:
- HTTP Beacon:
- 路径符
checksum8规则
:路径ASCII和模256等于92/93(如/Yle2
→92) - 心跳包Cookie含Base64加密的元数据(如
Cookie: cAXQVyVbLBjHcJ=
) - 指令下发路径为
/submit.php?id=xxx
- 路径符
- HTTPS特征:
- 默认证书JA3指纹固定(如
db36bad574044a5104a59b0c676991ef
) - 自签名证书易被识别(可通过
Malleable C2
配置伪证书)
- 默认证书JA3指纹固定(如
DNS隐蔽信道:
- 使用
A记录
查询传递指令(如www6.[域名]
→0.0.0.243
)
检测建议:
- 识别checksum8路径和高频DNS异常解析
- 解密Beacon元数据(工具:
cs-parse-http-traffic.py
)
三、防御对抗策略总结
工具类型 | 关键检测点 | 防御方案 |
---|---|---|
Webshell工具 | 固定头/关键字、加密结构、高频POST | 禁用eval /system 函数;监控文件修改 |
C2远控 | 心跳包规律、协议指纹、证书异常 | 限制出站端口;部署JA3指纹检测 |
深度防御建议:
- 流量层面:
- 对HTTPS流量做DPI解密,检测加密Payload
- 使用Suricata定制规则(如检测
checksum8
路径)
- 主机层面:
- 监控敏感目录文件变更(如
/tmp
、/dev/shm
) - 分析进程网络连接(
netstat -anp \| grep ESTABLISHED
)
- AI辅助:
- 训练ML模型识别加密流量行为模式(如哥斯拉MD5分段)