photo-1487058792275-0ad4aaf24ca7

 

Explotación de SUDO mediante Metaexploit

Introducción

Para este supuesto práctico vamos a usar una máquina con un sudo vulnerable, con la versión 1.8.21p2, en concreto va a ser en una Ubuntu 18.04, para realizarle una auditoría, para ello usare otra máquina con Kali donde usaremos el exploit publicado el 26 de enero de 2021.

Objetivos

El objetivo de este supuesto es el aprendizaje del uso de herramientas de pentesting para adquirir los conocimientos necesarios para reconocer con mayor brevedad vulnerabilidades y prevenir con mayor antelación posibles ataques a activos esenciales de una empresa.

Alcance y limitaciones

El alcance de este pentesting es llegar a ser root mediante la vulnerabilidad reportada como CVE-2021-3156

Las limitaciones estarán en el tipo SO Linux, ya que este exploit no ha sido usado en todos los sistemas Linux sin parchear y es algo a tener debemos de tener en cuenta a la hora de elegir una máquina objetivo, en el enlace anterior se da más información sobre esto.

  • –         Auditoría Objetivo

Pentesting

  • –         Auditoría Organización

Según los datos que hemos recabado en el análisis estamos ante un caso de auditoria de caja blanca, porque ya sabemos que tenemos la vulnerabilidad y como corregirla.

Procedimiento Auditoría

Information Gathering

Comenzamos viendo si la máquina Ubuntu 18.04 tiene el sudo vulnerable ejecutando el siguiente comando con Python:

sudoedit -s ‘\’ $(python3 -c ‘print(“A”*1000)’)

Según la documentación, que podemos encontrar en el siguiente enlace , con el comando que ejecutamos anteriormente si nos sale el mensaje de “memory corruption”, eso quiere decir que la máquina tiene sudo vulnerable.

Para realizar la explotación y explotación posterior usaremos la siguiente guía a https://github.com/rapid7/metasploit-framework/pull/14715

Sabiendo que vamos a necesitar 2 exploit para la realización de este ejercicio, una para la sesión SSH (requerida para conectase a la máquina) y otra para explotar el SUDO como tal.

Explotación

Ahora vamos a explorar la vulnerabilidad de SUDO, para ellos vamos a usar en nuestra Kali el programa Metaexploits:

Y a continuación vamos a usar una serie de comandos hasta llegar a acceder mediante el meterpreter como root en la máquina objetivo(Ubuntu 18.04).

El primer paso que vamos a realizar dentro de metaexploit es abrir una sesión SSH hacía la máquina objetivo para establecer la conexión necesaria para ejecutar el exploit de sudo y ponerla en background, ya que es uno de los requisitos a tener en cuenta para explotar la vulnerabilidad de sudo.

Para ello seleccionamos el exploit sshexec, que previamente hemos buscado con search:

El siguiente paso es configurar el exploit de conexión SSH:

Como ya tenemos todas las credenciales, es solo realizar los comandos de la siguiente página para establecer los parámetros correctos para dicha conexión SSH.

En este paso debemos de indicar el username, la password y el RHOST (IP de la Ubuntu 18.04 a la que explotar), también debemos de cambiar el target, que para este caso será una Linux x64.

Lo configuramos con los siguientes comandos:

El resultado de la configuración del exploit anterior debe de ser parecido a este:

Una vez hemos realizado esto, ejecutamos el exploit:

Una vez nos salga el meterpreter, lo mandamos a segundo plano, para poder seguir con la ejecución del siguiente exploit, para ello ejecutamos el siguiente comando:

Una vez hecho esto, hemos acabado con la primera parte de la preparación del exploit de SUDO, el siguiente paso que vamos a realizar, es buscar dicho exploit, para ello usamos de nuevo el comando search:

Una vez hacemos la búsqueda, vamos a seleccionar el exploit de baron_samedit, el numero 12, ya que este es el que vamos a usar para explotar el SUDO:

Una vez seleccionado el siguiente paso es configurar el exploit, seleccionando la sesión SSH que mandamos anteriormente a segundo plano y dejando el target en automático.

Con el comando sessions, podemos ver la sesión que creamos anteriormente:

Y debe de quedarnos algo parecido a lo que se muestra en la siguiente imagen:

Ya el siguiente paso sería ejecutar el exploit, para ello lo ejecutamos con el comando run:

Como se puede ver en la imagen de arriba, el exploit nos indica que el objetivo es vulnerable y que procede a la ejecución del exploit.

Explotación posterior

Como se puede ver en la última imagen de la página anterior, el exploit ha resultado un éxito, ya que nos ha devuelto un meterpreter, por lo que ahora vamos a ejecutar unos comandos, para que se vea que no es necesario SUDO, ya que ya estamos como root y podemos acceder a archivos como el /etc/shadow, e incluso crear carpetas desde el meterpreter.

En primer lugar, vamos a ver que realmente estamos dentro de la máquina y como usuario root, para ello ejecutaremos el comando sysinfo y getuid.

sysinfo

getuid

Como se puede ver con este último comando estamos como root, así que vamos a probar a crear una carpeta dentro del escritorio del usuario al que nos conectamos por ssh:

Primero vamos a listar que contiene el escritorio del usuario

A continuación, probamos a crear una carpeta en la cuenta del usuario:

Por último, como tenemos acceso a la otra máquina, podemos ver que efectivamente se a creado la carpeta y se puede ver que tiene un candado, ya que ha sido creada por root:

Eso es por que ha sido creada por root, como se puede ver a continuación:

Solución de la vulnerabilidad

Para la vulnerabilidad que hemos explotado de SUDO, lo que tenemos que hacer, es lo siguiente:

En primer lugar, vamos a ver que versión tenemos:

Como se puede ver tenemos la versión vulnerable, como nos indico el exploit a la hora de ejecutarlo.

Una vez sabemos que debemos de parchearlo, lo que debemos de hacer es decargarnos de la siguiente página, la última versión correspondiente a nuestro sistema operativo, en mi caso es una Ubuntu 18.04, por lo que descargare la que esta marcada en el recuadro en rojo de la imagen de abajo:

Lo descargamos con wget y una vez lo tenemos descargado lo instalamos con el comando que se ven en la siguiente imagen:

Y volvemos a comprobar la versión, para ver que efectivamente se nos ha parcheado el SUDO:

Por último, y lo mas importante, es comprobar que no podemos ejecutar el exploit, ya que hemos parcheado la vulnerabilidad y este ya no puede ser usado contra nuestra máquina:

Y como se puede ver, se nos muestra que no es vulnerable, ya que nuestra versión ahora es la más reciente que corrige la vulnerabilidad que estábamos explotando.

 

*(Este articulo puede sufrir mejoras u modificaciones)

 

Dejar un comentario