> 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/ataques-basados-en-sistema-host/ctfs/pruebas-de-penetracion-de-host-y-red-ataques-basados-en-sistema-host-ctf-1.md).

# Pruebas de penetración de host y red: ataques basados ​​en sistema-host CTF 1

## Descripción general

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

***

## Tareas

Los Laboratorios de Comprobación de Habilidades son ejercicios interactivos y prácticos diseñados para validar los conocimientos y las habilidades que has adquirido en este curso mediante situaciones reales. Cada laboratorio presenta tareas prácticas que requieren que apliques lo aprendido. A diferencia de otros laboratorios de INE, no se proporcionan soluciones, lo que te reta a demostrar tu comprensión y capacidad para resolver problemas. Tu desempeño se califica, lo que te permite seguir tu progreso y medir el desarrollo de tus habilidades a lo largo del tiempo.

## Entorno de laboratorio

En este entorno de laboratorio, se le proporcionará acceso a una máquina Kali Linux mediante la interfaz gráfica de usuario. Se puede acceder a dos máquinas en **<http://target1.ine.local>** y **<http://target2.ine.local>** .

**Objetivo:** realizar ataques basados ​​en el sistema/host en el objetivo y capturar todas las banderas ocultas dentro del entorno.

**Archivos útiles:**

```
/usr/share/metasploit-framework/data/wordlists/common_users.txt, 
/usr/share/metasploit-framework/data/wordlists/unix_passwords.txt,
/usr/share/webshells/asp/webshell.asp
```

**Banderas para capturar:**

* **Marca 1** : Es posible que el usuario 'bob' no haya elegido una contraseña segura. Pruebe con contraseñas comunes para acceder al servidor donde se encuentra la marca. (target1.ine.local)
* **Marca 2** : Los archivos valiosos suelen estar en la unidad C:. Explórela a fondo. (target1.ine.local)
* **Bandera 3** : Al intentar adivinar las credenciales del usuario SMB, puede descubrir información importante que podría llevarlo a la siguiente bandera. (target2.ine.local)
* **Marca 4** : El directorio del escritorio podría tener lo que busca. Enumere su contenido. (target2.ine.local)

## Herramientas

Las mejores herramientas para este laboratorio son:

* Nmap
* Hidra
* Cadáver
* Marco de Metasploit

***

## 🚩 target1.ine.local

Flag 1

Aquí se realiza una enumeración de puertos, normalmente con herramientas como `nmap`, para identificar qué servicios están corriendo en la máquina víctima. Esta fase es clave para entender los vectores de ataque disponibles.

<figure><img src="/files/6xuOziLj7l7PQrUkZUK5" alt=""><figcaption></figcaption></figure>

Se detecta un formulario de login accesible desde el navegador, probablemente un panel web alojado en IIS. Una pista sugiere que el usuario "bob" usa una contraseña débil, así que se decide lanzar un ataque de fuerza bruta con `hydra` (una herramienta popular para este propósito) contra ese login, probando múltiples contraseñas sobre ese usuario.

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

Se obtiene la contraseña válida para "bob" tras el ataque de fuerza bruta. Esto permite autenticarse en el sistema.

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

Una vez dentro del sitio web alojado en el servidor IIS (Internet Information Services), se procede a hacer una enumeración de directorios. Esto se puede hacer con herramientas como dirb, gobuster o wfuzz, buscando rutas ocultas o sensibles que no estén directamente accesibles desde el menú de navegación.

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

Se identifica que el servidor tiene habilitado WebDAV, una extensión del protocolo HTTP que permite la edición remota de archivos. Esto abre la posibilidad de subir archivos directamente al servidor.

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

Al acceder a una ruta específica o gracias a la interacción con el servicio WebDAV, se encuentra la primera flag.

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

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

Flag 2

Se planea conseguir una RCE (ejecución remota de comandos). Para eso se prueba si el servidor acepta y ejecuta archivos como `.asp` (muy usados en entornos Windows/IIS). `davtest` se utiliza para comprobar qué tipos de archivos se pueden subir y si se ejecutan correctamente al acceder a ellos desde el navegador.

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

Se confirma que se pueden subir y ejecutar archivos `.asp`. Se usa `cadaver`, un cliente de WebDAV en línea de comandos, para subir una **webshell**, que es un script malicioso que permite ejecutar comandos en el servidor desde el navegador.

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

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

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

Se busca la segunda flag, y la pista indica que se debe buscar en la raíz del sistema de archivos (`C:\`). Usualmente desde la webshell se pueden ejecutar comandos como `dir C:\` para listar el contenido.

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

Tras listar los archivos en `C:\`, se encuentra la segunda flag y se puede visualizar su contenido. Se completa así el segundo objetivo.

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

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

Con la segunda flag encontrada, se da por concluida la resolución de la máquina, cumpliendo todos los objetivos planteados.

## 🚩 target2.ine.local

Flag3

Se realiza un escaneo de puertos (usualmente con `nmap`) para identificar qué servicios están expuestos por la máquina objetivo. Esta fase es crucial para seleccionar los vectores de ataque apropiados.

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

Se detecta que el puerto 445 está abierto, lo que indica que el servicio SMB (Server Message Block) está activo. Este servicio es común en sistemas Windows y puede permitir el acceso a recursos compartidos, ejecución remota, o enumeración de usuarios. Se utiliza Metasploit con el módulo `smb_login` para intentar encontrar credenciales válidas.

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

<figure><img src="/files/2W2dEbcbKEjmx3yj15vQ" alt=""><figcaption></figcaption></figure>

Se lanza un ataque de fuerza bruta contra el servicio SMB utilizando diccionarios (wordlists) tanto para nombres de usuario como contraseñas. Se intentan todas las combinaciones posibles para descubrir credenciales válidas que permitan autenticarse

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

Se lanza el módulo de Metasploit con los diccionarios definidos. Este paso es la ejecución efectiva del ataque de fuerza bruta contra SMB.

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

Se logra encontrar la contraseña correcta para el usuario `administrator`. Se usa `crackmapexec` para verificar la validez de las credenciales. Si el resultado es `Pwned!`, significa que se puede ejecutar código remotamente con privilegios administrativos. En este caso, el objetivo es enumerar los recursos compartidos disponibles (shares) para encontrar las flags.

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

ADMIN$ y C$ son recursos compartidos administrativos en Windows. El acceso a C$ (que apunta a la raíz del disco C) permite explorar todo el sistema de archivos. Se decide entrar a C$ porque probablemente contenga las flags.

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

Una vez dentro del recurso compartido `C$`, se listan los directorios y archivos para buscar la **flag3**, que usualmente será un archivo con un nombre tipo `flag3.txt`.

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

Una vez dentro del recurso compartido `C$`, se listan los directorios y archivos para buscar la **flag3**, que usualmente será un archivo con un nombre tipo `flag3.txt`.

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

Flag 4

La pista indica que la última flag (flag4) está en el escritorio del usuario. En sistemas Windows, los escritorios de los usuarios suelen estar en rutas como `C:\Users\NombreUsuario\Desktop`. Se navega a esa ruta para encontrar la flag.

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

Se accede al archivo de la **flag4** y se muestra su contenido. Esto completa la recolección de todas las flags de esta máquina.

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