
PhantomRecon is a CLI-based, modular, agent-driven red team automation tool designed to demonstrate autonomous offensive security workflows powered by AI (Google's Gemini via Agent Development Kit - ADK).
PhantomRecon é uma ferramenta de automação de red team modular, baseada em CLI e orientada a agentes, projetada para demonstrar fluxos de trabalho ofensivos de segurança autônomos alimentados por IA (Gemini do Google via Agent Development Kit - ADK).
python -m phantomrecon
python -m phantomrecon --target example.com --auto \
--nmap-timeout 30 --nmap-top-ports 100 --nmap-args "-sV -Pn"
--target <domínio|ip>: Alvo a ser avaliado--auto: Executa reconhecimento → planejamento → roteamento → relatório--nmap-timeout <segundos>: Substitui NMAP_TIMEOUT--nmap-top-ports <N>: Substitui NMAP_TOP_PORTS--nmap-args "...": Acrescenta argumentos ao Nmap (NMAP_ARGS)--nmap-disable: Desabilita o Nmap (define NMAP_DISABLE=1)Variáveis de ambiente também são suportadas diretamente: NMAP_TIMEOUT, NMAP_TOP_PORTS, NMAP_ARGS, NMAP_DISABLE.
.gitignore exclui reports/* exceto reports/sample_report.md.reports/ apenas localmente.Construída como uma prova de conceito, ela simula a identificação de um alvo, a realização de reconhecimento amplo (Nmap, DNS, Pesquisa Web), o planejamento de uma estratégia de ataque usando um LLM, a execução condicional de exploits simulados e a geração de um relatório.
phantomrecon/
├── phantomrecon/ # Main package (exported orchestrator agent)
│ ├── __init__.py
│ ├── __main__.py # CLI entrypoint (interactive and non-interactive)
│ └── agent/ # Agent graph and tools
├── agents/ # Python modules containing agent/tool logic
│ ├── recon_logic.py # Nmap, DNS (dig), seeded web analysis; ADK search enabled
│ ├── routing_logic.py # Logic for the Exploit Router agent
│ ├── exploit_web_logic.py # Functions for web exploits (currently simulated)
│ ├── exploit_sql_logic.py # Functions for SQL exploits (currently simulated)
│ └── report_logic.py # Functions for report generation using session state
├── configs/
│ └── targets.json # (Optional) Target configuration
├── data/
│ └── dummy_scan_output.json # Example Nmap data if no target specified
├── demos/
│ └── walkthrough.md # Demo steps
├── prompts/ # Prompt templates for LLM agents
├── reports/
│ └── sample_report.md # Example output report
├── requirements.txt # Python dependencies (includes google-adk)
├── .gitignore # Files excluded from version control
└── LICENSE # MIT License
recon_workflow - Agente Paralelo):
nmap_tool)dns_tool)web_search_tool)aggregation_tool):
aggregated_recon_data no estado da sessão.planning_agent - LlmAgent):
attack_planner_prompt.txt para gerar um plano de ataque em JSON.attack_plan no estado da sessão.exploit_router - RouterAgent):
python3, pip, nmap, dig, whois, sqlmap, wapiti, wpscan, searchsploit.python3 -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
pip install -r requirements.txt
.env.example para .env (se o exemplo existir) ou edite .Esta ferramenta é apenas para testes de segurança autorizados e fins educacionais. Não use contra sistemas sem permissão explícita.
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
sudo apt install nmap ou brew install nmap)sudo apt install dnsutils ou brew install bind)sudo apt install whois ou brew install whois)sudo apt install sqlmap ou brew install sqlmap)sudo apt install wapiti ou brew install wapiti)sudo apt install ruby-full e em seguida gem install wpscan ou brew install wpscan)adk web para perguntar ao usuário o IP/domínio alvo.dig, nslookup, dig +trace, tentativa de AXFR, whois)sqlmap com opções refinadas), varredura Wapiti (resultados analisados), WPScan (resultados analisados, condicional), XSS Refletido Básico, Injeção Básica de Comandos - (Verificações Reais)searchsploit com consulta refinada), Enumeração Pós-Autenticação (via conexão direta do sqlmap) - (Verificações Reais)O PhantomRecon usa uma arquitetura totalmente autônoma de múltiplos agentes alimentada pelo Agent Development Kit (ADK) do Google.
Agente Orquestrador Sênior (gemini-1.5-pro-latest)
Agentes Especializados de Segurança
O orquestrador opera como um testador de penetração sênior:
Principais Recursos:
context.session.state (sessões ADK)executor_fix.py)Execute via CLI (recomendado):
python -m phantomrecon --target <domain|ip> --auto
Console interativo:
python -m phantomrecon
Runner ADK opcional:
adk run phantomrecon -- --target <domain|ip> --auto
attack_plan do estado.web_exploit_tool, sql_exploit_tool) com base no plano.exploit_results no estado da sessão.report_tool):
.envGOOGLE_API_KEY.GOOGLE_GENAI_USE_VERTEXAI como True ou False e configure as variáveis relacionadas (GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION) se estiver usando Vertex AI.python -m phantomreconpython -m phantomrecon --target <target> --autoadk run phantomreconsudo apt install exploitdb ou brew install exploitdb)requirements.txt (instale via pip install -r requirements.txt)searchsploit com consulta refinada), Auditoria de Configuração (via ssh-audit, resultados analisados) - (Verificações Reais)ToolContext do ADK para passar dados entre agentes/ferramentas.