高性能OSINT/CTI框架,支持跨120+来源的自动化身份交叉关联与风险分析。
专为红队、数字取证和企业暴露分析设计的OSINT框架。
NOX是一个专用构建的网络威胁情报引擎,专为需要速度、操作安全性和深度统一框架的操作人员设计。它不是一个围绕现有工具的包装器——它是一个完全异步、插件驱动的智能平台,执行逻辑和源定义严格分离。
NOX基于严格的关注点分离:nox.py是一个纯粹、中立的执行引擎——它处理异步I/O、JA3指纹、SSL会话管理、递归枢纽和结果关联。它不包含任何硬编码的智能逻辑。
所有智能都定义为sources/中的JSON插件。这些插件是NOX查询什么、如何认证以及提取什么内容的唯一事实来源。构建工具build_sources.py是创建或修改它们的唯一授权方式。```
build_sources.py ──► sources/*.json ──► nox.py (runtime loader)
[Builder] [Plugins] [Execution Engine]
> [!IMPORTANT]
> **`sources/*.json` 文件是自动生成的产物。切勿直接编辑它们。**
> 所有源添加和修改必须在 `build_sources.py` 中完成,并通过运行 `python build_sources.py` 来应用。手动编辑将在下次构建时被覆盖。
#### 源模式```json
{
"name": "MyPrivateDB",
"endpoint": "https://api.myprivatedb.com/search?q={target}",
"method": "GET",
"headers": { "Authorization": "Bearer {MY_API_KEY}" },
"regex_pattern": "([\\w.+-]+@[\\w-]+\\.[\\w.]+):([\\S]+)",
"required_api_key_name": "MY_API_KEY",
"api_key_slots": ["{MY_API_KEY}"],
"input_type": "email",
"output_type": ["username", "ip"],
"pivot_types": ["email", "username"],
"confidence": 0.9
}
支持的字段:name, endpoint, method, headers, regex_pattern (或 json_root + normalization_map), required_api_key_name, api_key_slots, input_type, output_type, pivot_types, confidence。
--autoscan (CLI) / autoscan (REPL) 通过单个命令执行完整的智能管道:```
For each asset (seed + every discovered identifier):
├─ Phase 1 — Breach Scan
│ 124 sources queried in parallel (async)
│
├─ Phase 2 — Hash Crack (non-blocking, concurrent)
│ Hashes found in breach data → rainbow-table APIs → cracked plaintext
│ → password-recycling breach scan
│
├─ Phase 3 — Dorking
│ Google/Bing/SearXNG dorks → leaked docs, .env files, SQL dumps
│ → new identifiers extracted and re-injected
│
└─ Phase 4 — Scraping
Pastebin, IntelX, Telegram CTI channels → credential extraction
→ new identifiers extracted and re-injected
All identifiers discovered in phases 1–4 are re-injected as new seeds. Child assets are processed concurrently via asyncio.gather.
`scan`(不带`--autoscan`)仅运行第一阶段——仅针对泄露源,无后续的 pivot/dork/scrape 步骤。
---
### 递归雪崩引擎
在扫描过程中发现的每一个标识符——无论来自泄露记录、dork 命中结果,还是从 paste 或 Telegram 内容中抓取的信息——都被视为一个新的情报种子。对于每个资产,引擎依次执行四个阶段:泄露扫描 → 哈希破解 → dork → 抓取。**全部四个阶段**中提取出的标识符都会被收集并重新注入作为新的种子。随后,子资产会通过 `asyncio.gather` 并发处理。```
[email protected]
└─► [Breach] username: j.doe ──► [Breach + Crack + Dork + Scrape]
│ └─► github.com/jdoe ──► [Breach + Crack + Dork + Scrape]
└─► [Breach] hash: 5f4dcc... ──► [AutoCrack] → "password123"
│ └─► [Breach] password-recycling scan across all sources
└─► [Dork] [email protected] ──► [Breach + Crack + Dork + Scrape]
└─► [Scrape/paste] [email protected] ──► [Breach + Crack + Dork + Scrape]
seen_assets 集合 — 全局去重;任何标识符无论由哪个阶段发现,都不会被处理两次。--threads 设置。--depth N — 可配置的枢轴深度(默认值:2);硬性后止点防止递归失控。--no-pivot — 禁用递归增强,仅执行快速泄露扫描。当在 --autoscan 期间于泄露数据中发现哈希时:
nox_system.log,在报告中保留哈希,并立即继续所有其他资产的枢轴处理破解过程是完全非阻塞的。超时或 API 失败绝不会暂停扫描。使用 --no-online-crack 将破解限制为仅使用本地词表(不向第三方 API 发送数据)。
守护引擎是 NOX 的零配置 OPSEC 层。当未提供 --proxy 或 --tor 标志时,它会自动激活。
解析顺序:
proxies.txt — 如果存在于工作目录中,NOX 会加载并轮换使用列表中的代理。proxies.txt,守护引擎会获取最新的一批高匿名公共代理,验证每个代理,并将验证通过的代理池保存在内存中供会话使用。不会写入磁盘。[!WARNING] 公共代理池本质上是不受信任的基础设施。对于敏感任务,请始终通过
--proxy提供可控代理,或通过--tor通过 Tor 路由流量。
| 标志 | 行为 |
|---|---|
--proxy <url> | 通过指定的 HTTP/S 或 SOCKS5 代理路由所有流量。禁用守护引擎。 |
所有报告格式均包含执行摘要仪表板:
| 指标 | 描述 |
|---|---|
| 总耗时 | 完整扫描的挂钟时间 |
| 发现的节点 | 跨所有来源发现的唯一身份数 |
| 明文密码 | 找到或破解的明文凭据数 |
| 枢轴深度 | 递归雪崩引擎达到的深度 |
报告还包含枢轴链可视化,显示从初始种子到最终发现的完整关系路径:``` [[email protected]] -> [LeakA / username:jdoe] -> [Dork: leaked .env] -> [[email protected]]
JSON导出包含一个`_meta`块,其中包含`scan_id`、`target`、`timestamp`、`nox_version`和`pivot_depth_reached`——使每个导出自描述,便于导入案例管理平台。
所有输出均已清理——代理错误、超时和回溯信息已被移除。仅包含可操作的情报。
---
## 文件系统布局```
~/.nox/
├── sources/ # Auto-generated JSON source plugins
├── reports/ # Generated forensic reports
├── logs/ # Runtime log (nox.log)
├── wordlists/ # Hash cracking wordlists
├── vault/ # Secure storage
└── nox_cache.db # Forensic persistence database (SQLite)
~/.config/nox-cli/
├── apikeys.json # API keys — chmod 0600, never committed to VCS
└── logs/
└── nox_system.log # Silent system log: API events, rate-limits, crack attempts
# .deb install (isolated venv)
/opt/nox-cli/
├── nox.py
├── build_sources.py
├── requirements.txt
├── sources/
└── .venv/ # Isolated Python environment (PEP 668 compliant)
python3-pip)--tor 时需要。在 Kali 上:sudo apt install tor -y。tor 服务必须在端口 9050 上运行。从 Releases 页面 下载 .deb 包,然后运行:```bash
sudo dpkg -i nox-cli_*_all.deb
nox-cli --help
安装后脚本会自动执行以下操作:
1. 在 `/opt/nox-cli/.venv` 创建独立的虚拟环境
2. 在虚拟环境中安装所有 Python 依赖(符合 PEP 668 — 零系统污染)
3. 构建 124 个源插件
4. 创建软链接 `/usr/bin/nox-cli` → `/opt/nox-cli/nox-wrapper.sh`
### 选项二:从源码安装```bash
git clone https://github.com/nox-project/nox-framework.git
cd nox-framework
pip install -r requirements.txt
python build_sources.py
python3 nox.py
步骤 1 — 构建源插件 (仅从源代码构建 — .deb 包会自动完成此操作)```bash python build_sources.py
**步骤2 — 配置API密钥**
`build_sources.py` 在首次运行时创建 `~/.config/nox-cli/apikeys.json`,预先填充了所有支持的服务。该文件权限为 `chmod 0600`,且绝不会提交到 VCS。
这是**唯一规范的密钥存储** — 所有来源在运行时都从中读取。```bash
# Edit the file directly
nano ~/.config/nox-cli/apikeys.json
# Or inspect plugin status and key configuration
nox-cli --list-sources
[!NOTE] 任何设置为
INSERT_API_KEY_HERE或""的密钥均被视为未配置——该源将被静默跳过。无需密钥要求的源始终处于活动状态。加载优先级: 环境变量(例如
export HIBP_API_KEY=xxx)→~/.config/nox-cli/apikeys.json
第3步——执行
[!NOTE] OPSEC 终止开关: 默认情况下,NOX 会激活 Guardian 引擎(自动代理轮换)。使用
--guardian-off直接连接。```bash
nox-cli -t [email protected]
nox-cli -t [email protected] --autoscan
nox-cli -t [email protected] --autoscan --tor
nox-cli -t [email protected] --autoscan --proxy socks5://127.0.0.1:1080 -o report.pdf --format pdf
nox-cli -t [email protected] --autoscan --depth 3
nox-cli -t [email protected] --no-pivot
nox-cli -t company.com
nox-cli --crack 5f4dcc3b5aa765d61d8327deb882cf99
nox-cli --crack 5f4dcc3b5aa765d61d8327deb882cf99 --no-online-crack
nox-cli --analyze "P@ssw0rd123"
nox-cli --dork [email protected]
nox-cli --scrape [email protected]
nox-cli -t [email protected] --diff
nox-cli --list-sources
nox-cli --reset-sources
---
## CLI 参考```
usage: nox-cli [-h] [-t TARGET] [-i] [--version]
[--autoscan] [--fullscan] [--no-pivot] [--depth N]
[--dork TARGET] [--scrape TARGET]
[--crack HASH] [--no-online-crack]
[--analyze PASS] [--list-sources] [--reset-sources]
[--tor] [--proxy URL] [--guardian-off] [--allow-leak]
[--threads N] [--timeout N]
[-o FILE] [--format {json,csv,html,md,pdf}]
[--diff]
-t, --target TARGET Target to scan (auto-detected type)
-i, --interactive Launch interactive REPL
--version Show version and exit
--autoscan Full pipeline: breach + pivot + dork + scrape
--fullscan Breach + pivot only (no dork/scrape)
--no-pivot Disable recursive pivot enrichment
--depth N Avalanche pivot depth (default: 2)
--dork TARGET Google/Bing/SearXNG dorking for leaked documents
--scrape TARGET Paste site + Telegram scraping
--crack HASH Identify and crack a hash
--no-online-crack Local wordlist only — no data sent to third-party APIs
--analyze PASS Deep password strength analysis
--list-sources Plugin debug: input type, confidence, key status
--reset-sources Force resync of source plugins from package
--tor Route all traffic through Tor (port 9050)
--proxy URL HTTP/S or SOCKS5 proxy URL
--guardian-off Bypass OPSEC kill-switch (direct connection)
--allow-leak Allow direct connection if proxy/Tor is unavailable
--threads N Concurrency limit (default: 20)
--timeout N Request timeout in seconds (default: 15)
-o, --output FILE Output file path
--format FORMAT Output format: json, csv, html, md, pdf
--diff Show only new findings vs last cached scan
启动交互式 REPL,无需任何参数:```bash nox-cli
(由于没有提供待翻译的内容,输出为空。)```
Command Description
----------- ---------------------------------------------------------------
autoscan Full pipeline: breach + pivot + dork + scrape
scan Breach intelligence scan only
dork Google/Bing/SearXNG dorking for leaked documents
scrape Paste site + Telegram scraping
crack Identify and crack a hash
analyze Deep password strength analysis
graph ASCII identity graph of last scan
visualize ASCII relationship map (Target → Data → Pivots)
pivot <n> Re-scan using result #n as new pivot seed
search <q> Filter in-memory records by keyword
sources Plugin debug: input type, confidence, key status
export Export results (json / csv / html / md / pdf)
tor Toggle Tor routing on/off
proxy Set or clear proxy URL
config Configure threads / timeout / depth
help Show this menu
quit Exit NOX
示例:``` nox> autoscan [email protected] nox> graph nox> visualize nox> pivot 3 nox> search admin nox> export pdf investigation.pdf nox> sources nox> config threads 30 nox> config depth 3 nox> proxy socks5://127.0.0.1:1080 nox> tor
---
## 源管理
### 添加源
**1. 在 `build_sources.py` 中定义:**```python
_auth("NewIntelDB", "breaches",
"https://api.newinteldb.com/v1/search?q={target}", "GET",
{"results": "$.results"},
headers={"X-API-Key": "{NEWINTELDB_API_KEY}"},
api_key_slots=["{NEWINTELDB_API_KEY}"],
normalization_map={"email": "email", "password": "password"},
input_type="email",
output_type=["username", "ip"],
confidence=0.85)
2. 重建:```bash python build_sources.py
> [!NOTE]
> The builder validates every source at build time: GET endpoints 必须包含 `{target}`,volatile sources 必须有 `reliability_score ≤ 4`,并且 `confidence` 字段可以显式设置以覆盖公式推导的值。
---
## 构建 .deb 软件包```bash
gem install fpm
bash build_deb.sh
sudo dpkg -i dist/nox-cli_*_all.deb
[!WARNING] NOX 仅供以下场景使用:
- 获得明确书面授权的渗透测试和红队演练
- 对您拥有或受聘评估的资产进行企业暴露分析
- 数字取证与事件响应
- 在受控隔离环境中进行的学术与安全研究
未经明确书面许可,针对系统、网络或个人未经授权使用此工具属于刑事犯罪,违反《计算机欺诈与滥用法》(CFAA, 18 U.S.C. § 1030)、《计算机滥用法 1990》(CMA)以及全球所有主要司法管辖区的同等法律。
NOX 的作者和贡献者对因滥用本软件而导致的任何直接、间接、附带或后果性损害不承担任何责任。下载、安装或运行 NOX 即表示您无条件同意遵守所有适用的地方、国家和国际法律,并仅针对您持有明确书面授权的系统和数据。
如果您不同意这些条款,请勿使用本软件。
| 能力 | 详情 |
|---|
| ⚡ 异步执行引擎 | 在124个情报源上实现大规模并行扫描,无顺序瓶颈和无阻塞I/O。 |
| 🛡️ 守护引擎 | 集成的OPSEC层,具有自动代理轮换和SOCKS5支持。如果传输线路不可用,故障安全终止开关将停止所有流量。 |
| 🧠 风险评分 | 动态0–100评分,具有时间衰减、源置信度加权、密码复杂性分析、持久性乘数和HVT检测。 |
| 🔗 递归雪崩引擎 | 每个发现的资产——用户名、电子邮件、破解密码、电话——都会自动重新注入为新的扫描种子。每个资产管线顺序执行(泄露→破解→构造查询→抓取);子资产并发运行。所有四个阶段的标识符都馈入枢纽队列。全局去重和可配置深度限制防止失控递归。 |
| 🔍 自动扫描 | 单命令触发泄露扫描+递归枢纽+构造查询+粘贴抓取——完全自动化,无需手动链接。 |
| 功能 | 描述 |
|---|
| 124个JSON插件源 | 每个情报源都是一个JSON插件。执行引擎不包含任何硬编码的源逻辑。 |
| 异步核心 | 完整的asyncio事件循环,包含JA3指纹、SSL会话管理、每请求抖动和可配置的并发度。 |
| 自动扫描管线 | --autoscan触发:泄露扫描→递归枢纽→Google/Bing/SearXNG构造查询→粘贴/Telegram抓取——全部在一个命令中。 |
| 递归雪崩引擎 | 每个发现的标识符——来自泄露记录、构造查询命中或抓取的粘贴/Telegram内容——都会重新注入为新的种子。每个资产管线顺序执行(泄露→破解→构造查询→抓取);子资产通过asyncio.gather并发运行。全局seen_assets集合防止无限循环。并发度和深度可通过--threads和--depth在运行时完全配置。 |
| 哈希枢纽 | 在泄露数据中找到的哈希会自动识别(MD5/SHA1/SHA256/NTLM/bcrypt),并通过并发后台API查询破解。破解的明文作为密码回收种子注入枢纽队列。失败会被静默记录——扫描不会停止。 |
| 守护代理引擎 | 零配置OPSEC层:如果存在则读取proxies.txt;否则自动获取并验证内存中的高匿名代理池。完全支持SOCKS5/HTTP/S和Tor。 |
| API密钥轮换 | 每个源有api_key_slots——NOX在多个密钥之间轮询以绕过每个密钥的速率限制。 |
| 身份图 | Union-Find关联引擎将所有源中的泄露记录统一为身份集群,使用类型感知的枢纽分类。 |
| 企业取证报告 | 专业的PDF/HTML/JSON/CSV/Markdown报告,包含执行摘要仪表板(总时间、发现的节点、明文密码、枢纽深度)、交互式枢纽链可视化以及严格的数据清理——输出中没有技术噪音。JSON导出自我描述,包含完整的元数据块。 |
| HVT检测 | 自动将C级、管理员、DevOps和政府域账户标记为高价值目标。 |
| 构造查询引擎 | 通过Google/Bing/SearXNG构造查询进行被动文档发现,并提取PDF/Office元数据。 |
| 抓取引擎 | 粘贴站点索引、Telegram CTI频道监控、凭据提取和错误配置发现。每个自动扫描资产都有专用的抓取会话——无共享状态。 |
| 代理 / Tor | SOCKS5、HTTP/S代理、通过stem的完整Tor路由,以及自动Guardian回退。SOCKS5代理通过aiohttp-socks验证并正确路由。 |
| 安全密钥存储 | API密钥通过~/.config/nox-cli/apikeys.json管理(chmod 0600)。未配置的密钥被静默跳过。通过环境变量设置的密钥会自动拾取,无需重启。 |
| 系统日志 | 所有扫描事件、阶段完成、枢纽发现、API事件、速率限制和破解尝试都写入~/.nox/logs/nox.log。只有可操作的情报才会到达终端。 |
| 插件调试 | --list-sources打印完整的操作员调试表:插件名称、输入类型、置信度分数、密钥状态(已配置/未配置/公开)以及任何JSON解析错误。 |
--tor | 通过 Tor 路由所有流量(需要在端口 9050 上运行 tor 服务)。禁用守护引擎。 |
--guardian-off | 绕过 OPSEC 终止开关并直接连接。 |
| (无标志) | 守护引擎自动激活。 |