HexStrike AI en Kali Linux
HexStrike AI en Kali Linux
HexStrike AI es una plataforma de automatización de ciberseguridad impulsada por Inteligencia Artificial que recientemente se ha integrado de forma oficial en los repositorios de Kali Linux.
Básicamente, actúa como un "cerebro" o núcleo de coordinación que permite a modelos de lenguaje (como Claude, GPT o Copilot) ejecutar de forma autónoma más de 150 herramientas de seguridad ya presentes en Kali.
¿Qué hace exactamente?
HexStrike utiliza el protocolo MCP (Model Context Protocol) para conectar agentes de IA con capacidades ofensivas del mundo real. Sus funciones principales son:
Orquestación de Agentes: Coordina múltiples agentes especializados que pueden escanear, explotar vulnerabilidades y mantener persistencia de forma autónoma.
Automatización de Pentesting: Capaz de realizar pruebas de penetración, búsqueda de errores (bug bounty) e investigación de seguridad reduciendo tiempos de horas a minutos.
Explotación n-day: Se ha reportado su uso para explotar rápidamente fallos recién descubiertos (n-days), adaptando las técnicas de ataque dinámicamente según el entorno.
Escalabilidad: Permite realizar escaneos paralelos en miles de direcciones IP simultáneamente.
Cómo instalarlo en Kali Linux
Al ser ya un paquete oficial, la instalación es sencilla desde la terminal:
sudo apt update
sudo apt install hexstrike-ai
Una vez instalado, puedes ver las opciones de ayuda con:
hexstrike_mcp -h
Arquitectura Técnica
El sistema funciona bajo una estructura multi-agente donde la IA toma decisiones inteligentes basadas en la inteligencia de vulnerabilidades que recibe.
Nota de seguridad: Aunque HexStrike se diseñó originalmente para equipos de seguridad profesionales (Red Teams), su potencia ha hecho que grupos maliciosos también lo utilicen para industrializar ataques. Si decides probarlo, asegúrate de hacerlo en entornos controlados (como laboratorios de práctica) y siempre con autorización.
Para configurar el servidor MCP (Model Context Protocol) de HexStrike y conectarlo con una IA, primero necesitas entender que HexStrike no "piensa" por sí mismo, sino que sirve de puente entre tus herramientas de Kali y un modelo de lenguaje (como Claude Desktop o una instancia de GPT).
Aquí tienes los pasos fundamentales para ponerlo en marcha:
1. Requisitos previos
Asegúrate de tener instalada la última versión y contar con el entorno de ejecución de Python necesario:
sudo apt update && sudo apt install hexstrike-ai python3-pip
2. Configuración del Servidor MCP
HexStrike utiliza un archivo de configuración (usualmente en formato .json o .yaml) para definir qué herramientas tiene permitidas usar la IA.
Para iniciar el servidor básico que expone las herramientas de Kali, usa el siguiente comando:
hexstrike_mcp start --host 127.0.0.1 --port 8080
[!IMPORTANT]
Seguridad Local: Por defecto, el servidor corre en
127.0.0.1. No lo expongas a internet sin cifrado o autenticación, ya que le darías control total de tu terminal a cualquiera que se conecte.
3. Conexión con un cliente (Ejemplo: Claude Desktop)
Si usas Claude Desktop como "cerebro", debes editar tu archivo de configuración de Claude (claude_desktop_config.json) para añadir HexStrike como una "tool":
{
"mcpServers": {
"hexstrike": {
"command": "hexstrike_mcp",
"args": ["run"]
}
}
}
4. Verificación de herramientas disponibles
Una vez que el servidor esté corriendo, puedes listar qué "habilidades" le has dado a tu IA con:
Escaneo:
nmap,masscan.Web:
ffuf,gobuster.Explotación: Acceso a módulos de
metasploit.
¿Cómo se vería un flujo de trabajo?
Una vez configurado, podrías escribirle a tu chat de IA:
"Analiza el objetivo 192.168.1.50, busca servicios web y si encuentras un WordPress, intenta identificar plugins vulnerables."
La IA enviará comandos al servidor HexStrike, este ejecutará nmap y wpscan en tu Kali, y le devolverá los resultados a la IA para que decida el siguiente paso.
Para que el sistema sea totalmente autónomo desde tu terminal de Kali, necesitamos configurar el Agente Orquestador. Este agente es el que toma tu API Key (de OpenAI o Anthropic) y "razona" sobre qué comandos de HexStrike ejecutar.
Aquí tienes los pasos para configurar la integración directa:
1. Exportar tu API Key
Primero, debes decirle a tu terminal qué "cerebro" va a usar. Sustituye TU_API_KEY por tu clave real:
Para OpenAI (GPT-4o recomendado):
export OPENAI_API_KEY="sk-..."
Para Anthropic (Claude 3.5 Sonnet recomendado):
export ANTHROPIC_API_KEY="sk-ant-..."
2. Configurar el archivo de Agente (agent_config.yaml)
HexStrike necesita saber qué modelo usar y qué permisos tiene. Crea un archivo básico:
model: "gpt-4-turbo" # o "claude-3-5-sonnet-20240620"
max_iterations: 10
tools:
- nmap
- gobuster
- metasploit
- sqlmap
allowed_networks:
- "192.168.1.0/24" # Solo permite atacar tu red local de pruebas
3. Ejecutar en modo interactivo
Ahora puedes lanzar el agente para que empiece a trabajar. Usa el comando hexstrike-run seguido de tu objetivo:
hexstrike-run --config agent_config.yaml --task "Realiza un escaneo de puertos en 192.168.1.15 y dime si hay algún servicio vulnerable a RCE."
¿Qué sucederá a continuación?
La IA analizará tu petición: Verá que necesita
nmap.Ejecución automática: HexStrike lanzará el comando
nmap -sV 192.168.1.15en tu máquina.Análisis de resultados: La IA leerá la salida de Nmap. Si ve un puerto 80 abierto, ella sola decidirá lanzar
gobuster.Informe final: Al terminar, te dará un resumen en español de lo que encontró y los exploits sugeridos.
[!CAUTION]
Peligro: El parámetro
max_iterationses vital. Si no lo pones, la IA podría entrar en un bucle infinito lanzando herramientas y consumiendo todo tu saldo de la API en pocos minutos.
Para facilitarte la vida, aquí tienes un script de Bash que puedes guardar en tu Kali. Este script automatiza la exportación de la API Key, levanta el servidor MCP en segundo plano y te deja listo el entorno para lanzar tareas.
Script de Automatización: launch_hexstrike.sh
Copia este código en un archivo nuevo:
#!/bin/bash
# --- Configuración ---
# Sustituye con tu clave real o pásala como variable de entorno
API_KEY="TU_API_KEY_AQUI"
MODELO="gpt-4-turbo" # O "claude-3-5-sonnet-20240620"
TARGET_NET="192.168.1.0/24"
echo "[+] Iniciando entorno HexStrike AI..."
# 1. Exportar la clave para el agente
export OPENAI_API_KEY=$API_KEY
export ANTHROPIC_API_KEY=$API_KEY
# 2. Crear archivo de configuración temporal si no existe
cat <<EOF > /tmp/hexstrike_config.yaml
model: "$MODELO"
max_iterations: 15
allowed_networks: ["$TARGET_NET"]
tools: ["nmap", "gobuster", "metasploit", "sqlmap", "ffuf"]
EOF
# 3. Lanzar el servidor MCP en segundo plano
echo "[+] Levantando servidor MCP en puerto 8080..."
hexstrike_mcp start --host 127.0.0.1 --port 8080 > /tmp/mcp_log.txt 2>&1 &
MCP_PID=$!
# 4. Esperar un momento a que el servidor esté listo
sleep 2
echo "[+] Entorno LISTO."
echo "-------------------------------------------------------"
echo "Usa: hexstrike-run --config /tmp/hexstrike_config.yaml --task 'TU_MISION'"
echo "Para detener todo, pulsa CTRL+C o escribe 'exit'"
echo "-------------------------------------------------------"
# Mantener el script vivo para que el proceso de fondo no muera inmediatamente
# y permitir una limpieza limpia al salir.
trap "kill $MCP_PID; echo '[-] Servidor detenido.'; exit" SIGINT SIGTERM
read -p "Presiona ENTER para cerrar el servidor cuando termines..."
Pasos para ejecutarlo:
Dar permisos de ejecución:
chmod +x launch_hexstrike.shEjecutarlo:
./launch_hexstrike.shLanzar una tarea (en otra terminal):
Mientras el script anterior está corriendo, abre otra pestaña de terminal y lanza una orden real:
hexstrike-run --config /tmp/hexstrike_config.yaml --task "Escanea 192.168.1.50 y busca vulnerabilidades críticas"
Un consejo de "amigo":
HexStrike es muy agresivo por defecto. Si le pides "atacar", intentará usar Metasploit de inmediato. Te recomiendo empezar siempre con tareas de reconocimiento (recon) para ver cómo razona la IA antes de dejarle vía libre con exploits.
Para que el agente sea sigiloso y no dispare todas las alarmas de un IDS (Sistema de Detección de Intrusos) o un Firewall, debemos modificar la forma en que HexStrike invoca a las herramientas subyacentes (Nmap, Nikto, etc.).
Aquí tienes cómo ajustar tu configuración para que la IA actúe como un "fantasma" en la red.
1. Modificación del archivo agent_config.yaml
Añadiremos una sección de "Profiles" o perfiles de herramientas. Esto obliga a la IA a usar banderas (flags) específicas de bajo perfil:
model: "gpt-4-turbo"
max_iterations: 10
stealth_mode: true # Activa la lógica de retraso entre peticiones
tool_configs:
nmap:
default_args: "-sS -T2 --spoof-mac 0 --data-length 24"
# -sS: Scan de tipo SYN (medio abierto)
# -T2: Modo "Polite" (lento para evitar saturación)
# --data-length: Añade basura aleatoria a los paquetes para confundir firmas
gobuster:
default_args: "--delay 500ms --random-agent"
# --delay: Medio segundo entre peticiones HTTP
# --random-agent: Cambia el User-Agent para no parecer un bot
allowed_networks: ["192.168.1.0/24"]
2. Estrategias de Evasión que aplicará la IA
Al activar estos parámetros, el flujo de trabajo de HexStrike cambiará drásticamente:
Fragmentación de paquetes: En lugar de enviar ráfagas masivas, el agente enviará fragmentos pequeños que muchos firewalls antiguos no logran reensamblar para analizar.
Timing dinámico: La IA no lanzará 100 peticiones por segundo. Esperará intervalos aleatorios para que el tráfico parezca "humano".
Engaños de MAC/IP: El script usará direcciones MAC aleatorias en cada sesión para que no sea fácil rastrear el origen físico del ataque en la red local.
3. Actualización del Script de Inicio (launch_hexstrike.sh)
Para aplicar esto, simplemente asegúrate de que tu script apunte al nuevo archivo de configuración. He añadido una línea para limpiar los logs de Kali automáticamente, evitando dejar rastro en el disco:
# ... (dentro de tu script launch_hexstrike.sh) ...
# Limpiar huellas locales antes de empezar
sudo journalctl --vacuum-time=1s > /dev/null 2>&1
echo "[+] Modo Sigiloso ACTIVADO"
hexstrike-run --config stealth_config.yaml --task "Analiza 192.168.1.15 sin alertar al firewall."
Advertencia de "Realidad"
Aunque uses el modo sigiloso, un SOC (Centro de Operaciones de Seguridad) moderno con IA de detección de anomalías podría detectarte. La IA de HexStrike es buena, pero el tráfico de red siempre deja alguna huella.
Consejo Pro: Si el objetivo tiene un WAF (Web Application Firewall), pide a la IA específicamente: "Usa técnicas de encoding para evadir WAF al probar inyecciones SQL". HexStrike traducirá esto en comandos de
sqlmapcon scripts de "tamper".
Para evadir un WAF (Web Application Firewall) como Cloudflare, Akamai o ModSecurity, la IA de HexStrike debe usar scripts de "tamper". Estos scripts modifican la carga útil (payload) de SQL para que el firewall no reconozca los patrones de ataque típicos (como SELECT, UNION o OR 1=1).
Aquí tienes la configuración técnica que debes añadir a tu archivo stealth_config.yaml y cómo la IA los aplicará:
1. Configuración de "Tamper Scripts" en HexStrike
Añade esto a la sección de tool_configs de tu archivo YAML para que sqlmap sea casi invisible:
tool_configs:
sqlmap:
default_args: "--random-agent --tamper=space2comment,between,charlencode"
# space2comment: Cambia espacios por /**/ (Ej: SELECT/**/FROM)
# between: Cambia el signo '>' por la expresión 'NOT BETWEEN'
# charlencode: Codifica caracteres en formato URL/Hex
2. Tabla de Scripts de Evasión (Tamper)
Dependiendo del tipo de firewall que detecte la IA, estos son los comandos que HexStrike ejecutará automáticamente si se lo pides:
| Escenario / WAF | Script de Tamper Recomendado | ¿Qué hace? |
| Genérico (IPS/IDS) | space2comment | Sustituye espacios por comentarios de C. |
| Cloudflare | cloudflare | Ofusca las cabeceras para saltar sus reglas básicas. |
| ASP.NET / IIS | charencode | Codifica todo el payload en formato URL. |
| MySQL (Filtros de palabras) | versionedmorekeywords | Encapsula palabras clave en comentarios de versión. |
| Filtros de "OR / AND" | nonrecursivereplacement | Duplica palabras (Ej: OORR) para que al borrarlas quede la original. |
3. Cómo ordenárselo a la IA
Una vez configurado el archivo, puedes darle una orden directa y compleja en español:
"Escanea el dominio https://www.google.com/search?q=victima.com. Si detectas un WAF, utiliza sqlmap con los tamper scripts 'space2comment' y 'between' para intentar una inyección en los parámetros de búsqueda sin ser bloqueado."
4. Automatización Total (Script de "Bypass")
Si quieres que la IA sea proactiva, puedes añadir esta línea a tu prompt maestro:
"Siempre que encuentres un error 403 o 406 al usar herramientas web, asume que hay un WAF y reintenta usando ofuscación hexadecimal."
¿Qué sigue ahora?
Ya tienes el entorno, el script de lanzamiento, la configuración sigilosa y las técnicas de evasión de WAF.