
PhantomRecon es una herramienta de automatización de red team basada en CLI, modular y dirigida por agentes, diseñada para demostrar flujos de trabajo ofensivos de seguridad autónomos impulsados por IA (Gemini de Google a través del Kit de Desarrollo de Agentes - ADK).
PhantomRecon es una herramienta CLI de automatización de red team, modular y basada en agentes, diseñada para demostrar flujos de trabajo autónomos de seguridad ofensiva impulsados por IA (Google Gemini mediante 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 <domain|ip>: Objetivo a evaluar--auto: Ejecutar reconocimiento → plan → ruta → informe--nmap-timeout <seconds>: Sobrescribe NMAP_TIMEOUT--nmap-top-ports <N>: Sobrescribe NMAP_TOP_PORTS--nmap-args "...": Añade a los argumentos de Nmap (NMAP_ARGS)--nmap-disable: Deshabilita Nmap (establece NMAP_DISABLE=1)Las variables de entorno también se admiten directamente: NMAP_TIMEOUT, NMAP_TOP_PORTS, NMAP_ARGS, NMAP_DISABLE.
.gitignore excluye reports/* excepto reports/sample_report.md.reports/ solo localmente.Construida como prueba de concepto, simula identificar un objetivo, realizar un reconocimiento amplio (Nmap, DNS, búsqueda web), planificar una estrategia de ataque usando un LLM, ejecutar exploits simulados de forma condicional y generar un informe.
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 en el estado de la sesión.planning_agent - LlmAgent):
attack_planner_prompt.txt para generar un plan de ataque JSON.attack_plan en el estado de la sesión.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 a .env (si el ejemplo existe) o edita .Esta herramienta es para pruebas de seguridad autorizadas y fines educativos únicamente. No la uses contra sistemas sin permiso explícito.
Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.
sudo apt install nmap o brew install nmap)sudo apt install dnsutils o brew install bind)sudo apt install whois o brew install whois)sudo apt install sqlmap o brew install sqlmap)sudo apt install wapiti o brew install wapiti)sudo apt install ruby-full y luego gem install wpscan o brew install wpscan)adk web para pedir al usuario la IP/dominio objetivo.dig, nslookup, dig +trace, intento AXFR, whois)sqlmap con opciones refinadas), escaneo de Wapiti (resultados analizados), WPScan (resultados analizados, condicional), XSS reflejado básico, inyección de comandos básica - (Comprobaciones reales)searchsploit con consulta refinada), enumeración post-autenticación (mediante conexión directa con ) - (Comprobaciones reales)PhantomRecon utiliza una arquitectura multi-agente completamente autónoma impulsada por el Agent Development Kit (ADK) de Google.
Agente orquestador senior (gemini-1.5-pro-latest)
Agentes de seguridad especializados
El orquestador opera como un pentester senior:
Características principales:
context.session.state (sesiones de ADK)executor_fix.py)Ejecuta vía CLI (recomendado):
python -m phantomrecon --target <domain|ip> --auto
Consola interactiva:
python -m phantomrecon
Ejecutor ADK opcional:
adk run phantomrecon -- --target <domain|ip> --auto
attack_plan del estado.web_exploit_tool, sql_exploit_tool) según el plan.exploit_results en el estado de la sesión.report_tool):
.envGOOGLE_API_KEY.GOOGLE_GENAI_USE_VERTEXAI como True o False y configura las variables relacionadas (GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION) si usas Vertex AI.python -m phantomreconpython -m phantomrecon --target <target> --autoadk run phantomreconsudo apt install exploitdb o brew install exploitdb)requirements.txt (instálalas con pip install -r requirements.txt)sqlmapsearchsploit con consulta refinada), auditoría de configuración (mediante ssh-audit, resultados analizados) - (Comprobaciones reales)ToolContext de ADK para pasar datos entre agentes/herramientas.