news 2026/8/22 14:32:34

用attack-scripts秒查任意ATTCK数据源:techniques_from_data_source完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用attack-scripts秒查任意ATTCK数据源:techniques_from_data_source完整教程

用attack-scripts秒查任意ATT&CK数据源:techniques_from_data_source完整教程

【免费下载链接】attack-scriptsScripts and a (future) library to improve users' interactions with the ATT&CK content项目地址: https://gitcode.com/gh_mirrors/at/attack-scripts

attack-scripts是 MITRE 官方维护的一套 ATT&CK 内容处理脚本集合,其中的techniques_from_data_source.py脚本可以从 ATT&CK TAXII 服务器实时拉取 STIX 2.0 数据,一键打印 Enterprise ATT&CK 中的全部数据源,并秒查任意指定数据源对应的所有攻击技术(Techniques)。本教程面向新手,手把手带你完成安装、运行和结果解读。

一、为什么需要"数据源反查技术"?

在使用 ATT&CK 做检测建设时,安全分析师最常问的一个问题是:

"我的日志里已经采集了User Account(用户账户)这类数据源,那么这些日志能覆盖哪些攻击技术?"

传统做法是打开 ATT&CK 官网一个个技术页面翻找,效率极低。techniques_from_data_source正是为了解决这个问题而生的——输入一个数据源,立刻返回所有依赖它的技术清单,帮助你在几分钟内评估日志覆盖度。

二、项目结构速览 🔍

attack-scripts 仓库结构非常清晰,所有查询脚本都放在scripts目录下:

脚本作用
scripts/techniques_from_data_source.py本主角:按数据源反查技术
scripts/techniques_data_sources_vis.py生成"技术-数据源"可视化所需的 CSV
scripts/diff_stix.py对比两个 ATT&CK 版本的 STIX2 差异
scripts/technique_mappings_to_csv.py导出技术与缓解措施/组织/软件的映射表

更详细的脚本说明可参考 scripts 目录说明。

三、安装步骤:3 步搞定环境

脚本仅依赖 Python 3 和少量第三方库,安装过程不到 2 分钟:

第 1 步:克隆仓库

git clone https://gitcode.com/gh_mirrors/at/attack-scripts cd attack-scripts

第 2 步:创建并激活虚拟环境

# macOS / Linux python3 -m venv env source env/bin/activate # Windows py -m venv env env/Scripts/activate.bat

第 3 步:安装依赖

pip3 install -r requirements.txt

核心依赖是stix2==2.1.0taxii2-client==2.3.0(见 requirements.txt),它们分别负责 STIX 2.0 对象解析和 TAXII 2.0 服务器通信。

四、快速上手:一条命令秒查数据源

激活环境后,直接在仓库根目录运行:

python3 scripts/techniques_from_data_source.py

如果你不确定参数用法,加上-h查看帮助:

python3 scripts/techniques_from_data_source.py -h

运行后终端会分两部分输出:

  1. All data sources in Enterprise ATT&CK:列出 Enterprise ATT&CK 收录的全部数据源(如 Application Log、Network Traffic、Process、User Account 等),相当于给你一份"可查询清单";
  2. The following N techniques use '...' as a data source:列出所有使用默认数据源的技术名称。

💡 脚本默认查询的数据源是User Account: User Account Creation,不传参数也能直接出结果。

五、自定义查询:-data_source 参数详解

想查别的数据源?用-data_source参数传入完整名称即可:

python3 scripts/techniques_from_data_source.py -data_source "Process: Process Creation"

再比如查询与命令行数据源相关的技术:

python3 scripts/techniques_from_data_source.py -data_source "Command: Command Line"

小技巧:如果不确定数据源的准确写法,先不带参数跑一次,从输出的全量数据源清单里复制粘贴即可,避免因拼写错误导致查询结果为空。

六、原理解析:为什么它能"秒查"?

翻一下 scripts/techniques_from_data_source.py 源码,逻辑其实只有三步:

  1. 连接:通过taxii2clientCollection建立与 ATT&CK TAXII 2.0 服务器(Enterprise ATT&CK 集合)的连接;
  2. 拉取:用stix2TAXIICollectionSource查询所有attack-pattern类型对象(即技术);
  3. 过滤:每个技术的x_mitre_data_sources字段记录了它可被哪些数据源检测,脚本用Filter("x_mitre_data_sources", "in", data_source)在服务端完成过滤,返回命中该数据源的全部技术。

整个过程无需本地维护任何 ATT&CK 数据库,数据永远来自官方服务器的最新版本——这也是它"快"的原因:查询条件在 TAXII 服务端执行,只回传结果

同样的思路也用在 scripts/techniques_data_sources_vis.py 中,后者会进一步生成 CSV 用于绘制"技术-数据源"矩阵图。

七、常见问题 FAQ 🙋

Q1:运行报错taxii2client相关异常?脚本按最新版taxii2client编写。如果你的环境里装的是 2.0.0 之前的旧版本,可能需要打补丁或升级(pip install -U taxii2-client)。

Q2:查询结果为空怎么办?99% 的情况是数据源名称不匹配(大小写、冒号、空格)。先运行无参数模式,从全量清单中复制准确的字符串。

Q3:这个项目还在维护吗?该仓库已不再积极维护,MITRE 已将更多工具迁移到官方的mitreattack-pythonpip 模块中。本脚本仍可正常运行,但如需更完整的编程接口,建议了解mitreattack-python。相关演进记录可查阅 CHANGELOG.md。

Q4:能查 Mobile ATT&CK 吗?脚本中硬编码的是 Enterprise ATT&CK 的 TAXII 集合 ID,默认只覆盖 Enterprise 域。如需其他域,修改脚本顶部的Collection(...)参数即可。

八、总结

用一句话回顾本教程的核心链路:

克隆仓库 → 安装依赖 → 运行techniques_from_data_source.py→ 输入数据源 → 得到技术清单

通过 attack-scripts 的这套 ATT&CK 查询工具,你可以快速回答"我的日志能检测哪些攻击技术"这一检测建设中的关键问题。推荐你顺手体验一下同目录下的technique_mappings_to_csv.pydiff_stix.py,它们分别解决了"技术映射导出"和"ATT&CK 版本差异比对"的需求,配合使用能大幅提升安全运营效率。

【免费下载链接】attack-scriptsScripts and a (future) library to improve users' interactions with the ATT&CK content项目地址: https://gitcode.com/gh_mirrors/at/attack-scripts

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 14:31:19

5分钟部署Venice集群:Docker单机数据中心快速上手教程

5分钟部署Venice集群:Docker单机数据中心快速上手教程 【免费下载链接】venice Venice, Derived Data Platform for Planet-Scale Workloads. 项目地址: https://gitcode.com/gh_mirrors/venic/venice Venice 是 LinkedIn 开源的派生数据平台(Der…

作者头像 李华