> 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-aplicaciones-web/ctf/pruebas-de-penetracion-de-aplicaciones-web-ctf-1.md).

# Pruebas de penetración de aplicaciones web CTF 1

## Descripción general

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

***

## Tareas

En este entorno de laboratorio, se le proporcionará acceso a una máquina Kali Linux mediante una interfaz gráfica de usuario. El sitio web de destino está disponible en **<http://target.ine.local>** .

**Objetivo** : Identificar las vulnerabilidades de las aplicaciones web en el sitio web de destino y capturar todas las banderas ocultas dentro del entorno.

**Listas de palabras útiles:**

```
/usr/share/wordlists/dirb/common.txt 
/usr/share/seclists/Usernames/top-usernames-shortlist.txt 
/root/Desktop/wordlists/100-common-passwords.txt
```

**Banderas para capturar:**

* **Bandera 1:** A veces, los archivos importantes están ocultos a simple vista. Busca en el directorio raíz ('/') un archivo llamado 'flag.txt' que podría contener la clave de la primera bandera.
* **Bandera 2:** Explora la estructura de los directorios del servidor. La enumeración podría revelar información valiosa.
* **Bandera 3:** El formulario de inicio de sesión parece un poco débil. Probar diferentes combinaciones podría revelar la siguiente bandera.
* **Indicador 4:** El formulario de inicio de sesión presenta un comportamiento extraño con entradas inesperadas. Considere técnicas de inyección para acceder a la cuenta de administrador y encontrar el indicador.

#### Herramientas

Las mejores herramientas para este laboratorio son:

* Nmap
* Gobuster
* Hydra

***

## 🚩 target.ine.local

Flag 1&#x20;

Realizamos un escaneo con `nmap` para detectar los puertos abiertos. Solo encontramos el **puerto 80**, que indica que hay un servicio web corriendo (HTTP).

Al acceder a la dirección IP en el navegador, la aplicación web permite seleccionar archivos `.txt` para ver su contenido, lo cual puede ser un punto de entrada para ataques de inclusión de archivos.

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

La aplicación es vulnerable a **LFI** (Local File Inclusion), permitiendo acceder a archivos arbitrarios del sistema.\
Utilizando path traversal (`../../../../etc/passwd`), podemos leer archivos fuera del directorio esperado.\
Al aplicar esta técnica y apuntar a la ruta de la flag, conseguimos visualizar el contenido de la **flag1**.

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

Flag 2&#x20;

Ejecutamos `gobuster`para descubrir rutas ocultas o protegidas. Uno de los resultados nos muestra un directorio llamado **`/secured`**, que no estaba visible navegando manualmente.

<figure><img src="/files/20XhqyktKQNrb2W4nx41" alt=""><figcaption></figcaption></figure>

Al acceder a `http://target.ine.local/secured`, encontramos un archivo de texto (por ejemplo `flag2.txt`) o algún contenido directamente en la página que contiene la **flag2**.

<figure><img src="/files/5XLSQvcpbPfpB7OyVL04" alt=""><figcaption></figcaption></figure>

Flag 3

Identificamos un formulario de inicio de sesión en la página web.Usamos `hydra` para lanzar un ataque de fuerza bruta.

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

Después de probar múltiples combinaciones, encontramos credenciales válidas para acceder.

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

Flag 4

Descubrimos que el campo de login es vulnerable a **inyección SQL**. Al introducir `' OR 1=1-- -` como usuario y cualquier contraseña, burlamos el mecanismo de autenticación.

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

Una vez dentro del panel de usuario tras explotar la SQLi, encontramos visible la **flag4.**

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

<br>
