| name | hunting-for-cobalt-strike-beacons |
| description | 使用默认 TLS 证书签名(序列号 8BB00EE)、JA3/JA3S/JARM 指纹、HTTP C2 配置文件模式匹配、信标抖动分析和命名管道检测,通过 Zeek、Suricata 和 Python PCAP 分析检测 Cobalt Strike 信标网络活动。 |
| domain | cybersecurity |
| subdomain | threat-hunting |
| tags | ["cobalt-strike","beacon","threat-hunting","c2","zeek","suricata","ja3","jarm","network-forensics"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
狩猎 Cobalt Strike 信标
概述
Cobalt Strike 是红队和威胁行为者最常用的命令与控制框架。其主要 payload——Beacon,使用可配置的 HTTP/HTTPS/DNS 配置文件与团队服务器通信,这些配置文件可模拟合法流量。然而,默认配置和行为模式仍可通过 TLS 证书分析(默认序列号 8BB00EE)、JA3/JA3S 指纹识别、信标间隔抖动分析和 HTTP 可延展配置文件模式匹配来检测。本技能涵盖使用 Zeek 网络日志、Suricata IDS 规则和基于 Python 的 PCAP 分析来识别网络流量中信标回调的检测能力建设。
前置条件
- 安装了 JA3 和 HASSH 包的 Zeek 6.0+
- 带 Emerging Threats 规则集的 Suricata 7.0+
- Python 3.9+ 及 scapy 和 dpkt 库
- 网络流量捕获(PCAP)或实时 Zeek 日志
- 用于信标评分的 RITA(Real Intelligence Threat Analytics)
- 带已知 Cobalt Strike IOC 的威胁情报 feeds
步骤
步骤 1:TLS 证书分析
使用 Zeek ssl.log 中的 JA3S 指纹、证书序列号和 JARM 指纹检测默认 Cobalt Strike 证书。
步骤 2:信标间隔分析
分析连接时间模式,识别具有可配置抖动的规律性回调间隔,这是信标行为的典型特征。
步骤 3:HTTP 配置文件检测
将 HTTP 请求模式(URI 路径、请求头、User-Agent)与已知的可延展 C2 配置文件进行匹配。
步骤 4:关联并评分
将多个指标(TLS + 时序 + HTTP 配置文件)组合为综合信标置信度评分。
预期输出
包含检测到的信标候选项的 JSON 报告,内容涵盖置信度评分、TLS 指纹、时序分析、HTTP 配置文件匹配和建议响应措施。