RECONOCIMIENTO — Escaneo de puertos
Se lanza un escaneo completo de puertos para mapear toda la superficie de ataque antes de pasar al análisis de servicios.
| PUERTO | ESTADO | SERVICIO | VERSIÓN |
|---|---|---|---|
| 21/tcp | OPEN | ftp | vsftpd 3.0.3 |
| 80/tcp | OPEN | http | Apache 2.4.18 (Ubuntu) |
| 2222/tcp | OPEN | ssh | OpenSSH 7.2p2 |
robots.txt del servidor web filtra dos rutas: / y /openemr-5_0_1_3.
FTP ANÓNIMO — Nota de credenciales
El escaneo de nmap detecta que el FTP permite anonymous login. El modo pasivo está bloqueado por el firewall de la red, por lo que la conexión se realiza forzando modo activo con curl --ftp-port:
ForMitch.txt confirma la existencia de un usuario llamado mitch en el sistema, que reutiliza la misma contraseña débil en FTP y en el sistema operativo. La contraseña fue crackeada con facilidad.
ENUMERACIÓN WEB — CMS Made Simple
El servidor web Apache muestra la página por defecto de Ubuntu en la raíz. El robots.txt menciona /openemr-5_0_1_3, que resulta ser un rabbit hole (404). La aplicación vulnerable se descubre en /simple:
cntnt01searchterm. No requiere autenticación. Permite extraer usuarios, emails, salts y hashes de contraseña de la base de datos.
EXPLOTACIÓN — CVE-2019-9053
Se descarga el exploit público de ExploitDB (ID: 46635) y se ejecuta contra el CMS para extraer las credenciales almacenadas en la base de datos:
Se accede por SSH al puerto no estándar 2222 con las credenciales obtenidas:
PRIVILEGE ESCALATION — sudo vim
Se comprueba qué comandos puede ejecutar mitch como root sin contraseña:
mitch puede ejecutar vim como root sin contraseña. Vim permite lanzar comandos de shell desde su modo de comandos con :!. Al ejecutarse como root, cualquier comando del sistema hereda esos privilegios.
Se lanza vim con sudo y desde su interior se ejecuta una bash con el flag -p para preservar el UID efectivo de root:
vim incluye la capacidad de ejecutar comandos de shell arbitrarios mediante :!comando. Al invocarse con sudo, vim corre con UID 0 (root), por lo que cualquier comando lanzado desde él también lo hace. El flag -p de bash impide que se descarte el UID efectivo elevado.
PREGUNTAS DE TRYHACKME
Respuestas a las preguntas oficiales de la sala. Pasa el cursor sobre la respuesta para revelarla.
CADENA DE ATAQUE
/pub/ForMitch.txt revela usuario mitch con contraseña débil reutilizadarobots.txt con rabbit hole (/openemr-5_0_1_3)mitch / secret (hash MD5+salt crackeado)mitch por SSH → user.txt: G00d j0b, keep up!(root) NOPASSWD: /usr/bin/vim → :!/bin/bash -p → root → root.txt: W3ll d0n3. You made it!