Guía visual sobre cómo eliminar cuenta Google de celular, con una imagen de fondo de seguridad digital y un hacker.
Aprende cómo eliminar cuenta Google de celular de forma segura para proteger tu información personal antes de cambiar de dispositivo.

Exegol: La Guía Definitiva del Entorno Docker para Seguridad Ofensiva

¿Y si tu caja de herramientas ofensiva fuera más fácil de desplegar que un simple docker run? En este artículo, hablaremos de una solución de herramientas para la ciberseguridad ofensiva llamada Exegol. Veremos cómo funciona esta herramienta, su origen, su filosofía y, por supuesto, una demostración de su uso.

La ciberseguridad ofensiva es un campo complejo que involucra múltiples tecnologías, lenguajes y herramientas. Uno de los elementos más importantes es, sin duda, la caja de herramientas que elegimos para formarnos, entrenar o realizar pruebas reales.

Existen numerosas soluciones, desde sistemas operativos “todo en uno” hasta configuraciones desde cero. Entre estas diferentes opciones, ha aparecido recientemente una solución ligera, actualizada, eficaz y fácil de usar: Exegol.

Un Ecosistema Completo para la Seguridad Ofensiva con Exegol

Interfaz web de Exegol, una plataforma de seguridad ofensiva que ofrece entornos de hacking para profesionales.
Exegol es una plataforma de seguridad ofensiva que provee entornos de hacking en contenedores para profesionales y estudiantes.

Imágenes de Docker y un wrapper de Python: simple y eficaz

Exegol es una caja de herramientas ofensiva basada en Docker. Es una solución de gran simplicidad, tanto en su diseño como en su uso. Se basa en algunos componentes conocidos y robustos que describiremos a continuación:

  • Docker: permite aislar entornos, lo cual es muy importante para la seguridad ofensiva.
  • Imágenes de Docker preconstruidas, personalizables, mantenidas al día y optimizadas para escenarios específicos (web, OSINT, AD).
  • Un wrapper de Python que facilita, a través de la línea de comandos, la gestión de los diferentes contenedores e imágenes de Docker, así como el uso de las funcionalidades propias de Exegol.
  • Recursos sin conexión, como diccionarios de palabras, diferentes ejecutables y scripts de enumeración, puertas traseras, etc.
  • Un gestor de historial y de credenciales, un registro de comandos y un montón de funcionalidades más.
  • Tus propias herramientas y recursos.

Imagina este flujo de trabajo: en segundos, un contenedor se inicia con acceso instantáneo a todas tus herramientas y documentos. Con un simple comando, cambias de proyecto, cada uno con su propio contexto y datos. Si necesitas empezar de cero, solo destruyes el contenedor y creas uno nuevo, manteniendo tu sistema anfitrión intacto.

Para entender mejor el éxito de Exegol, es útil repasar las limitaciones de las herramientas más tradicionales.

Las limitaciones de las herramientas actuales

Con varios años de experiencia como pentester, mi herramienta principal fue durante mucho tiempo una VM de Kali Linux. Era la opción “por defecto” y, a falta de alternativas, me adapté a ella.

Esta solución parecía interesante: tener una máquina virtual permite volver a un estado inicial gracias a las snapshots al final de una misión, se tiene un aislamiento con respecto al anfitrión, se pueden tener tantas VMs como clientes, etc. Sin embargo, el uso diario de esta solución sacó a la luz varios problemas que nunca llegué a resolver por completo:

  • Recursos bajo presión: en la práctica, a una VM le cuesta seguir el ritmo en operaciones exigentes (escaneos automatizados, craqueo de contraseñas). ¿Multiplicar los clones para aislar las misiones? El almacenamiento se satura rápidamente y el rendimiento es limitado.
  • Inestabilidad crónica: incluso con hipervisores maduros, los errores son mi día a día: bloqueos inesperados, problemas de visualización o el copiar y pegar que deja de funcionar. Horas perdidas en mantenimiento en lugar de en pruebas.
  • Aislamiento teórico: lo sabemos, una VM por cliente es la regla. Ya sea para “hacer una pequeña prueba rápida” en un perímetro anterior, o un simple PoC (Proof of Concept), en la práctica no siempre nos tomamos el tiempo de volver a la snapshot original, especialmente si estamos en medio de una misión. Esto implica riesgos para la separación de los datos.
  • Personalización frágil: ¿una herramienta instalada para una misión? Después de restaurar una snapshot o una actualización, hay que empezar de nuevo. Sin mencionar las configuraciones y atajos que hay que volver a aplicar sistemáticamente.
  • Dependencia de las actualizaciones: las distribuciones “todo en uno” tienen un retraso crítico en las versiones de las herramientas. Resultado: me encuentro compilando desde el código fuente, perdiendo el beneficio de una solución integrada.

Para un pentester, disponer de las últimas versiones de las herramientas es indispensable; el ritmo de publicación de vulnerabilidades y sus parches no permite esperar más de unos pocos días (o incluso horas) para realizar operaciones eficaces.

¿Por qué es un obstáculo? En el pentesting, cada minuto cuenta. Una VM que se ralentiza, herramientas obsoletas o una configuración que hay que rehacer cada vez, es tiempo robado a lo que más importa: la eficacia operativa.

Después de muchos años usando Kali Linux, había automatizado la instalación de numerosas herramientas y recursos específicos para mi metodología y mis necesidades. Sin embargo, debo admitir que las diversas limitaciones mencionadas eran una carga y ralentizaban mi trabajo diario. Así que decidí cambiar mis hábitos y mi resistencia al cambio (todos envejecemos) y le di una oportunidad a Exegol.

Mi opinión sobre Exegol: probado y aprobado

Debo decir que era reacio a la idea de cambiar mis hábitos, sobre todo después de haber invertido tanto tiempo en crear mi pequeña configuración de Kali Linux. Pero, a fuerza de oír a mis colegas hablar de esta herramienta, y sobre todo al no encontrar soluciones a las distintas limitaciones, me dije: ¿por qué no?

Entre los principales prejuicios que tenía sobre la solución:

  • Debe ser un lío acceder a herramientas gráficas que corren en Docker, ¿realmente está hecho para eso?

Este es uno de los muchos beneficios del wrapper de Python. Por defecto, configura los contenedores para que compartan su interfaz X11, lo que permite la ejecución de herramientas gráficas (BurpSuite, por ejemplo). ¡La interfaz gráfica aparecerá en el anfitrión! (Fuente: Exegol – wrapper – x-11-sharing-gui)

Además, es posible usar la opción --desktop, que expondrá la interfaz gráfica (escritorio) del contenedor en una interfaz accesible por HTTP o VNC. (Fuente: Exegol – wrapper – desktop)

  • Para acceder a herramientas que escuchan localmente, para ataques de red, mi CyberChef o la interfaz de Bloodhound, ¿cómo se hace?

Un contenedor de Docker comparte la configuración de red de su anfitrión, por lo que puede acceder a la interfaz Wi-Fi, Ethernet e incluso tener su propio acceso VPN. Las herramientas que escuchan localmente en el contenedor serán accesibles desde el anfitrión. La lista de servicios disponibles entre las herramientas de Exegol y sus puertos de escucha se encuentra aquí: Exegol – Service list

  • Una imagen de Docker es estática, ¿no podré añadir mis propias herramientas? Y, ¿qué pasa con mis rastros cuando el contenedor se detiene?

Varios directorios montados entre el anfitrión y los contenedores permiten compartir herramientas o recursos que siempre estarán disponibles. También hay diferentes carpetas de configuración para instalar tus propias herramientas adicionales, configurar automáticamente tu Zsh, Firefox, Tmux o Vim según tus preferencias al crear un nuevo contenedor.

Finalmente, cada contenedor tiene un workspace (carpeta) dedicado y compartido con el anfitrión. Así, no hay riesgo de mezclar dos carpetas relacionadas con misiones o contextos diferentes:

# Lista de los workspaces de cada contenedor: ai, proyecto_1, proyecto_2, htb
$ ls ~/.exegol/workspaces/ -al
total 166540
drwxrwxr-x  6 esgeeks esgeeks      4096 jul. 30 21:14 .
drwxrwxr-x  5 esgeeks esgeeks      4096 jul.  6 21:50 ..
drwxrwsr-x  7 esgeeks esgeeks      4096 jul. 20 22:53 ai
drwxrwsr-x  2 esgeeks esgeeks      4096 jul. 30 22:13 projet_1
drwxrwsr-x  2 esgeeks esgeeks      4096 jul. 30 22:14 projet_2
drwxrwsr-x 22 esgeeks esgeeks      4096 jul. 03 22:56 htb

Por ejemplo, insertar las siguientes instrucciones en el archivo .exegol/my-resources/setup/load_user_setup.sh ejecutará estos comandos (y, por lo tanto, instalará algunas herramientas adicionales) cada vez que se cree un nuevo contenedor:

pipx install git+https://github.com/infosec-au/altdns
pipx install git+https://github.com/devanshbatham/paramspider.git

En resumen, el wrapper de Python y el funcionamiento de Exegol han resuelto todos los casos en los que tuve dudas sobre la compatibilidad de la herramienta con mis métodos de trabajo. La lista completa de características de Exegol se encuentra en esta página:

Exegol – Características

Rápidamente, comprendí que Exegol era la solución a los problemas crónicos de las VMs. Es una herramienta más ligera, personalizable y alineada con las necesidades de un profesional. En resumen: Kali Linux es excelente para aprender, pero para un uso operativo y serio, Exegol es superior.

La Filosofía Detrás de Exegol: Una Herramienta con Sello Francés

Un dato interesante: Exegol fue creado por el francés Charlie Bromberg (ShutDown), también autor del imprescindible recurso TheHackerRecipes. Su gran trabajo en esa base de conocimientos fue lo que me convenció para probar su herramienta.

Exegol nació en 2020 con una idea clara: mutualizar esfuerzos. En lugar de que cada pentester cree su propio entorno desde cero, ofrece una base sólida y extensible que cubre el 80% de las necesidades, dejando el 20% a la personalización.

A diferencia de otras distribuciones, Exegol sigue un enfoque de calidad sobre cantidad. Cada herramienta es evaluada por su ligereza, apoyo de la comunidad y pertinencia operativa. Si una herramienta queda obsoleta, se retira. Esto garantiza un arsenal siempre afilado y relevante, diseñado por y para profesionales.

Guía Práctica: Instalación y Primeros Pasos con Exegol

Terminal con el comando 'info' que muestra Información versión Exegol, junto con las imágenes y contenedores disponibles.
El comando ‘exegol info’ te proporciona toda la Información versión Exegol, el estado de las imágenes y los contenedores. Es clave para gestionar tu entorno de hacking.

Cómo instalar Exegol en Linux

Vamos a la práctica. Para esta demo, uso Ubuntu 24.04, pero Exegol también es compatible con macOS y Windows (vía WSL2). Los prerrequisitos son Docker, git, Python3 y pipx.

El proceso de instalación es muy simple:

# 1. Instalación de exegol con pipx
pipx install exegol

# 2. (Opcional) Crear un alias para ejecutarlo fácilmente con sudo
echo "alias exegol='sudo $(echo ~/.local/bin/exegol)'" >> ~/.bash_aliases && source ~/.bash_aliases

Tras abrir una nueva terminal, verifica la instalación con exegol info. Este comando te mostrará los contenedores activos y las imágenes disponibles para descargar.

El siguiente paso es instalar una imagen. La imagen free es más que suficiente para empezar a descubrir el potencial de Exegol.

# Descarga de la imagen 'free' de Exegol
exegol install free

Nota: La imagen free ocupa unos 50 GB, ya que viene cargada con más de 400 herramientas y recursos.

Gestionando contenedores e imágenes con Exegol

El ciclo de vida de un contenedor en Exegol es muy sencillo:

  1. Instalar/Actualizar imagen: exegol install <imagen> o exegol update <imagen>.
  2. Iniciar un contenedor: exegol start <nombre_contenedor> <imagen>.
  3. Entrar al contenedor: exegol start <nombre_contenedor>.
  4. Eliminar el contenedor: exegol remove <nombre_contenedor>.

Por ejemplo, para crear y entrar a un contenedor llamado htb-lab basado en la imagen free, usaríamos:

# Creación e inicio del contenedor
exegol start htb-lab free

Al finalizar, puedes eliminar el contenedor, pero tu /workspace con todos los datos de la auditoría se conservará en tu máquina local.

Demostración: Realizando un Pentest con Exegol

Al entrar en un contenedor, verás un resumen de su configuración: red, directorios compartidos, credenciales, etc.

Una de las funcionalidades que más tiempo ahorra es el historial de comandos inteligente, basado en TheHackerRecipes. Simplemente empieza a escribir un comando y Zsh te sugerirá la sintaxis completa. Además, puedes usar variables de entorno para no repetir IPs, dominios o credenciales.

# 1. Define las variables de tu objetivo
USER=cersei.lannister
PASSWORD=il0vejaime
DOMAIN=sevenkingdoms.local
DC_HOST=192.168.56.10

# 2. Usa los comandos del historial, que ya usan estas variables
# (Ej: Empieza a escribir "kerbrute" y presiona la flecha derecha para autocompletar)
kerbrute userenum --dc $DC_HOST -d $DOMAIN users.txt

El prompt de la terminal te mostrará siempre el contexto (usuario@dominio), evitando errores y facilitando la captura de evidencias para tus informes.

Conclusión: ¿Por qué deberías probar Exegol hoy mismo?

Exegol se ha consolidado como una herramienta imprescindible para profesionales de la ciberseguridad ofensiva y para cualquiera que quiera entrenar de forma eficiente. Después de varios meses de uso intensivo, puedo afirmar que no contemplo volver a las soluciones tradicionales como Kali Linux en una VM.

La mejor forma de convencerte es probándolo tú mismo. Su agilidad, poder de personalización y enfoque profesional te permitirán concentrarte en lo que de verdad importa: la auditoría, no el mantenimiento de tu entorno.

Recursos Adicionales:

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda