ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

将Cobalt Strike Beacon Corpus接入威胁情报工作流:C2 IOC监控、数据引用与许可使用指南

将Cobalt Strike Beacon Corpus接入威胁情报工作流:C2 IOC监控、数据引用与许可使用指南
  • 数据集
  • 网络安全

【免费下载链接】cobaltstrike-beacon-corpus

项目地址:https://ai.gitcode.com/hf_mirrors/fox-srt/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:port36,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.parquet190,182一次观测一行:何时、何地从哪台 Beacon 抓取,外加解析后的配置
data/payloads.parquet56,843一个 Beacon 一行:原始载荷,以 CaRT 格式封装
beacon_research.ipynb—官方示例:统计、图表、IOC 挖掘

多数场景只需要beacons.parquet;只有当你要复解析或排查解析失败样本时,才需要下载payloads.parquet。

beacons.parquet:一次观测一行(IOC 主表)

这一列是 IOC 的核心来源,常用字段:

字段含义情报用途
collected_from_ip/collected_from_portTeam Server 地址与端口生成ip:portIOC
protocol监听协议(http/https/dns…)区分 C2 通道
watermarkBeacon 水印(十六进制)攻击者画像 / 聚类
version检测到的 Cobalt Strike 版本画像与时间线
tls_fingerprint_sha256Team Server 证书 SHA256 指纹证书聚类
sha256Beacon 原始载荷哈希关联payloads.parquet
config_json完整解析配置(JSON 字符串)抽取域名等细节
geo_asn/geo_countryIP 的 ASN / 国家地理分布

payloads.parquet:原始 Beacon 载荷

字段含义
sha256/md5载荷哈希,可与beacons.parquet关联
beacon_sizeBeacon 字节大小
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 监控工作流落地清单

把数据变成一条可持续运行的监控流水线,建议按下面四步落地:

  1. 提取 IOC用 SQL 从beacons.parquet抽取ip:port、域名(config_json.domains)、证书指纹、watermark,导出成 IOC 清单(CSV / JSON)。
  2. 入库与告警将 IOC 推入 SIEM / 威胁情报平台,对ip:port、域名、tls_fingerprint_sha256设阈值与告警规则。
  3. 关联去重以sha256、watermark、公钥为纽带,把同一攻击者的多批 Beacon 聚类,形成"画像"。
  4. 周期性刷新数据集是快照。建议按固定周期重跑查询、对比新增 IOC,再入库告警,形成闭环。

常见 IOC 类型与来源字段对照:

IOC 类型来源字段用途
Team Serverip:portcollected_from_ip/collected_from_port封禁 / 监控
C2 域名config_json.domainsDNS 阻断
TLS 证书指纹tls_fingerprint_sha256证书聚类
Watermarkwatermark攻击者画像
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.parquetIOC 主表,一次观测一行
data/payloads.parquet原始 Beacon 载荷(CaRT 封装)
beacon_research.ipynb官方示例:统计、图表与 IOC 挖掘

最后提醒:把它当作"高质量的 C2 情报原料",而不是"最终判定依据"。结合自己的威胁情报平台做交叉验证,才是这套语料最大的价值所在。

  • 数据集
  • 网络安全

【免费下载链接】cobaltstrike-beacon-corpus

项目地址:https://ai.gitcode.com/hf_mirrors/fox-srt/cobaltstrike-beacon-corpus
点击查看免费下载
上一篇:从克隆到跑通:Docker 一键拉起 i茅台自动预约系统 campus-imaotai
下一篇:终极指南:轻量级JS状态管理方案对比 - Zustand与Jotai入门教程

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进