controllocked/STIX2Maltego-Intelligence-Graph-Importer

GitHub: controllocked/STIX2Maltego-Intelligence-Graph-Importer

该工具将 STIX 2.0/2.1 JSON bundle 在本地导入 Maltego,自动生成结构化的网络威胁情报可视化图谱,解决情报数据难以直观展示和关联分析的问题。

Stars: 0 | Forks: 0

# STIX JSON 到 Maltego 情报图谱 本地 Maltego 图谱集成,用于将 STIX 2.0/2.1 bundles 导入为对分析人员友好的网络威胁情报图谱。 该集成保留 STIX ID 和属性,恢复有向关系,将有用的 observables 映射到原生的 Maltego 实体,从 Indicator 模式中提取安全的等价 IOC 值,并创建包含警告和对象计数的 bundle 摘要。 ## 环境要求 - Python 3.12 - Maltego Graph 4.8 或更新版本 - 本地虚拟环境 ## 安装说明 ``` python3.12 -m venv .venv .venv/bin/pip install -e '.[dev]' .venv/bin/python -m stix2maltego.cli build-mtz \ --output stix2maltego.mtz \ --working-dir . ``` 使用 **Import Configuration** 在 Maltego 中导入 `stix2maltego.mtz`。该 MTZ 包含: - 自定义 STIX 实体 - 本地 transform 定义 - `STIX Intelligence Graph` transform 集合 - `STIX JSON to Intelligence Graph` Machine 生成的本地 transform 设置包含当前检出目录和 Python 解释器的绝对路径。在移动项目或重新创建虚拟环境后,请重新构建 MTZ。 ## 在 Maltego 中使用 1. 将 **STIX Source** 实体拖到图谱中。 2. 将其值设置为本地 JSON 路径、内联 bundle JSON 或 HTTPS URL。 3. 将 **Source Kind** 设置为 `auto`、`file`、`inline` 或 `url`。默认为 `auto`。 4. 运行 **STIX JSON to Intelligence Graph** Machine。 Machine 会导入 analyst 视图,创建 Report 引用,恢复 STIX Relationship Objects,展开 Observed Data,派生安全的 IOC 值,添加 Sighting 证据,并应用分层布局。 手动 transforms 依然可用于专注的 pivot 和进一步扩展。 ## CLI 验证并总结 bundle: ``` .venv/bin/stix2maltego inspect /path/to/bundle.json ``` 下载公开的 OASIS APT1 示例: ``` .venv/bin/python scripts/download_demo.py apt1 .venv/bin/stix2maltego inspect examples/downloaded/apt1.json ``` 直接运行本地 transform: ``` .venv/bin/python project.py list .venv/bin/python project.py local importstixbundle \ /path/to/bundle.json 'source.kind=file' ``` ## 图谱模型 自定义实体涵盖 Reports、Threat Actors、Intrusion Sets、Campaigns、Malware、Tools、Indicators、Attack Patterns、Vulnerabilities、Identities、Infrastructure、Observed Data、Courses of Action、Locations、Notes、Groupings、Evidence、常见的 SCO 类型、自定义 STIX 对象以及未解析的引用。 IPv4 地址、domains、URLs、email 地址和 hashes 使用原生的 Maltego 实体。它们将 `stix.id`、`stix.bundle_hash`、来源溯源信息以及原始的 STIX 元数据保留为动态属性。 自定义 STIX 实体使用 `stix.id` 作为主要匹配值,并使用 `stix.display_value` 作为人类可读的图谱标签。关系标签和方向来自 STIX SROs。高优先级关系具有不同的颜色和粗细程度。 ## 限制与安全 - 内联 JSON:256 KiB - 文件或 HTTPS 响应:20 MiB - Bundle 大小:5,000 个源对象 - Analyst 视图:1,500 个节点 - 关系预算:3,000 - 单次 pivot 结果限制:200 - 缓存生命周期:七天 - 原始对象 JSON 属性:64 KiB HTTPS 加载拒绝凭据、HTTP URL、localhost、私有地址、链路本地地址、保留地址以及其他非全局地址。每次重定向都会检查 DNS,并在保留主机名证书验证的同时,为 TLS 连接固定经过验证的公网 IP。 该集成不会将 bundle 内容发送到任何外部服务。 ## 开发说明 ``` .venv/bin/ruff check . .venv/bin/mypy stix2maltego project.py .venv/bin/pytest --cov=stix2maltego ``` 公开示例清单位于 `examples/public-bundles.json`。下载的第三方示例特意不被提交。
标签:文档结构分析, 逆向工具