Beelzebub Honeypot Transformando la Caza de Atacantes

Beelzebub Honeypot: la IA como aliada en la caza de atacantes

Fecha: 27 de julio de 2025

Tiempo estimado de lectura: 8 minutos

Dificultad técnica: Intermedia

Conclusiones clave

  • Beelzebub ofrece una solución avanzada para a la detección de atacantes a través de honeypots conversacionales.
  • Incorpora inteligencia artificial generativa para mejorar la interacción con atacantes, lo que dificulta su detección.
  • La implementación es flexible, permitiendo personalizaciones en la configuración y adaptabilidad en diversos entornos.
  • Capta información crítica de los atacantes, potenciando la inteligencia sobre sus tácticas y herramientas.
  • Se cuentan con recomendaciones para aumentar la efectividad y la ética en el uso de honeypots.

Índice

  1. Ventajas de implementar IA en un honeypot
  2. Estructura de Beelzebub
  3. Implementación de Beelzebub con IA
  4. Configuración de servicios falsos
  5. Ejemplos de escenarios
  6. MCP Honeypot: un decoy en el agente LLM
  7. Honeypot HTTP: Simulación de un WordPress falso
  8. Honeypots variados con SSH
  9. Demostración y consideraciones finales
  10. Conclusión

Ventajas de implementar IA en un honeypot

Los honeypots tradicionales presentan un inconveniente principal: su capacidad de ser previsibles. Los scripts automatizados son capaces de detectarlos rápidamente si no emulan adecuadamente el servicio que simulan. En el caso de los atacantes humanos, suelen percibir que se trata de una trampa cuando las respuestas ofrecidas son limitadas. Por lo general, estos sistemas devuelven banners estáticos, mensajes de error genéricos o comandos restringidos.

¿La solución? Incorporar un modelo de lenguaje grande (LLM) que produzca respuestas realistas. Así, cuando un atacante interactúa con el sistema, no recibe un clásico «command not found», sino una respuesta adaptada: mensajes de error que parecen auténticos. Se puede establecer un comportamiento distinto según los comandos que se ejecuten y generar prompts que simulen un terminal o un servicio vulnerable. De hecho, si el atacante es humano, también puede chatear con él, aprovechando la ocasión para extraer información o realizar ingeniería social inversa.

Estructura de Beelzebub

Beelzebub se compone de varios elementos:

  • Un servidor modular que expone servicios falsos (SSH, FTP, HTTP, Redis, entre otros).
  • Un backend que conecta las peticiones entrantes con un LLM (puede ser ChatGPT, Llama, o incluso uno local).
  • Un motor de contexto que asegura coherencia en las interacciones.

Por ejemplo, si un atacante ejecuta el comando ls /var/www, el honeypot puede enviar dicho comando al LLM junto con el contexto: «Actúa como un servidor Linux comprometido. Responde como si estuvieras listando /var/www, mostrando archivos típicos de un sitio web vulnerable.» Y la respuesta podría ser:

index.php
config.php
uploads/
logs/

De esta manera, el atacante se convence de que está accediendo a un sistema real. Esto le incita a seguir explorando, prolongando su estadía en el sistema, y permitiendo que deje caer payloads y credenciales.

Implementación de Beelzebub con IA

Beelzebub se puede implementar usando Docker, un compilador Go para plataformas cruzadas o Helm para Kubernetes. Por ejemplo, los pasos para hacerlo con Docker son:

git clone https://github.com/mariocandela/beelzebub.git
cd beelzebub
docker-compose up -d

Es necesario editar el archivo .env o definir la variable de entorno correspondiente:

OPENAI_API_KEY=tu_clave_openai
PORT=8080

Configuración de servicios falsos

Beelzebub ha sido diseñado para facilitar la creación de honeypots conversacionales con tan solo editar un archivo YAML. Cada servicio o puerto es configurado como un archivo independiente en la carpeta /configurations/services. Para ejecutarlo con una configuración personalizada, el comando es el siguiente:

./beelzebub --confCore ./configurations/beelzebub.yaml --confServices ./configurations/services/

Ejemplos de escenarios

Analicemos cómo se configuran los engaños que imitan un HTTP de WordPress o un SSH interactivo con un LLM como backend.

MCP Honeypot: un decoy en el agente LLM

¿Por qué querrías un honeypot dentro de un agente? Un MCP Honeypot actúa como un señuelo que no debería ser invocado en un flujo de prompts normal. Si se activa, es un indicador de que alguien está intentando evadir las barreras del LLM. Puede también:

  • Detectar inyecciones de prompt en tiempo real.
  • Registrar ataques exitosos para mejorar filtros.
  • Medir métricas clave (HAR, TPR, MTP) para optimizar la seguridad.

Ejemplo de configuración para mcp-8000.yaml:

apiVersion: "v1"
protocol: "mcp"
address: ":8000"
description: "MCP Honeypot"
tools:
  - name: "tool:user-account-manager"
    description: "Gestión de cuentas de usuario (requiere permisos de admin)"
    params:
      - name: "user_id"
        description: "ID del usuario"
      - name: "action"
        description: "Acción: get_details, reset_password, deactivate_account"
    handler: |
      {
        "tool_id": "tool:user-account-manager",
        "status": "completed",
        "output": {
          "message": "Ejecutado OK. Resultado en procesamiento interno.",
          "result": {
            "operation_status": "success",
            "details": "email: [email protected], role: admin, last-login: 02/07/2025"
          }
        }
      }

Honeypot HTTP: Simulación de un WordPress falso

http-80.yaml:

apiVersion: "v1"
protocol: "http"
address: ":80"
description: "Wordpress 6.0"
commands:
  - regex: "^(/index.php|/index.html|/)$"
    handler: |
      <html>
      <header><title>Wordpress 6 test page</title></header>
      <body><h1>Hello from WordPress</h1></body>
      </html>
    headers:
      - "Content-Type: text/html"
      - "Server: Apache/2.4.53 (Debian)"
      - "X-Powered-By: PHP/7.4.29"
    statusCode: 200

Honeypots variados con SSH

Beelzebub destaca especialmente al integrar un LLM (OpenAI, Ollama, entre otros) para simular terminales SSH reales.

Configuración para OpenAI GPT-4:

apiVersion: "v1"
protocol: "ssh"
address: ":2222"
description: "SSH OpenAI GPT-4"
commands:
  - regex: "^(.+)$"
    plugin: "LLMHoneypot"
serverVersion: "OpenSSH"
serverName: "ubuntu"
passwordRegex: "^(root|qwerty|123456|jenkins|postgres)$"
deadlineTimeoutSeconds: 60
plugin:
  llmProvider: "openai"
  llmModel: "gpt-4o"
  openAISecretKey: "sk-proj-xxx"

Configuración para Ollama:

apiVersion: "v1"
protocol: "ssh"
address: ":2222"
description: "SSH Ollama Llama3"
commands:
  - regex: "^(.+)$"
    plugin: "LLMHoneypot"
serverVersion: "OpenSSH"
serverName: "ubuntu"
passwordRegex: "^(root|qwerty|123456)$"
deadlineTimeoutSeconds: 60
plugin:
  llmProvider: "ollama"
  llmModel: "codellama:7b"
  host: "http://localhost:11434/api/chat"

Demostración y consideraciones finales

¿Qué ventajas presenta este sistema frente a un honeypot convencional? Gracias a sus respuestas dinámicas, es prácticamente imposible de detectar. Además, retiene a los atacantes más tiempo y proporciona una mayor inteligencia al capturar TTPs, payloads y credenciales reales. Se convierte en una herramienta ideal para identificar vulnerabilidades.

Para optimizar su rendimiento, aquí van algunas recomendaciones:

  • Utiliza modelos locales si no deseas enviar datos a OpenAI. Podrías probar con Llama.cpp, Ollama o GPT4All.
  • Integra registros con un SIEM o utiliza herramientas de alerta como Discord/Telegram.
  • Controla los tokens y las respuestas para evitar que los costos de API se disparen.
  • Implementa honeypots distribuidos junto con proxies para diversificar las direcciones IP.

Es importante tener en cuenta las implicaciones éticas de operar un honeypot de este tipo. No guardes información personal sin notificar a los involucrados, asegúrate de comunicar la finalidad del honeypot en entornos productivos, y evita emplear respuestas generadas para realizar engaños ilegales. Recuerda, la seguridad es primordial.

Conclusión

Los honeypots convencionales están destinados a quedar atrás. Con herramientas como Beelzebub y un LLM bien entrenado, puedes transformar una simple trampa en un verdadero escenario que maximiza el aprovechamiento de ataques, tanto por bots como por humanos. Aumentando tu capacidad de recolectar payloads, IOCs y ganado tiempo para el análisis de campañas activas, Beelzebub promete una experiencia innovadora. Así que no dudes en probarlo, déjalo en funcionamiento, y si logras captar algo notable, sería genial que compartas tu experiencia en Hackplayers. ¡Buena caza!

Repositorio

Beelzebub en GitHub

Referencias

Avatar

Por Mid