- 数据集
- 网络安全
【免费下载链接】cobaltstrike-beacon-corpus
Cobalt Strike Beacon Corpus是 Fox-IT 开源的 Beacon 数据集,可直接用于威胁情报与C2 IOC 监控。本文带你把它快速接入威胁情报工作流,并覆盖数据引用与许可使用的完整边界,帮助你少走弯路。
一句话结论:它是一份"现成的 C2 情报原料"——56,843 个独立 Beacon、190,182 次观测、覆盖 36,652 个
ip:port。你不需要自己扫网抓样本,拿来即可产出 IOC 清单。
📊 数据集概览:规模有多大
Cobalt Strike Beacon Corpus 收集了2018 年 7 月至 2026 年 9 月间、从互联网暴露的 Team Server 下载的 Cobalt Strike Beacon 及其解析配置。核心指标如下:
| 指标 | 数值 |
|---|---|
| 独立 Beacon(raw payloads) | 56,843 |
| 观测次数(sightings) | 190,182 |
独立ip:port | 36,652 |
| 首次观测 | 2018-07-04 |
| 最后观测 | 2026-09-29 |
对新手而言,最直观的理解是:每一行 = "某个时间点、某台 Team Server 下发过一个 Beacon",并附带它被解析出的完整配置。这正好对应威胁情报里最需要的"何时、何地、长什么样"三要素。
🔍 数据来源:从 Team Server 抓取 Beacon 的过程
这个语料库不是从样本平台"搬运"来的,而是 Fox-IT 用自己的全网扫描直接命中互联网暴露的 Team Server,再请求 stager 拉回:
- 主要覆盖TCP 80 / 443(HTTP / HTTPS)和UDP 53(DNS),少量其它端口;
- 对 DNS 监听器,则直接向服务器发送 TXT 记录查询;
- 每个 Beacon 都用
dissect.cobaltstrike解析器解出结构化配置。
💡 这意味着数据里没有来自样本平台的二手样本,观测点就是真实的 C2 服务器地址,天然适合做 IOC。
📦 文件结构与 IOC 字段速查
仓库里有两个数据文件和一个研究 notebook:
| 文件 | 行数 | 内容 |
|---|---|---|
| data/beacons.parquet | 190,182 | 一次观测一行:何时、何地从哪台 Beacon 抓取,外加解析后的配置 |
| data/payloads.parquet | 56,843 | 一个 Beacon 一行:原始载荷,以 CaRT 格式封装 |
| beacon_research.ipynb | — | 官方示例:统计、图表、IOC 挖掘 |
多数场景只需要beacons.parquet;只有当你要复解析或排查解析失败样本时,才需要下载payloads.parquet。
beacons.parquet:一次观测一行(IOC 主表)
这一列是 IOC 的核心来源,常用字段:
| 字段 | 含义 | 情报用途 |
|---|---|---|
collected_from_ip/collected_from_port | Team Server 地址与端口 | 生成ip:portIOC |
protocol | 监听协议(http/https/dns…) | 区分 C2 通道 |
watermark | Beacon 水印(十六进制) | 攻击者画像 / 聚类 |
version | 检测到的 Cobalt Strike 版本 | 画像与时间线 |
tls_fingerprint_sha256 | Team Server 证书 SHA256 指纹 | 证书聚类 |
sha256 | Beacon 原始载荷哈希 | 关联payloads.parquet |
config_json | 完整解析配置(JSON 字符串) | 抽取域名等细节 |
geo_asn/geo_country | IP 的 ASN / 国家 | 地理分布 |
payloads.parquet:原始 Beacon 载荷
| 字段 | 含义 |
|---|---|
sha256/md5 | 载荷哈希,可与beacons.parquet关联 |
beacon_size | Beacon 字节大小 |
payload_cart | 以CaRT封装的原始载荷(二进制) |
⚠️ 原始 Beacon 是真实的恶意软件 stager,可能含有可用 C2 地址。CaRT 封装是为了下载和存储时不被杀毒软件误杀;解包请在隔离环境进行,处理方式等同于任何恶意样本。
🚀 最快接入:三步用 DuckDB 查询 C2 IOC
DuckDB 可以直接"就地"查询 Parquet 文件,无需建库建表,是新手最省心的入口。
第 1 步:拿到数据
git clone https://gitcode.com/hf_mirrors/fox-srt/cobaltstrike-beacon-corpus第 2 步:抽取 IOC(以ip:port为例)
SELECT DISTINCT collected_from_ip, collected_from_port AS port FROM './data/beacons.parquet' ORDER BY collected_from_ip;第 3 步:按水印聚合,看清"谁在用"
SELECT watermark, count(*) AS sightings, count(DISTINCT collected_from_ip) AS servers, min(collected_on) AS first_seen, max(collected_on) AS last_seen FROM './data/beacons.parquet' GROUP BY watermark ORDER BY sightings DESC LIMIT 10;官方 notebook beacon_research.ipynb 里还有更多现成查询与图表(按协议分布、每月 Team Server 数量、版本演变、恶意 Beacon 定位等),可作为你的"起步模板"直接改。
✅ C2 IOC 监控工作流落地清单
把数据变成一条可持续运行的监控流水线,建议按下面四步落地:
- 提取 IOC用 SQL 从
beacons.parquet抽取ip:port、域名(config_json.domains)、证书指纹、watermark,导出成 IOC 清单(CSV / JSON)。 - 入库与告警将 IOC 推入 SIEM / 威胁情报平台,对
ip:port、域名、tls_fingerprint_sha256设阈值与告警规则。 - 关联去重以
sha256、watermark、公钥为纽带,把同一攻击者的多批 Beacon 聚类,形成"画像"。 - 周期性刷新数据集是快照。建议按固定周期重跑查询、对比新增 IOC,再入库告警,形成闭环。
常见 IOC 类型与来源字段对照:
| IOC 类型 | 来源字段 | 用途 |
|---|---|---|
Team Serverip:port | collected_from_ip/collected_from_port | 封禁 / 监控 |
| C2 域名 | config_json.domains | DNS 阻断 |
| TLS 证书指纹 | tls_fingerprint_sha256 | 证书聚类 |
| Watermark | watermark | 攻击者画像 |
| Beacon 哈希 | sha256 | 样本关联 |
📚 数据引用规范:论文与生产环境怎么写
用于研究或发布报告时,请带上官方 BibTeX 引用(来自 README.md):
@misc{hu2026cobaltstrike, title = {{Fox-IT Cobalt Strike Beacon Corpus}}, author = {Hu, Yun Zheng}, year = 2026, publisher = {Hugging Face}, organization = {Fox-IT}, doi = {10.57967/hf/10887}, url = {https://huggingface.co/datasets/fox-srt/cobaltstrike-beacon-corpus}, note = {Beacons collected from internet-facing Team Servers, July 2018 to September 2026} }小贴士:内部情报报告里,建议同时注明"数据来源为 Fox-IT Cobalt Strike Beacon Corpus,观测时间窗 2018-07 至 2026-09",让读者能复现与核验。
⚖️ 许可使用指南:CC BY 4.0 的边界
许可需要分两层理解,这是很多使用者会踩的坑:
- 元数据与解析配置:按Creative Commons Attribution 4.0 International(CC BY 4.0)发布——可自由使用、传播、改编,前提是署名(保留作者与来源)。
- 原始 Beacon 载荷:不在该许可覆盖范围内,按"原样提供、仅限研究用途"。也就是说,
payloads.parquet里的原始样本不能当作 CC BY 4.0 素材来商用或再分发。
一句话:元数据放心用(记得署名),原始载荷只做研究。
🧭 使用边界与安全注意事项
在把语料接入生产前,务必注意这些"官方提醒":
- 覆盖有限:只包含匹配指纹且开启了 staging 的 Team Server;关闭 staging、藏在 redirector / domain fronting 后的会被低估,且以 80/443/53 为主。
- 存在采集缺口:因停机可能造成某些月份数据偏低,请视为"采集缺口"而非"Cobalt Strike 使用下降"。
- 并非全部恶意:合法红队也使用 Cobalt Strike。不要仅凭本语料就把某个 IP / 域名 / watermark 判定为恶意。
- 数据会过期:IP 与域名会被回收复用。观测只说明"采集当天该主机下发了什么",不代表它今天仍在服务。
- 安全处置:原始 Beacon 是真实恶意 stager,可能含可用 C2 地址;解包与运行都在隔离环境进行,像对待任何恶意样本一样对待。
🗂 相关文件索引
| 文件 | 说明 |
|---|---|
| README.md | 数据集说明、Schema、用法与许可(本文主要依据) |
| data/beacons.parquet | IOC 主表,一次观测一行 |
| data/payloads.parquet | 原始 Beacon 载荷(CaRT 封装) |
| beacon_research.ipynb | 官方示例:统计、图表与 IOC 挖掘 |
最后提醒:把它当作"高质量的 C2 情报原料",而不是"最终判定依据"。结合自己的威胁情报平台做交叉验证,才是这套语料最大的价值所在。
- 数据集
- 网络安全
【免费下载链接】cobaltstrike-beacon-corpus
相关推荐
OpenEBS LVM 卷组快照(Volume Group Snapshot)设计剖析:多卷一致性快照的 CSI 实现路径
OpenEBS LVM 卷组快照(Volume Group Snapshot)设计剖析:多卷一致性快照的 CSI 实现路径 导读 本文围绕 OpenEBS 的
数据集网络安全Cobalt Strike DNS Beacon 趋势研究:基于 Beacon Corpus 完整分析 53 端口隐蔽 C2 流量
Cobalt Strike DNS Beacon 趋势研究:基于 Beacon Corpus 完整分析 53 端口隐蔽 C2 流量 Cobalt Strike
数据集网络安全Decepticon Cobalt Strike Beacon 作战手册:Teamserver、Malleable C2 与 OPSEC 实战指南
Decepticon Cobalt Strike Beacon 作战手册:Teamserver、Malleable C2 与 OPSEC 实战指南 导读 本文档
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考