eth08/threat_campaign_mapper
GitHub: eth08/threat_campaign_mapper
一款 Python 桌面工具,自动从 MITRE ATT&CK 提取恶意软件活动信息并关联 AlienVault OTX 的 IOC,为威胁情报分析提供一站式查询与导出能力。
Stars: 0 | Forks: 0
# Threat Campaign Mapper


一个 Python 脚本,可自动从 MITRE ATT&CK 提取恶意软件活动详情,并从 AlienVault OTX 收集相关的 IOC,为威胁情报提供全面的视图。
## 功能
* **异步数据获取**:使用 `QThreadPool` 和 `QRunnable` 在后台线程中获取和过滤活动数据,防止 UI 卡死。
* **渐进式 UI 更新**:随着搜索结果的发现,逐步将其流式传输到 UI,提供响应迅速的用户体验。
* **集成的 OTX IOC 搜索**:可选地为每个活动从 AlienVault OTX 获取入侵指标(IOC)(需要 API key)。
* **安全的 API Key 存储**:使用 `keyring` 库安全地存储您的 OTX API key,因此您无需重新输入。
* **灵活的搜索与过滤**:按文本搜索活动,并按特定日期范围过滤结果。
* **数据导出**:将结果导出为结构化的 XLSX 文件,或将特定的 IOC 类型导出为文本文件。
* **缓存数据**:在本地下载并缓存 MITRE ATT&CK 数据文件 24 小时,以减少后续搜索的下载时间。
## 安装
要设置应用程序,您首先需要安装所需的 Python 包。建议使用虚拟环境。
1. **克隆仓库(或下载脚本):**
git clone https://github.com/eth08/threat_campaign_mapper.git
cd threat_campaign_mapper
2. **创建虚拟环境:**
python -m venv venv
3. **激活虚拟环境:**
* 在 Windows 上:`venv\Scripts\activate`
* 在 macOS/Linux 上:`source venv/bin/activate`
4. **从 `requirements.txt` 安装依赖项:**
安装这些包:
pip install -r requirements.txt
*注意:`OTXv2` 和 `keyring` 库是可选的。没有它们,应用程序仍然可以运行,但 IOC 搜索和 API key 存储功能将被禁用。*
## 用法
1. **运行应用程序:**
python threat_campaign_mapper.py
2. **使用 UI:**
* 在“Search Text”框中输入搜索词。
* (可选)启用“Use Regex”进行更高级的搜索。
* 设置日期过滤器,根据“Last Seen”日期缩小结果范围。
* 勾选“Enable OTX IOCs Search”以为每个活动检索 IOC。如果是您第一次使用,系统会提示您输入您的 OTX API key,您可以使用“Save Key”按钮将其安全保存。
* 点击“Search Campaigns”开始搜索。
## 致谢
* **MITRE ATT&CK®**:活动和威胁信息的主要数据源。
* **AlienVault OTX**:提供用于检索威胁情报和 IOC 的公开 API。
* **PySide6**:用于构建 GUI 的框架。
* **Python 库**:
* `mitreattack-stix`
* `requests`
* `pandas`
* `openpyxl`
* `OTXv2`
* `keyring`
标签:Cloudflare, MITRE ATT&CK, PyQt, Python, 威胁情报, 开发者工具, 异步编程, 无后门, 逆向工具