Raas
Máquina Raas de DockerLabs
Autor: darksblack
Dificultad: Dificil

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:

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: 
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

Gracias por leer ;)
Última actualización