Corrosion 2
El escaneo con Nmap muestra abiertos los puertos 22,80 y 8080
En el puerto 80 corre una página por defecto de apache, pero en el 8080 un Apache Tomcat
Si intentamos acceder al panel administración nos salta un panel de login en el que no funcionan las credenciales por defecto del servicio, por lo que se debe seguir investigando
Probamos hacer fuzzing con Gobuster a ficheros con extensión, donde encontramos un readme.txt y un backup.zip
El readme tiene un mensaje indicando que hay un archivo oculto para un usuario llamado randy
Pasamos a descargar el archivo. Para descomprimirlo hace falta una contraseña que no tenemos, así que usaremos el módulo zip2john de John the Ripper
Al descomprimir obtenemos varios ficheros, uno en específico es el tomcat-users.xml
En el final del archivo encontramos unas credenciales.
Si las probamos en el panel de administración de Tomcat funciona
En este punto es posible obtener una reverse shell, por lo que pasamos a crear un fichero.war malicioso con MSFVenom
Cargamos el archivo malicioso
Lo ejecutamos y obtenemos la reverse shell
En el sistema existen 2 usuarios: jaye y randy.
Nos cambiamos al usuario jaye reutilizando credenciales.
Dentro de randy encontramos la 1ra flag y una nota del administrador del sistema.
Dentro de la ruta del usuario jaye vemos un directorio. Cuando entramos hay un archivo cuyo propietario es root pero podemos ejecutarlo.
El archivo permite la lectura de ficheros del sistema pero filtrando por una palabra
Si dejamos el parámetro del string de filtro vacío podemos listar el archivo completo
Apuntaremos contra el /etc/shadow para obtener el hash de la contraseña del usuario randy
Una vez crackeado el hash cambiamos al usuario randy
Para escalar privilegios usaremos sudo -l , viendo que podemos ejecutar un archivo como root
El archivo básicamente imprime un texto pero cifrado en base64
Ya que no podemos modificar directamente el archivo, lo haremos con la biblioteca que utiliza, que se muestra con el comando sudo -l. Con este ataque caemos en un Library Hijacking
Modificamos directamente la biblioteca para que cuando se ejecute el archivo otorgue permisos a la bash. Insertaremos un código en python
os.system("chmod u+s /bin/bash")
Ejecutamos el archivo python nuevamente, y si otorgamos los permisos a la bash seremos root.
