自动化与脚本
逆向分析 Cobalt Strike Malleable…
当你拿到捕获的 Malleable C2 配置文件或 Beacon 载荷,需要提取 C2 网络指标并产出 Suricata/Snort 检测签名时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
逆向分析 Cobalt Strike M特定
解决思路
- 安装解析库:`pip install dissect.cobaltstrike` 或 `pip install pyMalleableC2`(前者可解析配置文件与从 Beacon 载荷中提取配置,后者基于 Lark 语法做 AST 解析)。
- 用 `C2Profile.from_path("profile.profile")` 加载并解析配置文件。
- 提取 HTTP GET/POST 块配置,包括 URI 路径、请求头、参数。
- 识别 User-Agent 字符串及其伪装目标(如 Amazon、Google、Slack 等合法服务)。
- 提取 sleep 时间、jitter 百分比以及 DNS beacon 设置。
- 分析进程注入配置,包括 spawn-to 目标进程和内存分配技术。
- 根据提取出的网络指标生成 Suricata/Snort 签名。
- 将当前配置文件与已知威胁行为者的 profile 集合做比对。
- 提取 staging URI 与载荷投递机制。
- 输出检测报告,包含 IOC 与推荐的网络签名。
- 最终产出 JSON 报告:C2 URI、HTTP 头、User-Agent、sleep/jitter、进程注入配置、spawn 进程路径、DNS 设置及生成的 Suricata 兼容检测规则。
适用边界 · 注意事项
- 没有可用的 Malleable C2 配置文件样本或 Beacon 载荷时无法开展。
- 缺乏 HTTP 协议与 Cobalt Strike Beacon 通信模型基础时难以正确解读提取结果。
- 未部署 Suricata/Snort 等网络监控工具时,生成的签名无法落地验证。