CTF Morpheus: 1 – Parte 3: Auditoría NSE y Servicios Auxiliares

Auditoría de OpenSSH y Nginx con scripts NSE de Nmap, registro en CherryTree y análisis de métodos HTTP en Morpheus: 1.

Introducción: En esta tercera entrega de nuestro ctf writeup sobre la máquina Matrix BreakOut (Morpheus: 1), profundizamos en la auditoría metódica de los servicios descubiertos mediante scripts NSE avanzados de Nmap, consolidamos la evidencia en CherryTree y evaluamos la superficie de ataque del servidor Nginx en el puerto 81.

📺 Serie completa en YouTube: Playlist CTF – Matrix BreakOut

🔗 Videos analizados en esta entrega:
– Matrix12 – Triaje y volcado de vulnerabilidades Nmap a CherryTree
– Matrix13 – Consolidación de hallazgos del escaneo vuln
– Matrix14 – Auditoría de algoritmos y autenticación en OpenSSH
– Matrix15 – Creación de subnodos Web y búsqueda de backups
– Matrix16 – Inspección de cabeceras y métodos HTTP en Nginx
– Matrix17 – Evaluación de autenticación básica y fuerza bruta


CTF - Matrix Breakout 03
ALT-TEXT: Máquina Matrix BreakOut – Parte 03.


Por qué es importante

Al evaluar un objetivo que expone múltiples puertos (SSH en el 22, Apache en el 80 y Nginx en el 81), el error más frecuente es dispersar los esfuerzos o asumir precipitadamente que cualquier servicio con autenticación debe ser forzado a ciegas.

Una metodología sólida exige:
1. Filtrar el ruido: Los motores de vulnerabilidades reportan con frecuencia decenas de CVEs teóricos o de denegación de servicio (DoS) que no aportan un vector de acceso inicial.
2. Auditar la configuración de servicios secundarios: Comprobar si SSH admite autenticación por contraseña o si Nginx permite métodos HTTP anómalos (PUT, DELETE) permite confirmar o descartar rutas de ataque antes de comprometer tiempo en ellas.


Desarrollo

Módulo 1: Triaje de Vulnerabilidades y Registro Estructurado (Videos 12 y 13)

1. Depuración de salidas automatizadas y organización en CherryTree

  • Qué se hizo: Se revisaron en detalle los resultados devueltos por el script de vulnerabilidades de Nmap (--script vuln). Se descartaron alertas irrelevantes (como firmas DoS o fallos mitigados en Debian backports) y se documentaron de forma tabulada los datos técnicos de Apache 2.4.41 y Nginx 1.18.0 dentro del nodo TCP en CherryTree.
  • Por qué se hizo: En auditorías reales y exámenes prácticos (como OSCP), el tiempo es un recurso crítico. El estudiante debe aprender a priorizar vectores de ejecución remota de código (RCE) e información sensible frente a vulnerabilidades teóricas que no son explotables en el contexto actual.
  • De qué sirvió la técnica (Triaje documental): Permite mantener el árbol de notas limpio y navegable, asegurando que el equipo auditor se enfoque en los vectores con impacto operativo real.

ALT-TEXT: Consolidación y documentación de hallazgos Nmap en el árbol de CherryTree.


Módulo 2: Auditoría Criptográfica y de Métodos en OpenSSH (Video 14)

2. Inspección del servicio SSH (Puerto 22)

  • Qué se hizo: Se ejecutó una batería de scripts NSE específicos contra el puerto 22:
    bash
    sudo nmap -p 22 --script ssh2-enum-algos,ssh-hostkey,ssh-auth-methods 192.168.111.250
  • Por qué se hizo: Se buscaba determinar qué mecanismos de autenticación acepta el servicio (publickey, password), qué algoritmos de cifrado e intercambio de claves están en uso, y guardar la huella digital (hostkey fingerprint) del servidor.
  • De qué sirvió la herramienta (Scripts NSE SSH): Confirmó si el acceso SSH permitía autenticación por contraseña (lo que habilitaría un ataque de fuerza bruta si se descubren usuarios válidos) o si requería exclusivamente llaves criptográficas.

Módulo 3: Segmentación Web y Búsqueda de Archivos Residuales (Video 15)

3. Búsqueda de copias de respaldo y configuración

  • Qué se hizo: Se crearon ramas dedicadas en CherryTree para cada servicio web (Web Services -> Apache y Web Services -> NGINX) y se lanzaron comprobaciones automáticas de enumeración de recursos y respaldos:
    bash
    sudo nmap --script http-enum,http-vuln*,http-config-backup -p 80,81 192.168.111.250
  • Por qué se hizo: Es habitual que los administradores de sistemas dejen copias de seguridad de archivos críticos (.bak, .old, .swp o config.php~) que revelan secretos, credenciales de bases de datos o rutas administrativas sin control de acceso.
  • De qué sirvió la herramienta (NSE http-config-backup y http-enum): Automatiza la búsqueda de extensiones residuales comunes contra la raíz de ambos servidores web de forma rápida y controlada.

Módulo 4: Análisis de Métodos y Autenticación en Nginx Puerto 81 (Videos 16 y 17)

4. Auditoría del puerto alternativo 81

  • Qué se hizo: Se analizó el comportamiento de Nginx en el puerto 81, verificando cabeceras de respuesta, métodos HTTP habilitados y el esquema de protección:
    “`bash
    # Verificación de métodos y cabeceras
    sudo nmap -p 81 –script http-methods,http-headers 192.168.111.250

# Evaluación de autenticación y fuerza bruta
sudo nmap -p 81 –script “auth,default,vuln” 192.168.111.250
``
* **Por qué se hizo:** Al encontrarse protegido por HTTP Basic Authentication (
401 Unauthorized), era indispensable validar si el servidor admitía métodos comoPUTpara subir archivos sin credenciales, o si se trataba de un panel con contraseñas por defecto.
* **De qué sirvió la herramienta (NSE http-methods y categorías combinadas):** Determinó que los métodos permitidos estaban limitados a los estándares de lectura (
GET,HEAD,POST) y que no había credenciales triviales, confirmando que el vector de entrada prioritario radicaba en la aplicación web del puerto 80 (graffiti.php`).

ALT-TEXT: Salida de Nmap evaluando métodos HTTP y autenticación básica en Nginx puerto 81.


Conclusión

La auditoría de los servicios auxiliares permitió descartar vías secundarias: OpenSSH opera con configuraciones modernas y Nginx en el puerto 81 no cuenta con métodos inseguros como PUT. Esto confirmó con certeza que la vía de explotación principal se encuentra en la falla de escritura arbitraria de archivos identificada en /graffiti.php sobre el puerto 80.

💡 Próximos pasos: En la Parte 4 procederemos a la explotación del parámetro manipulable en /graffiti.php utilizando Burp Suite para inyectar una webshell PHP y capturar una reverse shell interactiva.


Recursos útiles

Enlaces del curso y laboratorio:
– Playlist completa en YouTube
– Parte 1: Reconocimiento y Fuzzing
– Parte 2: Fuzzing Web y Análisis del Vector
– Video Matrix14: Auditoría de SSH
– Video Matrix16: Métodos HTTP en Nginx

Documentación complementaria:
– Documentación oficial del Nmap Scripting Engine (NSE)
– NSE Script: ssh-auth-methods
– OWASP Testing Guide: Testing for HTTP Methods