Dance-Samba

Maquina dance-samba de DockerLabs

Autor: d1se0

Dificultad: Medio

dock

RECONOCIMIENTO

Comenzamos haciendo un escaneo de nmap:

Vemos que el puerto 21, 22, 443 y 139 están abiertos. Sabiendo eso y que no está abierto el puerto 80, usaremos ftp para conectarnos de manera anonima, ya que nmap nos dice ftp-anon: Anonymous FTP login allowed (FTP code 230). Para conectarlo simplemente ejecutamos

ponemos de nombre anonymous y dejamos la contraseña vacia y ya estariamos dentro del ftp.

Haciendo un ls vemos lo siguiente:

por lo que ahora ponemos get nota.txt y salimos. En nuestra máquina atacante leemos el archivo .txt y vemos lo siguiente:

Por lo que tenemos un posible usuario con contraseña: macarena:donald.

Luego de probar si nos sirve para el ssh sin éxito, ejecuto:

Como vemos hay una carpeta llamada "macarena", entonces ahora nos conectaremos con smbclient ejecutando:

ponemos la contraseña y listo. Ahora como vemos estamos en la carpeta /home/ de el usuario macarena, por lo que podriamos generar una clave ssh en nuestra maquina atacante y meterla en la máquina victima como authorized_keys.

INTRUSION

Con toda la informacion que tenemos, iremos a nuestra máquina atacante y ejecutaremos ssh-keygen, esto nos generará una clave privada y una clave publica en nuestra carpeta .ssh. Volvemos al smb y creamos una carpeta .ssh en la maquina victima ejecutando mkdir .ssh, nos metemos y ejecutamos lo siguiente:

Una vez hecho eso, iremos a nuestra maquina atacante, a la carpeta ".ssh", y le daremos permisos de ejecución al archivo id_rsa ejecutando chmod 600 id_rsa. Ahora simplemente ejecutamos ssh -i id_rsa macarena@172.17.0.2 y ya estaremos dentro.

ESCALADA DE PRIVILEGIOS

macarena

Siendo el usuario macarena, ejecutamos un sudo -l pero nos pide la contraseña, por lo que no podemos ejecutar nada sin contraseña. Luego de buscar un rato, veo un archivo llamado "hash" en /home/secret/hash y una password en /opt/password.txt, pero la password no la puedo leer. Si nos fijamos bien, el hash no es realmente un hash, sino mas parecido a un base64 o base32, ya que si nos fijamos tiene esto:

Por lo que iremos a la página CyberChef, y ponemos from base32 y pegamos el "hash". Esto nos dejará un mensaje realmente en base64:

Como vemos, esto realmente si parece base64 por lo que ejecutamos en la máquina un echo "c3VwZXJzZWN1cmVwYXNzd29yZA==" | base64 -d y listo, tendremos una contraseña que dice:

Por lo que ahora si ejecutamos un sudo -l y vemos que si es la contraseña de macarena, y nos permite ejecutar el binario "File" como root, por lo que simplemente buscamos en GTFOBins y buscamos el binario file. Como vemos, podemos leer archivos del sistema como root, por lo que simplemente ejecutaremos lo siguiente:

y luego ejecutamos:

Como vemos, ya tenemos la contraseña de root, por lo que ponemos su y la contraseña y ya seremos root:

root

Gracias por leer...

Última actualización