Raas

Máquina Raas de DockerLabs

Autor: darksblack

Dificultad: Dificil

Raas

Reconocimiento

Comenzaremos con un escaneo de nmap:

Tenemos 3 puertos abiertos en un Ubuntu:

Puerto 22: OpenSSH 9.6p1

Puerto 139: Samba smbd 4

Puerto 445: Samba smbd 4

Smb enumeration

Comenzamos intentando enumerar los recursos compartidos con smbclient:

Como vemos en el resultado, podemos enumerarlo pero no tenemos acceso a ninguno, pero podríamos intentar usar rpcclient para obtener usuarios:

una vez dentro ejecutamos enumdomusers:

teniendo la lista de usuarios, usaremos netexec para realizar fuerza bruta e intentar obtener las credenciales de algún usuario:

tenemos unas credenciales para el smb: patricio:basketball

por lo que si enumeramos con las nuevas credenciales, veremos que tenemos acceso al recurso "ransomware":

Procederemos entrando a través de smbclient de la siguiente manera:

Vemos varios archivos al ejecutar dir, por lo que pasaremos todos directamente a nuestra máquina:

Nota.txt:

Como dice la nota, vemos que nos han dejado un binario al cual probablemente tengamos que hacerle Reverse engineering con ghidra. Cargamos el binario dentro de ghidra y comenzamos a analizarlo:

Main

viendo la función main ya podemos ver un poco del flujo del binario, el cual es el siguiente:

viendo esto, me pongo a analizar la función de encriptar y encuentro cosas interesantes, como el algoritmo de cifrado el cual es "AES-256-CBC". A este algoritmo es necesario pasarle 2 cosas importantes:

la clave debe tener 32 bytes y el IV debe tener 16, sabiendo esto podemos hacer la búsqueda. Como vemos, a la función "encrypt_files_in_directory" se le pasan 3 parámetros, los cuales son el directorio que se va a encriptar, la clave y el IV. Entonces, ya tenemos el IV, ya que "local_438" hace referencia a "local_438" y "local_430" juntos, y el valor de estos seria:

También podemos ver que se le pasa "local_428", la cual es una variable que contiene el resultado de la ejecución de la función "recon", el cual es el siguiente:

por lo que ya tenemos la clave y el IV, ya que "y0qpfjxbd77904929ew0omqad3f4gscl" contiene 32 bytes y "1234567890123456" tiene 16. Finalmente entramos a CyberChef y pasando los datos correctamente nos da el siguiente resultado: Credenciales_Bob

por lo que finalmente podemos entrar en la máquina.

Intrusión

Entramos a través de ssh de la siguiente manera:

y ponemos la contraseña "56000nmqpL".

Escalada de Privilegios

Bob

Siendo el usuario bob, ejecuto sudo -l y veo que puedo ejecutar node como el usuario "calamardo", por lo que escalaremos de la siguiente manera:

Calamardo

Luego de revisar un rato, veo que el archivo .bashrc de "calamardo" contiene lo siguiente:

por lo que tenemos la contraseña de "patricio" para escalar con su:

Patricio

Si buscamos archivo que pertenezcan a patricio, veremos que se encuentra un python3 un tanto extraño:

el cual si revisamos con getcap, veremos lo siguiente:

y para escalar debemos ejecutar lo siguiente:

Aun que todavía no seremos root al 100%, para hacerlo debemos ejecutar lo siguiente:

Una vez tengamos todo ya seremos root.

Root

Root

Gracias por leer ;)

Última actualización