> 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-2.md).

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

## Descripción general

<figure><img src="/files/VqvMDXfdYdHZwP98eJXg" 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.

**Banderas para capturar:**

* **Bandera 1** : Verifique el directorio raíz ('/') en busca de un archivo que pueda contener la clave para la primera bandera en target1.ine.local.
* **Indicador 2** : En el directorio raíz del servidor, podría haber algo oculto. Explore con atención '/opt/apache/htdocs/' para encontrar el siguiente indicador en target1.ine.local.
* **Bandera 3** : Investigue el directorio de inicio del usuario y considere usar 'libssh\_auth\_bypass' para descubrir la bandera en target2.ine.local.
* **Bandera 4** : Las áreas más restringidas suelen albergar los secretos más valiosos. Busque en el directorio '/root' la bandera oculta en target2.ine.local.

## Herramientas

Las mejores herramientas para este laboratorio son:

* Nmap
* Burp Suite
* Metasploit Framework

***

## 🚩 Target1.ine.local

Se empieza con un escaneo de puertos, comúnmente usando `nmap`, para identificar servicios expuestos (como HTTP, SSH, SMB, etc.). Esta información ayuda a decidir qué herramientas o vectores de ataque se pueden emplear para comprometer la máquina.

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

Se utiliza `whatweb`, una herramienta de fingerprinting web, para obtener información como tecnologías usadas, versiones de software o rutas interesantes. En este caso, detecta una ruta específica: `browser.cgi`, que podría estar asociada a un script vulnerable.

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

Se lanza un script NSE (Nmap Scripting Engine) especializado para detectar vulnerabilidades como **Shellshock**. Esta vulnerabilidad afecta a ciertas configuraciones de servidores CGI en Bash. El escaneo confirma que la ruta `browser.cgi` es vulnerable.

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

Se accede a la página `browser.cgi` desde el navegador. Probablemente no muestra nada especial, pero es clave porque está expuesta al ataque Shellshock.

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

Se usa **BurpSuite** para interceptar una petición HTTP al script vulnerable. Se modifica la cabecera `User-Agent` para inyectar un payload malicioso típico de Shellshock, que ejecuta el comando `cat /etc/passwd` en el servidor. Si el servidor es vulnerable, responderá con el contenido del archivo, confirmando ejecución remota de comandos.

<figure><img src="/files/0FIlBYuFZm6pVH9pL5wP" alt=""><figcaption></figcaption></figure>

Se aprovecha la vulnerabilidad para establecer una **reverse shell**. Esto implica que la máquina víctima se conecta de vuelta al atacante, otorgándole una terminal interactiva con acceso al sistema.

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

Una vez dentro, se busca la primera flag.

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

La segunda flag está en un archivo oculto (probablemente con un nombre que comienza con `.`) dentro del directorio web `/opt/apache/htdocs`, que es el root de Apache. Se accede a ese archivo, se visualiza su contenido, y con eso se completan los objetivos de esta máquina.

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

## 🚩 Target2.ine.local

Se empieza con un escaneo de puertos, comúnmente usando `nmap`, para identificar servicios expuestos (como HTTP, SSH, SMB, etc.). Esta información ayuda a decidir qué herramientas o vectores de ataque se pueden emplear para comprometer la máquina.

<figure><img src="/files/7GprEpWbGTMR2IdCbxso" alt=""><figcaption></figcaption></figure>

Basado en los servicios encontrados, se sospecha que la máquina está corriendo una versión vulnerable de **libssh**. Se investiga qué exploits públicos existen y se busca en Metasploit si alguno está disponible para ser utilizado directamente.

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

Se encuentra en Metasploit el módulo `libssh_auth_bypass`, que explota una vulnerabilidad conocida en ciertas versiones de libssh que permite autenticarse sin credenciales. Se elige este módulo para intentar comprometer la máquina.

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

Antes de ejecutar el exploit, se revisan los parámetros que el módulo requiere: IP del objetivo, puerto, opciones de sesión, entre otros.

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

Se configura el exploit indicando la dirección IP de la víctima (`RHOSTS`) y se activa la opción `SPAWN_PTY` en `true`, lo que permite obtener una pseudo-terminal interactiva más funcional.

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

Se ejecuta el módulo (`run` o `exploit`), y si todo va bien, Metasploit abre una sesión (normalmente con `meterpreter` o shell simple). Esto significa que se ha explotado la vulnerabilidad con éxito.

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

Se confirma el acceso remoto a la máquina como un usuario no privilegiado, permitiendo explorar el sistema y buscar flags o vectores para escalar privilegios.

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

Se navega por el sistema de archivos y se encuentra la tercera flag ubicada en el directorio personal de un usuario estándar.

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

Se analiza el binario `welcome` con el comando `strings` para ver texto legible embebido. Se detecta que hace referencia al archivo `greetings`, lo cual puede indicar que el binario lo ejecuta o lo lee de alguna manera.

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

Se borra el archivo original `greetings` y se reemplaza con una copia del binario de `/bin/bash`. Si `welcome` ejecuta `greetings` con privilegios elevados (por ejemplo, con el bit SUID activado), se obtendrá una shell con privilegios de root al ejecutar `welcome`.

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

Con los privilegios elevados obtenidos, se accede al directorio `/root`, donde se encuentra y visualiza la última flag. Esto completa el compromiso total de la máquina.

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

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