Hackmedaddy

Hoy maquina HackMeDaddy de DockerLabs

Autor: d1se0

Dificultad: Difícil

Dock

RECONOCIMIENTO

Comenzamos haciendo un escaneo de nmap:

Como vemos no hay nada interesante, solo esta abierto el puerto 22 y 80 pero nada interesante.

PUERTO 80:

80

En un principio no hay nada interesante, por lo que haremos un poco de fuzzing con gobuster:

Lo único interesante es el archivo info.txt que nos habla de un README.txt y de un usuario llamado "Eliot", por lo que si vemos un poco la página principal en un momento se ejecuta un comando que dice "cat README.txt" y tiene esto:

Entonces probando si existe en el servidor vemos que si existe la carpeta d05notfound y contiene esto: d05notfound

Pero lo único importante es que al final dice que se puede hacer un "ping". Ahora abriremos el burpsuite y capturamos la peticion al poner -c 1 google.com, damos click derecho a la petición y damos click izquierdo en donde dice "Send To Repeater". Ahora vamos al repeater y le damos al "send" y en response ponemos "Raw", ahora, si bajamos vemos que si se ejecuta el ping y nos muestra esto:

como vemos, solo mando 1 porque pusimos "-c 1", por lo que tecnicamente ejecuta el comando directamente con "ping $INPUT", por lo que teniendo en cuenta eso podriamos intentar poner un ";" o "|" con otro comando como por ejemplo ls -la. Al presionar send vemos que el que funciona es "|" y nos devuelve esto:

Vemos que podemos ejecutar comandos remotamente con el signo "|".

INTRUSION

Ahora que podemos ejecutar comandos vamos a la pagina de revshells y buscamos el de python3 #2, escuchamos con netcat en el puerto que elegimos y presionamos el send. Ya estamos dentro

TRATAMIENTO DE LA TTY

Para hacer el tratamiento de la tty y que no se nos cierre el terminal al persionar ctrl+C tenemos que ejecutar esta serie de comandos apenas entremos:

Una ve hecho esto ya no se nos cerrará la terminal.

ESCALADA DE PRIVILEGIOS

www-data

Siendo el usuario "www-data" iremos a la home y veremos que podemos leer la carpeta "e1i0t". Entramos y luego a la carpeta "documents"; estando ahi vemos dos archivos, agenda.txt agenda_passwords.txt, que al parecer ambos son una wordlist. Ahora hacemos un wget dentro de la carpeta /tmp al script Sudo_BruteForce y lo ejecutamos de la siguiente manera:

Esto nos encuentra la contraseña del usuario e1i0t y escalamos con su e1i0t o directamente nos conectamos por ssh.

e1i0t

Ahora ejecutamos sudo -l y vemos que podemos ejecutar el binario find como el usuario "an0n1mat0", por lo que buscamos en GTFOBins y vemos que podemos escalar con:

an0n1mat0

Siendo el usuario "an0n1mat0" listamos lo que hay en nuestro directorio y vemos una nota que dice lo siguiente:

Si listamos en la raiz hay una carpeta llamada "secret", si la listamos vemos un archivo llamado "confidencial.txt" que tiene lo siguiente:

Dice que hay un archivo llamado "passwords_users.txt", por lo que lo buscamos con el siguiente comando:

Ahora lo leemos con cat y nos dice esto:

Vamos a nuestra maquina local y ejecutamos lo siguiente:

nos lo copiamos y lo creamos como wordlist en la maquina victima y ahora ejecutamos el script que antes nos guardamos con wget de la siguiente manera:

Ahora que tenemos la contraseña de "an0n1mat0" podemos hacer un sudo -l y vemos que podemos ejecutar php como root, entonces simplemente ponemos:

y ya seriamos root

root

Muy buena maquina, adiós...

Última actualización