Hacemos el escaneo de nmap:
Vamos a ver la web que corre por el puerto 8080; y se trata de un tomcat donde vemos la versión:
Si miramos por internet, vemos que tenemos un exploit para esta versión:
Y aquí tenemos la PoC:
Que nos lleva a este otro repositorio:
Nos descargamos el exploit:
Vemos en las instrucciones del exploit como usarlo, donde parece que podremos leer archivos internos de la máquina:
Ejecutamos el comando exactamente igual a como vemos en las instrucciones:
python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py -p 8009 -f WEB-INF/web.xml 10.10.71.74
Y nos devuelve unas credenciales ssh:
skyfuck:8730281lkjlkjdqlksalks
Y conseguimos entrar:
Dentro de este mismo directorio nos encontramos con dos archivos, donde el .asc es la clave que debo importar para abrir el credential.pgp:
Una de ellas que podemos romper con john the ripper:
Nos traemos ambos archivos a nuestra máquina local utilizando scp para enviárnoslo vía ssh:
scp skyfuck@10.10.101.24:credential.pgp . scp skyfuck@10.10.101.24:tryhackme.asc .
Ahora debemos ejecutar gpg2john del fichero tryhackme.asc para extraer el hash y poder crackearlo:
gpg2john tryhackme.asc >> hash
Y ahora si hacemos un ataque de fuerza bruta, vemos que nos extrae la contraseña, la cual es alexandru:
Y ahora que ya tenemos la contraseña para desencriptar el tryhackme.asc, ya podemos usarla para abrir el credential.gpg, donde debemos de ejecutar los siguientes comandos:
gpg --decrypt credential.pgp # Esto dará error. gpg --import tryhackme.asc # Importamos la clave. gpg --decrypt credential.pgp # Ahora ya no dará error.
Y el resultado es el siguiente:
merlin:asuyusdoiuqoilkda312j31k2j123j1g23g12k3g12kj3gk12jg3k12j3kj123j
Al tener la contraseña del usuario merlin, podemos acceder a él:
Y siendo este usuario vemos que podemos ejecutar zip como root:
Por tanto, miramos en gtfobins y vemos esto al buscar por el binario zip:
Ejecutamos la primera y segunda línea y ya somos root:
Con el comando find buscamos las flags de user y root y las encontramos:



















