Home / Documentação / ReconHound Community Edition

ReconHound

Engine moderna de Alta Performance, Assíncrona e Modular para External Attack Surface Management (EASM), Reconhecimento de Ativos, Validação Ativa e Inteligência de Armamento de Vulnerabilidades.

Python 3.11+ Asyncio / HTTPX SQLite EASM Cytoscape.js MIT License

1. Introdução

O ReconHound é uma engine de External Attack Surface Management (EASM) e Threat Intelligence construída para analistas, Red Teams e pesquisadores. Ele automatiza o reconhecimento e unifica os resultados em uma interface gráfica em tempo real.

O que é "EASM & Threat Intelligence Engine"?

Gerenciamento da Superfície de Ataque Externa (EASM) é o processo de descobrir, monitorar e avaliar ativos expostos na internet, identificando vetores de ataque antes que os adversários o façam. O ReconHound atua como uma engine que enriquece esses dados com inteligência de ameaças, valida ativamente os achados e qualifica o risco real de exploração. Ele transforma terabytes de telemetria de internet bruta e ruidosa em inteligência priorizada e acionável, permitindo que as equipes de segurança se concentrem no que realmente importa.

Filosofia BloodHound-like

Inspirado fortemente no BloodHound, o ReconHound modela a superfície de ataque externa como um grafo de relacionamentos orientados (Target Root → Domains → IPs → Services → CVEs → PoCs). A ferramenta unifica inteligência passiva, validação ativa em portas abertas e rastreabilidade de evidências em uma experiência visual contínua, desenhada para expor vetores de ataque.

Mapeamento EASM Concorrente

Execução ultra rápida assíncrona para IP único, blocos CIDR (/24), domínios, emails, CVEs e buscas complexas do Shodan e Censys Platform v3.

Validação Ativa (Masscan + Nuclei)

Verificação de portas em alta velocidade com captura de banners e validação automatizada de vulnerabilidades restrita a portas comprovadamente ativas.

Priorização por Risco & Source

Elimine a fadiga de alertas: priorize ativos através do cruzamento entre CVSS Base, FIRST EPSS, CISA KEV e rastreabilidade explícita da fonte do finding.

Dashboard Gráfico Interativo

ReconHound WebGUI embarcado em FastAPI + Cytoscape.js com menus de contexto, controle de estado de scan (Start/Stop) e filtros instantâneos.

2. Arquitetura & Pipeline de Correlação

A arquitetura do ReconHound opera através de um pipeline assíncrono modular de 5 estágios encadeados, projetado para transformar dados brutos de OSINT e varreduras ativas em um modelo relacional correlacionado de alta fidelidade:

1. Descoberta, Recon Primário & CDN Bypass

Enumeração de certificados TLS (crt.sh), inteligência reversa de WHOIS (WhoisFreaks), profiling de hosts via Shodan/Censys, Bypass de Proxies de CDN Compartilhada (Cloudflare/Fastly/Akamai) para evitar ruído de outros tenants, e Fallback Automático BGP/RDAP (IP-API / RIPE Stat).

2. Governança de Escopo & Resolução DNS

Resolução DNS concorrente (A/AAAA) restrita estritamente à árvore de subdomínios do alvo (*.alvo.com) e Governança de Escopo para Org/ASN (org:/asn:), blindando a base e o grafo contra poluição de provedores ou domínios alheios.

3. Validação Ativa & Verificação

Varredura ativa ultrarrápida de portas e banners via Masscan (com evasão de WAF) e auditoria de vulnerabilidades direcionada com Nuclei (Regra Verified Active).

4. Threat Intel, Scoring & PoCs

Enriquecimento de CVEs via NVD 2.0 (CVSS/CWE), probabilidade real de exploração (FIRST EPSS), CISA KEV, exploits do ExploitDB e repositórios de PoCs no GitHub.

5. Síntese em Grafo & Apresentação Multi-Canal

Topologia hierárquica DAG multi-nível (6 camadas com matrizes), Isolamento de Caminho de Ataque Estrito nos filtros de risco, navegação bidirecional no Inspector e exportação em SQLite, CSV, JSON, Markdown e HTML.

Entendendo a Topologia Relacional (Host-Centric & Target-Driven)

A estrutura de dados sintetizada no Grafo orienta os nós através de uma arquitetura Host-Centric ágil e focada diretamente na cadeia de ataque técnico:

Hierarquia de Relacionamentos
Target Query Root (Âncora com Inventário Completo: all_domains & all_subdomains)
  ├── CONTAINS_TARGET ──► Hosts / IPs do Alvo (com badge de metadados 🌐 N FQDNs)
  │     └── EXPOSES ──► Serviços / Portas (Instâncias Locais 1:N por Host)
  │           └── HAS_VULN ──► CVEs (Entidades Globais Deduplicadas N:M)
  │                 ├── ENRICHED_WITH ──► FIRST EPSS + CISA KEV
  │                 └── WEAPONIZED_BY ──► ExploitDB + GitHub PoCs
  └── CONTAINS_TARGET ──► FQDN Targets Explícitos (Alvos de Varredura Marcados sob Demanda)
        └── RESOLVES_TO ──► Hosts / IPs Resolvidos
Modelagem de Grafo & Arquitetura

O ReconHound renderiza um grafo em Sandbox Limpo focado na interação fluida e na topologia Top-Down (Raiz → Ativos → Serviços → CVEs), consolidando de forma inteligente grandes volumes de dados:

  • Foco Direto e Limpo: O canvas inicia de forma limpa. Subdomínios não poluem a tela; ficam organizados no Asset Inspector e se materializam apenas quando configurados como alvos ativos.
  • Layout Dinâmico: Gráficos densos renderizam portas e serviços sob um Grid Proporcional vertical e organizado.
  • Deduplicação de Inteligência: IPs expõem serviços independentes, enquanto vulnerabilidades (CVEs) se comportam como entidades centralizadas, permitindo visão transversal do impacto.

Motor de Descoberta Recursiva Retroativa & Fusão Incremental (Smart Upsert)

O grande diferencial do ReconHound em relação a ferramentas tradicionais de varredura estática reside no seu Ciclo de Expansão Recursiva de Superfície. Em vez de se limitar estritamente aos blocos de rede iniciais de uma consulta (como ASN, Org ou CIDR), o motor dispara uma cadeia heurística em múltiplos níveis que correlaciona certificados, identidades DNS e infraestruturas satélites em tempo real:

1. Extração Heurística de Identidade

Varre certificados TLS (SNI), cabeçalhos HTTP e banners retornados no Recon Primário para identificar domínios raiz e FQDNs ocultos sob a propriedade do alvo.

2. Enumeração Cascata de Subdomínios

Alimenta dinamicamente os motores de Certificate Transparency (crt.sh) e Reverse WHOIS para desdobrar toda a árvore de subdomínios e domínios irmãos do alvo.

3. Resolução DNS Concorrente (A/AAAA)

Processa centenas de subdomínios em paralelo via asyncio com controle de semáforo, descobrindo novos blocos de IPs e nuvens satélites fora da query inicial.

4. Enriquecimento Retroativo Contínuo

Submete os novos IPs descobertos via DNS a um novo ciclo de profiling passivo, enriquecendo portas, serviços, ASN e geolocalização automaticamente.

Diagrama do Fluxo de Expansão Recursiva de Superfície
Target Query (ex: org:'ACME Corp')
  │
  ├─► [1. Recon Primário] ──────► Host Profiling + TLS / HTTP Banners
  │                                     │
  │                                     ▼ Extração Heurística de Domínios
  ├─► [2. Enumeração Cascata] ──► crt.sh + Reverse WHOIS (Domínios & Subdomínios)
  │                                     │
  │                                     ▼ Resolução DNS Concorrente (A/AAAA)
  ├─► [3. Expansão de Rede] ────► Descoberta de Novos Blocos de IPs Satélites
  │                                     │
  │                                     ▼ Profiling Passivo Retroativo
  └─► [4. Fusão Incremental] ───► SQLite Upsert: Preservação de Histórico + Fontes Mescladas
Arquitetura de Persistência: Fusão Não-Destrutiva (Smart Upsert & Source Merging)

Ao reexecutar varreduras sobre bases SQLite já existentes em ./data/dbs/, o motor aplica regras estritas de integridade relacional sem perda de contexto:

  • Unicidade Estrita de Ativos: Garante unicidade absoluta para (ip_id, port, protocol) e registros de IP, impedindo duplicação de nós no grafo.
  • Merge de Proveniência (sources): Se uma porta foi identificada anteriormente via Shodan e confirmada ativamente via Masscan, o motor unifica a lista: ["Masscan", "Passive", "Shodan"].
  • Enriquecimento Cumulativo (COALESCE): Metadados de ASN, Organização, País, Cidade e Coordenadas Geográficas são enriquecidos sem sobrescrever dados pré-existentes.
  • Rastreabilidade de Scans (scan_results): Cada execução registra uma nova entrada no histórico, mantendo a evolução cronológica da superfície de ataque auditada.

3. Guia de Instalação (Quickstart)

O ReconHound suporta execução nativa em Linux, macOS e Windows (via WSL2). Siga os passos abaixo para preparar o ambiente:

Pré-requisitos de Sistema

Requer Python 3.11 ou superior e o gerenciador de pacotes pip ou ambiente virtual venv.

Passo 1: Instalação Automática via PyPI

A ferramenta é empacotada e distribuída oficialmente via PyPI, permitindo que você a instale em qualquer máquina Linux, Windows ou macOS com um simples comando pip.

Bash
# 1. Baixar e instalar o pacote globalmente
pip install reconhound

# 2. Executar a autoconfiguração automatizada 
# (Setup de banco de dados, credenciais seguras da Dashboard e dependências).
reconx config setup

Passo 2: Binários de Varredura Ativa (Masscan & Nuclei)

A rotina reconx config setup verifica e configura automaticamente permissões de rede (setcap) e templates. Caso prefira instalar os binários do sistema manualmente:

Bash
# Instalação do Masscan (Ubuntu / Debian / Kali)
sudo apt update && sudo apt install -y masscan

# Conceder Linux capabilities para execução do Masscan sem root na WebUI:
sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip $(which masscan)

# Instalação do Nuclei (via Go ou Release Binary)
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
Requisito do Binário Masscan & Permissões:

A varredura ativa utiliza envio assíncrono de pacotes brutos via Masscan. Certifique-se de que o pacote masscan esteja instalado no host e que as permissões de sockets brutos foram concedidas via Linux Capabilities:

Bash
sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip $(which masscan)

Passo 3: Banco Local de Exploits (ExploitDB)

O catálogo local de exploits é inicializado automaticamente pelo setup. Para atualizá-lo sob demanda:

Bash
reconx config update

4. Configuração de Chaves & APIs

O ReconHound foi construído com design tolerante a falhas. Caso nenhuma chave seja fornecida, a ferramenta utiliza automaticamente fontes e fallbacks públicos gratuitos (crt.sh, HackerTarget, FIRST EPSS API, CISA KEV Catalog e GitHub PoC API). No entanto, para capacidade de varredura profunda de infraestrutura e bypass de rate-limits, recomendamos a configuração de variáveis de ambiente.

O arquivo .env é criado automaticamente a partir de .env.example durante o setup. Configure as chaves desejadas:

.env
# ==============================================================================
# ReconHound - External Attack Surface Management & Threat Intelligence Engine
# Copy this file to .env and insert your API keys as needed.
# ==============================================================================

# [Required for Shodan Queries, Subnets, DNS & Banner Reconnaissance]
SHODAN_API_KEY=

# [Required for V3: AlienVault OTX Threat Actors & Malware extraction]
ALIENVAULT_API_KEY=

# [Required for V3: SecurityTrails Subdomain & Passive IP Enumeration]
SECURITYTRAILS_API_KEY=

# [Optional: Censys Platform API v3 Personal Access Token & Org ID]
CENSYS_PAT_TOKEN=
CENSYS_ORG_ID=

# [Optional: Censys Legacy API ID & Secret]
CENSYS_API_ID=
CENSYS_API_SECRET=

# [Optional: NVD API Key for Accelerated CVSS & CWE Enrichment]
NVD_API_KEY=

# [Optional: WhoisFreaks API Key for Structured Reverse WHOIS Domain Mapping]
WHOISFREAKS_API_KEY=

# [Optional: GitHub Personal Access Token for Public Exploit & PoC Hunting]
GITHUB_TOKEN=

Diagnóstico e Autoconfiguração de Pré-requisitos

Verifique a integridade do ambiente, pacotes Python, diretórios operacionais, permissões e status das APIs ao vivo:

Bash
# Exibir tabela completa de diagnóstico do sistema e APIs
reconx config check

# Diagnosticar e aplicar correções/configurações ausentes automaticamente
reconx config setup
SECTION 5: Engine OPERATION

5. ReconExec

A interface de linha de comando é gerenciada via Typer e estilizada com Rich, fornecendo formatação limpa, indicadores de progresso assíncronos e tabelas de risco coloridas.

reconx --help
Usage: reconexec [OPTIONS] COMMAND [ARGS]...                                   
                                                                                
╭─ Global Recon Scans ─────────────────────────────────────────────────────────╮
│ all         Execute passive attack surface mapping using ALL modules.        │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Targeted Recon Modules ─────────────────────────────────────────────────────╮
│ shodan      Execute passive scan using the 'Shodan' module.                  │
│ censys      Execute passive scan using the 'Censys' module.                  │
│ crtsh       Execute passive scan using the 'crt.sh' module.                  │
│ whois       Execute passive scan using the 'Reverse WHOIS' module.           │
│ sectrails   Execute passive scan using the 'SecurityTrails' module.          │
│ axfr        Execute passive scan using the 'Zone Transfer' module.           │
│ otx         Execute passive scan using the 'AlienVault OTX' module.          │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Utility & Intelligence ─────────────────────────────────────────────────────╮
│ intel       Execute advanced threat intelligence lookups.                    │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ System & Configuration ─────────────────────────────────────────────────────╮
│ version     Show ReconExec version and maintainer information.               │
│ config      Manage configuration, setup, and system updates                  │
╰──────────────────────────────────────────────────────────────────────────────╯
Motor Inteligente

O reconx lida nativamente com rate-limits de APIs (Anti-HTTP 429) e garante a criação de nós no grafo para alvos sem histórico prévio, deixando-os prontos para varreduras ativas na WebUI.

Modos de Varredura por Alvo

Tipo de Alvo Exemplo de Comando Ações Executadas no Pipeline
Domínio Raiz reconx all spacex.com Enumeração crt.sh + Reverse WHOIS + Resolução DNS + Shodan/Censys + CVE Scoring
Endereço IP Único reconx all 142.250.191.68 Perfil Shodan + Censys v3 Dossier + Portas + Serviços + Banner Analysis + CVEs
Sub-rede CIDR reconx all 142.250.191.0/24 Varredura de bloco de rede + Enumeração de hosts ativos + Correlação de portas
CVE Identifier reconx intel CVE-2021-44228 NVD CVSS v3.1 + CWE + Probabilidade FIRST EPSS + Flag CISA KEV + ExploitDB + PoCs
Shodan Dork / Query reconx all "org:'Acme Corp' port:443" Busca de infraestrutura customizada, extração de certificados e correlação de vulnerabilidades
Lista de Alvos em Arquivo reconx all targets.txt Carregamento em lote + Validação centralizada de APIs + Ancoragem de nós de IP/Domínio para Recon Ativo

Flags Principais & Módulos

Flag Valores Permitidos Descrição Técnica
TARGET Posicional STRING Alvo da análise (IP, Domínio, CIDR, email ou arquivo targets.txt).
COMMAND Subcomando all, shodan, censys, crtsh, whois, sectrails, axfr, otx, intel Módulos executados como subcomandos principais (ex: reconexec all spacex.com).
--create-db NOME_DO_BANCO Salva os dados automaticamente em ./data/dbs/{nome}.sqlite para o WebGUI.
-o, --format table, json, markdown, html, csv, all Formato de saída do relatório de segurança.
-f, --output-file PATH Caminho customizado de destino do arquivo exportado.
-d, --output-dir DIRECTORY Diretório de destino para exportação de múltiplos formatos (quando -o all).

Persistência Centralizada SQLite (EASM)

Para persistir os dados para consulta histórica ou carregar no ReconHound Web Dashboard, utilize a flag --create-db:

Bash
# Mapeia empresa e salva em ./data/dbs/alvo_empresa.sqlite
reconx all empresa.com.br --create-db alvo_empresa

# Mapeia sub-rede e salva em ./data/dbs/datacenter_sp.sqlite
reconx all 198.51.100.0/24 --create-db datacenter_sp

Exportação de Relatórios Oficiais

Exemplos de Exportação
# 1. Relatório Executivo em Markdown
reconx all empresa.com.br -o markdown -f relatorio_executivo.md

# 2. Relatório HTML Standalone (Formatado e Pronto para Print/PDF)
reconx all empresa.com.br -o html -f relatorio_easm.html

# 3. Dados Estruturados em JSON para SIEM/SOAR/Data Lake
reconx all empresa.com.br -o json -f surface_data.json

# 4. Tabela Estruturada em CSV para Análise em Planilhas
reconx all empresa.com.br -o csv -f vulnerabilidades.csv

# 5. Exportação simultânea de todos os formatos para pasta
reconx all empresa.com.br -o all -d ./exports/empresa/

6. ReconHound Dashboard

O ReconHound é a interface gráfica web interativa inspirada na experiência analítica de grafos do SpecterOps BloodHound. Ele opera através de um servidor FastAPI de alta performance que lê os bancos de dados SQLite gerados e renderiza o grafo interativo utilizando Cytoscape.js.

reconx hound start
⠀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣷⠀⠀⢰⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣿⣧⠀⣼⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢸⣿⣿⡆⠘⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣸⣿⣿⣿⡄⠙⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣿⣿⣿⣿⣷⡀⣿⣿⣿⣿⠿⠿⢿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀   RECONHOUND DAEMON
⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⡀⢻⣿⣿⣿⠟⢿⣿⠛⣦⡀⢻⣿⡇⠀   ==================================
⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⣶⡞⠻⣶⠛⢻⡄⠹⠀⠀   [✓] Attack Surface Dashboard UI
⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣷⣾⣿⣶⣿⣿⠆⠀⠀   [✓] Threat Tracking Engine
⠀⢠⣿⣿⣿⡄⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣉⣉⣉⣉⣉⣉⣉⣉⣉⡉⠀⠀⠀   Usage: reconexec hound start
⠀⢸⣿⣿⣿⣷⡀⠻⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠃⠀⠀⠀
⠀⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣶⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

Autenticação Segura (JWT)

O Dashboard é totalmente protegido por JWT (JSON Web Tokens) e cookies seguros HttpOnly. O comando reconx config setup deriva de forma segura uma chave de criptografia única (JWT_SECRET_KEY) a partir da senha do seu Admin e a salva no seu arquivo local .env. As sessões expiram automaticamente após 30 minutos, e você pode destruí-las explicitamente usando o botão Terminate Session localizado no rodapé do menu lateral.

Configuração de Rede (.webserver.json)

O arquivo de estado local ~/.reconexec/run/.webserver.json armazena as configurações do daemon. Se você precisar alterar os endereços de socket (como host e port) para liberar acesso externo ou alterar a porta, basta editar este arquivo com o servidor desligado. Ao usar hound start novamente, o servidor assumirá automaticamente as novas configurações de rede definidas no JSON.

Gerenciamento do Servidor ReconHound (Daemon)

O gerenciamento do ciclo de vida do servidor web é realizado através do subcomando hound:

Comando Função Técnica
reconx hound start Inicia o servidor FastAPI em segundo plano na porta 8000 (http://127.0.0.1:8000).
reconx hound list-dbs Lista todos os bancos de dados de superfícies de ataque salvos em ./data/dbs/.
reconx hound status Verifica o status do processo daemon (PID, porta, consumo e tempo de atividade).
reconx hound stop Finaliza com segurança o processo daemon em execução.
Ciclo de Vida Não-Destrutivo do Daemon:

Ao executar varreduras primárias pela Engine (reconx all ...), o motor detecta automaticamente se o ReconHound já está ativo. Caso o servidor já esteja rodando, ele preserva a instância em execução sem reiniciá-la, evitando interrupções em varreduras ativas (Masscan/Nuclei) ou desconexões no navegador. A nova base SQLite é salva em data/dbs/ e fica imediatamente disponível para seleção no menu superior do dashboard.

UX Graph-First e Gestão Flutuante de Leads

O ReconHound adota um modelo de interação Graph-First. Em vez de depender de barras laterais poluídas, você gerencia sua superfície de ataque passiva diretamente no próprio canvas.

  • Persistência do Target Root: O nó central (target_root) atua como a âncora do seu escopo. Mesmo se você desmarcar todos os leads ou clicar em "Collapse All", este nó nunca desaparecerá do canvas.
  • Auto-Centralização Cinemática: Caso o target_root se torne o único nó visível na tela, a câmera fará um deslizamento e zoom automático focado nele.
  • Modal Flutuante de Leads (Context Menu): Clique com o botão direito no nó target_root e selecione "Explore Leads..." para abrir um modal interativo e translúcido bem no centro do grafo, que conta com uma barra de pesquisa em tempo real. A partir dele, você seleciona, pesquisa e filtra quais IPs, Domínios e Subdomínios passivos deseja projetar visualmente. (Pode ser fechado rapidamente clicando em qualquer lugar vazio do canvas ou apertando ESC).
  • Auto-Select Inteligente & Hidratação: Se a varredura inicial encontrar um escopo pequeno (50 leads ou menos), a ferramenta fará o auto-selecionamento preventivo. Além disso, alvos informados explicitamente via Engine são sanitizados em FQDNs puros (removendo http/https) para prevenir duplicações, sendo persistentemente auto-renderizados através das sessões do dashboard.
  • Busca via HUD: A barra de pesquisa de nós agora é um HUD fixado no canto superior esquerdo do próprio canvas, ampliando sua área de visão tática.
  • Canvas Clean (BloodHound-style): O grafo inicia totalmente limpo, exibindo apenas o nó raiz. Expandir ativos não força atualizações de alvos no banco de dados, promovendo uma exploração passiva e fluída.
  • Comando CLI reconx hound restart: Permite o reinício instantâneo e contínuo do backend WebGUI sem precisar derrubar dependências durante o desenvolvimento.

Semântica de Cores e Formas do Grafo

Cada entidade do ecossistema EASM possui uma representação visual clara para facilitar a rápida identificação durante triagens de Red/Blue Team:

Tipo de Nó Forma no Grafo Cor / Identificador Significado Operacional
Target Root
Void (#111116) • Borda Roxa Raiz do grafo e âncora da query.
Domínio
Azul Profundo (#00b4d8) Domínio principal raiz/organizacional descoberto no reconhecimento.
Subdomínio
Turquesa (#4ecdc4) Host/FQDN filho derivado de um domínio alvo.
Endereço IP
Ametista (#9b59b6) Endereço IP passivo ou resolvido ativamente.
Alvo Marcado (Target)
Borda Ciano Neon (#00f0ff) IP ou FQDN explicitamente marcado como alvo de interesse.
WAF Bypass (Origin)
Laranja Pontilhada (#f97316) IP de origem descoberto ignorando proteções WAF/CDN.
Serviço (Passivo)
Slate Escuro (#1e293b) Porta descoberta via OSINT aguardando validação ativa.
Serviço (Ativo)
Verde Esmeralda (#27ae60) Serviço ativamente confirmado como aberto pelo Masscan.
Vulnerabilidade (CVE)
Gradiente de Risco Avaliado via score CVSS (Vermelho Crítico ao Azul Info).
CISA KEV (Exploited)
Vermelho Sangue (#ff1744) • Glow Vulnerabilidade KEV sendo explorada ativamente in-the-wild.

Semântica de Arestas e Conexões Relacionais

As arestas direcionadas representam o fluxo de resolução e exposição de ativos no grafo:

Rótulo da Aresta Estilo Visual Cor / Espessura Origem ➔ Destino Significado Operacional
CONTAINS_TARGET
Roxo (#8c52ff) Root ➔ Domínios / IPs Vínculo hierárquico principal do escopo.
RESOLVES_TO
Teal (#4ecdc4) Domínio ➔ IP Resolução DNS ativa/atual.
IPS_HISTORY
Laranja (#f59e0b) Domínio ➔ IP IP Histórico descoberto passivamente.
EXPOSES (Passivo)
Verde (#2ecc71) IP ➔ Porta Descoberto via OSINT (aguardando teste).
EXPOSES (Ativo)
Verde (#2ecc71) IP ➔ Porta Ativamente aberto / validado no Masscan.
HAS_VULN
Gradiente (Ex: Vermelho #ef4444) Serviço ➔ Vulnerabilidade Aresta condicional pontilhada que herda dinamicamente a cor baseada no CVSS Score.
SIMULAÇÃO INTERATIVA DA TOPOLOGIA (CYTOSCAPE.JS)

Destaques da Interface & Engine Ativa

A interface do ReconHound foi desenhada para ser altamente intuitiva (no estilo BloodHound), permitindo que você navegue, filtre e defina alvos de ataque com cliques simples.

  • Navegação Direta: Clique com o botão esquerdo em qualquer nó para abrir o Asset Inspector (detalhes técnicos, geolocalização e vulnerabilidades) e use o botão direito para o Menu de Contexto (ações rápidas de alvo e visualização).
  • Targeting Inteligente (Bypass de WAF/CDN): Ao definir um FQDN (Domínio/Subdomínio) como alvo, o motor ataca preservando o Server Name Indication (SNI), contornando bloqueios do Cloudflare e AWS. Já para IPs diretos, ocorre reconciliação e validação dinâmica de topologia.
  • Smart Scanning (Masscan & Nuclei): Feito para operações silenciosas e eficientes. O Masscan descarta portas já verificadas e o Nuclei só ataca portas marcadas como "Confirmed Active". Ambos preservam 100% do estado em banco se o scan for cancelado.
  • Isolamento Estrito de Rota de Ataque: Ao ligar filtros críticos na barra lateral (como CISA KEV ou Critical CVSS), o grafo poda automaticamente toda a rede paralela, isolando na tela apenas a cadeia direta de ataque (Root ──► IP ──► Porta ──► CVE), eliminando todo o ruído visual.

7. Threat Intelligence & Matriz Tridimensional de Risco EASM

O modelo tradicional de priorização baseado puramente em notas CVSS estáticas está obsoleto. Em um cenário real de Gestão de Superfície de Ataque Externa (EASM), uma vulnerabilidade CVSS 9.8 puramente teórica em um host inativo ou sem exploit conhecido representa menos risco operacional imediato do que uma falha CVSS 7.5 em porta exposta ativamente explorada por operadores de ransomware.

Para eliminar o ruído de milhares de alertas irrelevantes e orientar o time de segurança diretamente nas ameaças iminentes, o ReconExec e o ReconHound implementam a Matriz Tridimensional de Risco EASM.

As 3 Dimensões Fundamentais

Dimensão 1: Validação Ativa (O Ativo)

Mede: A exposição real e confirmada do serviço na Internet.

O ativo precisa ter porta aberta e serviço ativo confirmado via Masscan ou validação HTTP/S. Falhas em serviços desligados ou sem rastreabilidade de porta ativa são desqualificadas.

Dimensão 2: Gravidade Técnica (O Impacto)

Mede: A severidade intrínseca do estrago potencial caso a falha seja explorada.

Filtra o ruído de notas baixas (Low/Info), exigindo severidade CRITICAL, HIGH ou MEDIUM com pontuação CVSS v3.1 significativa (≥ 5.0 / 6.5).

Dimensão 3: Ameaça Ativa (O Perigo Real)

Mede: A evidência matemática e histórica de armamento e exploração no mundo real.

Funciona por disjunção lógica (OU): basta acender pelo menos 1 dos 3 sinais de fumaça globais (CISA KEV, Alto EPSS ≥ 20% ou PoCs públicas funcionais).

Os 3 Pilares da Dimensão 3 (Ameaça no Mundo Real)

A Dimensão 3 não exige 100% de coincidência de todas as fontes para evitar pontos cegos perigosos. Ela é ativada se a vulnerabilidade atender a qualquer um dos seguintes pilares:

Pilar de Inteligência Origem dos Dados Critério de Disparo (Gatilho) Significado Operacional
CISA KEV CISA Catalog (US Homeland Security) is_cisa_kev = true Arma confirmada em ataques ativos (Prioridade P1 Máxima). Identifica se a falha está sendo explorada em campanhas ativas de Ransomware (Known Ransomware Campaign Use).
FIRST EPSS FIRST.org Machine Learning Model epss_score ≥ 0.20 (20%) Alta probabilidade preditiva de sofrer exploração em massa nos próximos 30 dias.*
PoC Weaponization ExploitDB, Nuclei Templates & GitHub exploit_count ≥ 1 ou has_pocs = true Rastreia exploits públicos e códigos verificados pela comunidade (filtros anti-fake). O motor detecta Templates do Nuclei, o que indica armamento 100% automatizado por botnets.

*Nota sobre EPSS: Dentro do contexto da Matriz 3D (combinado com ativo exposto e CVSS Crítico), uma probabilidade de 20% já é alarmante. Para análises isoladas e preditivas através dos Quick Filters no menu lateral do painel, o ReconHound aplica uma régua agressiva de High EPSS > 50% para destacar perigo extremo iminente.

Equação Lógica da Matriz Tridimensional

Uma vulnerabilidade só é exibida na rota prioritária se satisfizer a conjunção estrita das 3 dimensões:

Visibilidade 3D = Dimensão 1 (Ativo Confirmado)
∧ Dimensão 2 (Impacto Técnico)
∧ [ CISA KEV ∨ EPSS ≥ 20% ∨ PoC Pública ]

Cenário Comparativo Prático

Imagine duas vulnerabilidades identificadas pelo pipeline no perímetro da organização:

Vulnerabilidade A: CVSS 9.8 (Crítica Teórica)

  • Dimensão 1: Serviço HTTP ativo (Porta 8080).
  • Dimensão 2: CVSS 9.8 (Crítica).
  • Dimensão 3: Não está no CISA KEV, EPSS = 0.05% (quase zero) e sem nenhuma PoC pública.

Abordagem Tradicional: O time gastaria dias correndo para corrigir essa falha primeiro apenas pela nota nominal.

Vulnerabilidade B: CVSS 7.5 (Ameaça Real Ativa)

  • Dimensão 1: Serviço SSL ativo (Porta 443).
  • Dimensão 2: CVSS 7.5 (Alta).
  • Dimensão 3: Listada no CISA KEV e com arma pública no ExploitDB.

A Decisão do ReconHound: O ReconHound prioriza a Vulnerabilidade B como Prioridade Máxima (P1), pois ela representa perigo iminente de invasão imediata.

Operação do Filtro 3D no ReconHound

No painel lateral do ReconHound, ao ativar o checkbox [✓] 3D Risk Matrix:

  • O grafo isola e exibe exclusivamente as rotas completas (Lead → Domínio → IP → Serviço Ativo → Vulnerabilidade) que satisfazem as 3 dimensões.
  • Grupos colapsados (clusters) com 0 vulnerabilidades 3D são automaticamente ocultados, e os contadores exibem com precisão apenas as falhas qualificadas.
  • No painel lateral (Inspector), a listagem de CVEs, pontuações e exploits exibe estritamente os achados de risco real.