
Framework de alto desempenho para OSINT/CTI que automatiza a pivoting de identidades e a análise de riscos em mais de 120 fontes.
Estrutura OSINT para red teaming, perícia digital e análise de exposição corporativa.
NOX é um motor de inteligência contra ameaças cibernéticas propositadamente construído para operadores que necessitam de velocidade, segurança operacional e profundidade num único quadro coeso. Não é um invólucro em torno de ferramentas existentes — é uma plataforma de inteligência totalmente assíncrona e orientada por plugins, com uma separação rigorosa entre lógica de execução e definições de fontes.
O NOX opera numa separação rigorosa de responsabilidades: nox.py é um motor de execução puro e agnóstico — lida com E/S assíncrona, fingerprinting JA3, gestão de sessão SSL, pivô recursivo e correlação de resultados. Não contém lógica de inteligência codificada.
Toda a inteligência é definida como plugins JSON em sources/. Estes plugins são a única fonte de verdade para o que o NOX consulta, como se autentica e o que extrai. A ferramenta de construção build_sources.py é a única forma autorizada de criá-los ou modificá-los.```
build_sources.py ──► sources/*.json ──► nox.py (runtime loader)
[Builder] [Plugins] [Execution Engine]
> [!IMPORTANTE]
> **Os arquivos `sources/*.json` são artefatos gerados automaticamente. Nunca os edite diretamente.**
> Todas as adições e modificações de fontes devem ser feitas em `build_sources.py` e aplicadas executando `python build_sources.py`. Edições manuais serão sobrescritas na próxima compilação.
#### Esquema da Fonte```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
}
Campos suportados: name, endpoint, method, headers, regex_pattern (ou json_root + normalization_map), required_api_key_name, api_key_slots, input_type, output_type, pivot_types, confidence.
--autoscan (CLI) / autoscan (REPL) executa o pipeline completo de inteligência em um único comando:```
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` (sem `--autoscan`) executa apenas a Fase 1 — fontes de violação, sem pivot/dork/scrape.
---
### Motor de Avalanche Recursivo
Cada identificador descoberto durante uma varredura — de registros de violação, resultados de dork ou conteúdo raspado de paste/Telegram — é tratado como uma nova semente de inteligência. Para cada ativo, o motor executa quatro fases sequencialmente: varredura de violações → crack de hash → dork → raspagem. Os identificadores extraídos de **todas as quatro fases** são coletados e reinjetados como novas sementes. Os ativos filhos são então processados concorrentemente via `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 — desduplicação global; nenhum identificador é processado duas vezes, independentemente da fase que o descobriu--threads--depth N — profundidade de pivô configurável (padrão: 2); barreira rígida evita recursão descontrolada--no-pivot — desativa o enriquecimento recursivo para uma varredura rápida apenas de violaçõesQuando um hash é encontrado nos dados de violação durante --autoscan:
nox_system.log, o hash é preservado no relatório e o pivô em todos os outros ativos continua imediatamenteO processo de quebra é totalmente não bloqueante. Um timeout ou falha de API nunca pausa a varredura. Use --no-online-crack para restringir a quebra apenas à wordlist local (nenhum dado enviado para APIs de terceiros).
O Mecanismo Guardian é a camada OPSEC de configuração zero do NOX. Ele é ativado automaticamente quando nenhuma flag --proxy ou --tor é fornecida.
Ordem de resolução:
proxies.txt — se presente no diretório de trabalho, o NOX carrega e faz rotação entre os proxies listados.proxies.txt estiver ausente, o Mecanismo Guardian busca uma nova lista de proxies públicos de alto anonimato, valida cada um e mantém o pool validado na memória para a sessão. Nada é escrito no disco.[!WARNING] Pools de proxy público são inerentemente infraestrutura não confiável. Para engajamentos sensíveis, sempre forneça um proxy controlado via
--proxyou encaminhe através do Tor via--tor.
Todos os formatos de relatório incluem um painel de Resumo Executivo:
| Métrica | Descrição |
|---|---|
| Tempo Total | Duração em tempo real da varredura completa |
| Nós Descobertos | Identidades únicas encontradas em todas as fontes |
| Senhas em Texto Claro | Credenciais em texto simples encontradas ou quebradas |
| Profundidade de Pivô | Profundidade atingida pelo mecanismo de avalanche recursiva |
Os relatórios também incluem uma Visualização da Cadeia de Pivô mostrando o caminho relacional completo desde a semente inicial até a descoberta final:``` [[email protected]] -> [LeakA / username:jdoe] -> [Dork: leaked .env] -> [[email protected]]
Exportações JSON incluem um bloco `_meta` com `scan_id`, `target`, `timestamp`, `nox_version` e `pivot_depth_reached` — tornando cada exportação autodescritiva para ingestão em plataformas de gerenciamento de casos.
Toda a saída é sanitizada — erros de proxy, timeouts e tracebacks são removidos. Apenas inteligência acionável é incluída.
---
## Layout do Sistema de Arquivos```
~/.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 no Debian/Kali)--tor. No Kali: sudo apt install tor -y. O serviço tor deve estar em execução na porta 9050.Baixe o pacote .deb da página de Releases e então execute:```bash
sudo dpkg -i nox-cli_*_all.deb
nox-cli --help
O script de pós-instalação automaticamente:
1. Cria um ambiente virtual isolado em `/opt/nox-cli/.venv`
2. Instala todas as dependências Python dentro do venv (compatível com PEP 668 — zero poluição do sistema)
3. Compila os 124 plugins de fonte
4. Vincula `/usr/bin/nox-cli` → `/opt/nox-cli/nox-wrapper.sh`
### Opção 2: A partir do código fonte```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
Passo 1 — Compilar plugins de origem (apenas a partir da fonte — .deb faz isso automaticamente)```bash python build_sources.py
**Passo 2 — Configurar chaves de API**
`build_sources.py` cria `~/.config/nox-cli/apikeys.json` na primeira execução, pré-preenchido com todos os serviços suportados. O arquivo tem permissão `chmod 0600` e nunca é enviado para o VCS.
Este é o **repositório canônico único de chaves** — todas as fontes o leem em tempo de execução.```bash
# Edit the file directly
nano ~/.config/nox-cli/apikeys.json
# Or inspect plugin status and key configuration
nox-cli --list-sources
[!NOTE] Qualquer chave definida como
INSERT_API_KEY_HEREou""é tratada como não configurada — essa fonte é ignorada silenciosamente. Fontes sem exigência de chave estão sempre ativas.Prioridade de carregamento: variável de ambiente (ex.:
export HIBP_API_KEY=xxx) →~/.config/nox-cli/apikeys.json
Passo 3 — Executar
[!NOTE] Interruptor de Segurança OPSEC: Por padrão, o NOX ativa o Guardian Engine (rotação automática de proxy). Use
--guardian-offpara conectar diretamente.```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
---
---
## Referência da 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
Inicie o REPL interativo sem argumentos:```bash nox-cli
--pdf DEBUG
Habilitar saída detalhada da análise de PDF.
--crack WORDLIST, -c WORDLIST
Quebrar hashes de senha usando um arquivo de wordlist.
--generate-pdf-template OUTPUT_PATH
Gerar um PDF de exemplo com metadados interessantes para testes.
--version, -v
Mostrar número da versão e sair.
-h, --help
Mostrar esta mensagem de ajuda e sair.
### Exemplos
1. Análise básica de um PDF:
```
pdfsleuth -f document.pdf
```
2. Extrair todos os objetos e fluxos:
```
pdfsleuth -f document.pdf --extract-all
```
3. Extrair objeto específico (por exemplo, obj 5):
```
pdfsleuth -f document.pdf --extract 5
```
4. Pesquisar por uma string específica:
```
pdfsleuth -f document.pdf --search "password"
```
5. Verificar PDF com regras YARA:
```
pdfsleuth -f document.pdf --yara rules/malicious.yar
```
6. Verificar assinaturas digitais:
```
pdfsleuth -f document.pdf --verify
```
7. Salvar extração em diretório:
```
pdfsleuth -f document.pdf --extract-all -o /path/to/output
```
8. Extrair código JavaScript:
```
pdfsleuth -f document.pdf --extract-js
```
9. Analisar estrutura:
```
pdfsleuth -f document.pdf --analyze
```
10. Extrair metadados:
```
pdfsleuth -f document.pdf --metadata
```
11. Usar configuração personalizada:
```
pdfsleuth -f document.pdf -c config.json
```
12. Quebrar hash com wordlist:
```
pdfsleuth -f document.pdf --crack wordlist.txt
```
13. Executar com saída detalhada:
```
pdfsleuth -f document.pdf -vvv
```
14. Gerar PDF de teste:
pdfsleuth --generate-pdf-template test.pdf
```
15. Verificação rápida de todos os PDFs em um diretório:
```
pdfsleuth -d /path/to/pdfs/ -q
```
### Requisitos
* Python 3.8 ou superior
* Bibliotecas necessárias:
* pycryptodome
* pyyaml
* colorama
* rich
* yara-python (opcional - para verificação YARA)
* pdfminer.six (opcional - para extração de texto)
### Instalação
#### Do PyPI (Recomendado)
pip install pdfsleuth
#### A partir do código fonte
git clone https://github.com/snoopysecurity/pdfSleuth cd pdfSleuth pip install -e .
### Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request. Para mudanças significativas, por favor abra uma issue primeiro para discutir o que gostaria de alterar.
### Licença
Distribuído sob a licença BSD-3-Clause. Consulte o arquivo [LICENSE](https://github.com/nox-project/nox-framework/blob/HEAD/LICENSE) para detalhes.```
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
Exemplos:``` 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
---
## Gerenciamento de Fontes
### Adicionando uma Fonte
**1. Defina em `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. Reconstruir:```bash python build_sources.py
> [!NOTE]
> O builder valida cada fonte no momento da construção: endpoints GET devem conter `{target}`, fontes voláteis devem ter `reliability_score ≤ 4`, e o campo `confidence` pode ser definido explicitamente para substituir o valor derivado da fórmula.
---
## Construindo o Pacote .deb```bash
gem install fpm
bash build_deb.sh
sudo dpkg -i dist/nox-cli_*_all.deb
[!AVISO] O NOX destina-se exclusivamente a:
- Testes de penetração autorizados e operações de red team com consentimento explícito por escrito
- Análise de exposição corporativa em ativos que você possui ou sob contrato para avaliar
- Perícia digital e resposta a incidentes
- Pesquisa acadêmica e de segurança em ambientes controlados e isolados
O uso não autorizado desta ferramenta contra sistemas, redes ou indivíduos sem permissão explícita por escrito é crime nos termos da Lei de Fraude e Abuso Informático (CFAA, 18 U.S.C. § 1030), da Lei de Uso Indevido de Computadores de 1990 (CMA) e da legislação equivalente em todas as principais jurisdições mundiais.
Os autores e colaboradores do NOX não assumem qualquer responsabilidade por danos diretos, indiretos, incidentais ou consequenciais decorrentes do uso indevido deste software. Ao baixar, instalar ou executar o NOX, você concorda incondicionalmente em cumprir todas as leis locais, nacionais e internacionais aplicáveis e em ter como alvo apenas sistemas e dados para os quais possui autorização explícita e documentada.
Se você não concordar com estes termos, não utilize este software.
| Capacidade | Detalhe |
|---|
| ⚡ Motor de Execução Assíncrona | Digitalização maciçamente paralela em 124 feeds de inteligência sem estrangulamentos sequenciais e sem bloqueio de E/S. |
| 🛡️ Motor Guardião | Camada OPSEC integrada com rotação automática de proxy e suporte SOCKS5. Interruptor de segurança para falhas que interrompe todo o tráfego se o circuito de transporte não estiver disponível. |
| 🧠 Pontuação de Risco | Pontuação dinâmica de 0–100 com decaimento temporal, ponderação de confiança da fonte, análise de complexidade de senhas, multiplicadores de persistência e deteção de HVT. |
| 🔗 Motor de Avalanche Recursiva | Cada ativo descoberto — nome de utilizador, e-mail, senha quebrada, telefone — é automaticamente reinjetado como uma nova semente de digitalização. O pipeline por ativo é executado sequencialmente (brecha → quebra → dork → raspagem); os ativos filhos são executados concorrentemente. Identificadores de todas as quatro fases alimentam a fila de pivô. A deduplicação global e um limite de profundidade configurável previnem recursão descontrolada. |
| 🔍 Digitalização Automática | Um único comando aciona digitalização de brecha + pivô recursivo + dorking + raspagem de paste — totalmente automatizado, sem encadeamento manual. |
| Funcionalidade | Descrição |
|---|
| 124 Plugins de Fonte JSON | Cada fonte de inteligência é um plugin JSON. O motor de execução não contém lógica de fonte codificada. |
| Núcleo Assíncrono | Ciclo de eventos asyncio completo com fingerprinting JA3, gestão de sessão SSL, jitter por pedido e concorrência configurável. |
| Pipeline de Digitalização Automática | --autoscan aciona: digitalização de brecha → pivô recursivo → dorking Google/Bing/SearXNG → raspagem de paste/Telegram — tudo num único comando. |
| Motor de Avalanche Recursiva | Cada identificador descoberto — de registos de brecha, resultados de dork ou conteúdo raspado de paste/Telegram — é reinjetado como uma nova semente. O pipeline por ativo é sequencial (brecha → quebra → dork → raspagem); os ativos filhos são executados concorrentemente via asyncio.gather. Um conjunto global seen_assets previne loops infinitos. A concorrência e a profundidade são totalmente configuráveis em tempo de execução via --threads e --depth. |
| Pivô de Hash | Hashes encontrados em dados de brecha são automaticamente identificados (MD5/SHA1/SHA256/NTLM/bcrypt) e quebrados através de consultas concorrentes a APIs em segundo plano. Textos simples quebrados são injetados na fila de pivô como sementes de reciclagem de senhas. Falhas são registadas silenciosamente — a digitalização nunca para. |
| Motor Guardião de Proxy | Camada OPSEC sem configuração: lê proxies.txt se presente; caso contrário, obtém e valida automaticamente um conjunto de proxies de alto anonimato em memória. Suporte total a SOCKS5/HTTP/S e Tor. |
| Rotação de Chaves de API | api_key_slots por fonte — NOX faz round-robin entre múltiplas chaves para contornar limites de taxa por chave. |
| Grafo de Identidade | Motor de correlação Union-Find unifica registos de brecha em clusters de identidade em todas as fontes, utilizando classificação de pivô consciente do tipo. |
| Relatórios Forenses Empresariais | Relatórios profissionais em PDF/HTML/JSON/CSV/Markdown com painel de Resumo Executivo (Tempo Total, Nós Descobertos, Senhas em Texto Claro, Profundidade de Pivô), Visualização Interativa da Cadeia de Pivô e sanitização rigorosa de dados — sem ruído técnico na saída. Exportações JSON são autodescritivas com um bloco de metadados completo. |
| Deteção de HVT | Assinala automaticamente contas de nível C, Administrador, DevOps e de domínio governamental como Alvos de Alto Valor. |
| Motor de Dorking | Descoberta passiva de documentos via dorks Google/Bing/SearXNG com extração de metadados de PDF/Office. |
| Motor de Raspagem | Indexação de sites de paste, monitorização de canais CTI do Telegram, extração de credenciais e descoberta de má configuração. Cada ativo de digitalização automática recebe uma sessão de raspagem dedicada — sem estado partilhado. |
| Proxy / Tor | Proxy SOCKS5, HTTP/S, roteamento Tor completo via stem e fallback automático do Guardião. Proxies SOCKS5 são validados e roteados corretamente via aiohttp-socks. |
| Cofre de Chaves Seguro | Chaves de API geridas via ~/.config/nox-cli/apikeys.json (chmod 0600). Chaves não configuradas são ignoradas silenciosamente. Chaves definidas via variável de ambiente são capturadas automaticamente sem necessidade de reinício. |
| Registo do Sistema | Todos os eventos de digitalização, conclusões de fase, descobertas de pivô, eventos de API, limites de taxa e tentativas de quebra são escritos em ~/.nox/logs/nox.log. Apenas inteligência acionável chega ao terminal. |
| Depuração de Plugins | --list-sources imprime uma tabela completa de depuração do operador: nome do plugin, tipo de entrada, pontuação de confiança, estado da chave (configurada / não configurada / pública) e quaisquer erros de análise JSON. |
| Flag | Comportamento |
|---|
--proxy <url> | Roteia todo o tráfego através do proxy HTTP/S ou SOCKS5 especificado. Desativa o Guardian. |
--tor | Roteia todo o tráfego através do Tor (requer serviço tor na porta 9050). Desativa o Guardian. |
--guardian-off | Ignora o kill-switch OPSEC e conecta diretamente. |
| (nenhuma flag) | O Mecanismo Guardian ativa automaticamente. |