Proyecto HTB Agent
About
An AI agent powered by cline.bot designed to solve Capture The Flag (CTF) challenges on a Kali Linux virtual machine via an MCP Server.
Details
- Author
- sjimnar
- Downloads
- 265
- Categories
- AI
Jump to
- AI agent for HTB and CTF machine resolution.
- Natural language workflows instead of Python code.
- Uses cline.bot's native MCP capabilities.
- Asynchronous execution for long-running tools.
- Structured phases: environment prep, reconnaissance, exploitation, privilege escalation.
- Requires a configured Kali Linux MCP server.
Create a machine folder inside htb-agent/ctf_docs/ with an info.json file containing target_ip, hostname, os, and other fields. Then invoke the agent with a command like "Cline, inicia el agente para la máquina '[machine-name]'". The agent reads info.json, interprets workflow structures from main_agent.py, and uses workflows.md to execute tools via the native use_mcp_tool capability.
Proyecto HTB Agent
Este proyecto tiene como objetivo desarrollar un agente de IA para cline.bot que asista en la resolución de máquinas de Hack The Box (HTB) y CTFs de seguridad, utilizando un servidor MCP de Kali Linux.
Filosofía del Proyecto
Este proyecto adopta un enfoque basado en documentación en lenguaje natural en lugar de código Python para definir los workflows. Esto aprovecha las capacidades nativas de cline.bot para interactuar directamente con el servidor MCP de Kali, sin necesidad de capas adicionales de abstracción.
El agente de IA interpreta:
- La estructura general del flujo de trabajo definida en main_agent.py
- Las implementaciones detalladas de cada workflow en workflows.md
- La información específica de cada máquina en su archivo info.json
Estructura del Proyecto
- htb-agent/: Contiene la lógica principal del agente y sus configuraciones.
- workflows/: Define los flujos de trabajo para interactuar con las herramientas.
- workflows.md: Documentación detallada de cada workflow en lenguaje natural.
- rules/: Contendrá las reglas y heurísticas para la toma de decisiones de la IA.
- ctf_docs/: Almacena la documentación y la información de entrada/salida para cada máquina CTF.
- [nombre_maquina]/: Carpeta para una máquina específica (ej. titanic.htb/).
- info.json: Archivo con la información de la máquina y los resultados del agente.
- mcp_configs/: Configuraciones para el servidor MCP de Kali.
- agent_scripts/: Scripts principales que implementan la estructura del agente.
- main_agent.py: Define la estructura general del flujo de trabajo.
- demo_executor.py: Script de demostración para simular la ejecución del agente.
Cómo Usar el Agente
Para que el agente de cline.bot comience a trabajar en una máquina HTB:
1. Prepara la Carpeta de la Máquina:
Crea una nueva carpeta dentro de htb-agent/ctf_docs/ con el nombre de la máquina (ej. htb-agent/ctf_docs/titanic.htb/).
Dentro de esta carpeta, crea un archivo info.json con la información mínima requerida.
2. Información Mínima Requerida en info.json:
El archivo info.json debe contener al menos los siguientes campos:
{
"target_ip": "DIRECCION_IP_DE_LA_MAQUINA",
"hostname": "NOMBRE_DE_HOST_DE_LA_MAQUINA",
"os": "SISTEMA_OPERATIVO_DE_LA_MAQUINA",
"initial_scan_results": [],
"known_vulnerabilities": [],
"credentials": {},
"notes": ""
}
target_ip: La dirección IP de la máquina objetivo (ej. "10.10.11.55").hostname: El nombre de host de la máquina (ej. "titanic.htb").os: El sistema operativo de la máquina (ej. "Linux", "Windows").Los demás campos (
initial_scan_results, known_vulnerabilities, credentials, notes) serán actualizados por el agente a medida que avanza.
3. Invoca al Agente:
Una vez que el info.json esté preparado, puedes invocar al agente dándome una instrucción como:
Cline, inicia el agente para la máquina '[nombre_maquina]'
(ej. "Cline, inicia el agente para la máquina 'titanic.htb'")
Yo (el agente) leeré el info.json, interpretaré la estructura del flujo de trabajo definida en main_agent.py, y consultaré las implementaciones detalladas en workflows.md para ejecutar directamente las herramientas necesarias a través de mi capacidad nativa use_mcp_tool.
Servidor MCP de Kali
Este proyecto requiere un servidor MCP de Kali Linux configurado y accesible. Las configuraciones de conexión se encuentran en htb-agent/mcp_configs/kali_mcp_config.py.
Configuración Actual del Servidor Kali MCP:
- Nombre del Servidor: kali-mcp
- URL: http://10.196.1.68:5000
Asegúrate de que tu máquina virtual Kali esté encendida, el servidor MCP esté ejecutándose y sea accesible, y que esté habilitado en la configuración de tus servidores MCP en VSCode.
Workflows Implementados
Los workflows implementados se describen detalladamente en htb-agent/workflows/workflows.md e incluyen:
1. Conexión a la VPN de HTB
2. Configuración del Archivo Hosts
3. Escaneo Inicial con Nmap
4. Enumeración Web con Gobuster
5. Análisis Web con Nikto
6. Búsqueda de Vulnerabilidades SQL con SQLMap
7. Ataque de Fuerza Bruta con Hydra
8. Ejecución Asincrónica de Herramientas
El workflow #8 (Ejecución Asincrónica de Herramientas) es especialmente útil para herramientas que requieren tiempos de ejecución prolongados como Gobuster o Nikto. Este patrón permite ejecutar herramientas en segundo plano y recuperar los resultados posteriormente, evitando timeouts y mejorando la eficiencia del flujo de trabajo.
Ejemplo de Ejecución Asincrónica
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.
