$npx -y skills add killvxk/cybersecurity-skills-zh --skill analyzing-cobaltstrike-malleable-c2-profiles使用 dissect.cobaltstrike 和 pyMalleableC2 解析分析 Cobalt Strike Malleable C2 配置文件,提取 C2 指标、检测规避技术并生成网络检测签名。
| 1 | # 分析 CobaltStrike Malleable C2 配置文件 |
| 2 | |
| 3 | ## 概述 |
| 4 | |
| 5 | Cobalt Strike Malleable C2 配置文件是领域专用语言脚本,用于定制 Beacon 与团队服务器的通信方式,包括 HTTP 请求/响应转换、休眠间隔、抖动值、User Agent、URI 路径和进程注入行为。威胁行为者使用 Malleable C2 配置文件将 C2 流量伪装成合法服务(Amazon、Google、Slack)。分析这些配置文件可揭示用于检测的网络指标:URI 模式、HTTP 请求头、POST/GET 转换、DNS 设置和进程注入技术。`dissect.cobaltstrike` 库可解析配置文件并从 beacon 载荷中提取配置,而 `pyMalleableC2` 使用 Lark 语法提供基于 AST 的解析,用于程序化配置文件操作和验证。 |
| 6 | |
| 7 | ## 前置条件 |
| 8 | |
| 9 | - Python 3.9+,安装 `dissect.cobaltstrike` 和/或 `pyMalleableC2` |
| 10 | - 示例 Malleable C2 配置文件(可从公开仓库获取) |
| 11 | - 了解 HTTP 协议和 Cobalt Strike beacon 通信模型 |
| 12 | - 网络监控工具(Suricata/Snort)用于部署签名 |
| 13 | - PCAP 分析工具用于流量验证 |
| 14 | |
| 15 | ## 工作流程 |
| 16 | |
| 17 | 1. 安装库:`pip install dissect.cobaltstrike` 或 `pip install pyMalleableC2` |
| 18 | 2. 使用 `C2Profile.from_path("profile.profile")` 解析配置文件 |
| 19 | 3. 提取 HTTP GET/POST 块配置(URI、请求头、参数) |
| 20 | 4. 识别 User Agent 字符串和伪装目标 |
| 21 | 5. 提取休眠时间、抖动百分比和 DNS beacon 设置 |
| 22 | 6. 分析进程注入设置(注入目标进程、分配技术) |
| 23 | 7. 从提取的网络指标生成 Suricata/Snort 签名 |
| 24 | 8. 将配置文件与已知威胁行为者配置文件集合对比 |
| 25 | 9. 提取分段 URI 和载荷投递机制 |
| 26 | 10. 生成包含 IOC 和推荐网络签名的检测报告 |
| 27 | |
| 28 | ## 输出格式 |
| 29 | |
| 30 | JSON 报告,包含提取的 C2 URI、HTTP 请求头、User Agent、休眠/抖动设置、进程注入配置、注入目标进程路径、DNS 设置和生成的 Suricata 兼容检测规则。 |