Linux Privilege Escalation
Linux Kernel Exploits
Los exploits del kernel en Linux normalmente apuntan a vulnerabilidades en el kernel de Linux para ejecutar código arbitrario con el fin de ejecutar comandos privilegiados del sistema u obtener un shell del sistema.
Este proceso diferirá según la versión y distribución del kernel objetivo y el exploit del kernel que se utilice.
La escalada de privilegios en sistemas Linux normalmente seguirá la siguiente metodología:
Identificar vulnerabilidades del kernel
Descargar, compilar y transferir exploits del kernel al sistema de destino.
Tools & Environment
Linux-Exploit-Suggester: Esta herramienta está diseñada para ayudar a detectar deficiencias de seguridad para una determinada máquina basada en Linux/kernel de Linux. Evalúa (utilizando métodos heurísticos) la exposición del kernel dado en cada kernel de Linux conocido públicamente. explotar.
GitHub: https://github.com/mzet-/linux-exploit-sugester
Nota: Las técnicas demostradas en los siguientes passos son realizados en un Ubuntu 12.04
VM
Si ejecuta vulnerabilidades de Kernel que no son compatibles con la version especifica o la version especifica de kernel ejecutandose en el Target, entonces puede causar bloqueos o Kernel Panic, lo que puede conducir a perdida de datos
Tenga mucho cuidado con los tipos de Vulnerabilidades del Kernel
Demo: Linux Kernel Exploits
Quiz
Exploiting Misconfigured Cron Jobs
Cron Jobs
Linux implementa la programación de tareas a través de una utilidad llamada Cron.
Cron es un servicio basado en el tiempo que ejecuta aplicaciones, scripts y otros comandos repetidamente según un cronograma específico o en un horario especifico.
Una aplicación o script que se ha configurado para ejecutarse repetidamente con Cron se conoce como Cron Job. Cron se puede utilizar para automatizar o repetir una amplia variedad de funciones en un sistema, desde copias de seguridad diarias hasta actualizaciones y parches del sistema.
El archivo crontab es un archivo de configuración que utiliza la utilidad Cron para almacenar y realizar un seguimiento (track) de los Cron Jobs que se han creado.
Exploiting Misconfigured Cron Jobs
Los Cron Jobs también se pueden ejecutar como cualquier usuario del sistema; este es un factor muy importante a tener en cuenta, ya que nos centraremos en los Cron Jobs que se han configurado para ejecutarse como usuario "root".
Esto se debe principalmente a que cualquier script o comando que se ejecute mediante un Cron Job se ejecutará como usuario root y, en consecuencia, nos proporcionará acceso de root.
Para elevar nuestros privilegios, necesitaremos encontrar e identificar Cron Jobs programados por el usuario root o los archivos que procesa el trabajo cron.
Demo: Exploiting Misconfigured Cron Jobs
Quiz
Exploitting SUID Binaries
Además de los tres permisos principales de acceso a archivos (lectura, escritura y ejecución), Linux también proporciona a los usuarios permisos especializados que pueden utilizarse en situaciones específicas. Uno de estos permisos de acceso es el permiso SUID (Set Owner User ID - Establecer ID de usuario del propietario).
Cuando se aplica, este permiso brinda a los usuarios la capacidad de ejecutar un script o binario con los permisos del propietario del archivo en lugar del usuario que ejecuta el script o binario.
Los permisos SUID se utilizan normalmente para proporcionar a los usuarios sin privilegios la capacidad de ejecutar scripts o archivos binarios específicos con permisos "root". Cabe señalar, sin embargo, que la provisión de privilegios elevados se limita a la ejecución del script y no se traduce en elevación de privilegios; sin embargo, si los usuarios sin privilegios están configurados incorrectamente pueden aprovechar configuraciones incorrectas o vulnerabilidades dentro del binario o script para obtener una sesión elevada.
Esta es la funcionalidad que intentaremos explotar para elevar nuestros privilegios, sin embargo, el éxito de nuestro ataque dependerá de los siguientes factores:
Owner of the SUID binary: Dado que estamos intentando elevar nuestros privilegios, solo explotaremos los binarios SUID que sean propiedad del usuario "root" u otros usuarios privilegiados.
Access permissions: Necesitaremos permisos de ejecución para poder ejecutar el binario SUID.
El objetivo es identificar una vulnerabilidad dentro de ese binario que esencialmente podemos aprovechar y tener.
Demo: Exploiting SUID Binaries
Explorar las diversas tecnicas de explotacion para SUID
Quiz
Last updated