- Published on
Pentest de laboratorio: Metasploitable 2 (guía paso a paso)
- Authors
- Name
- Nicolás Padilla
Aviso: datos anonimizados con fines educativos y de portafolio. Toda prueba debe realizarse en entornos controlados y con autorización explícita.
Resumen ejecutivo (TL;DR)
- Impacto: acceso inicial y RCE como root (vsftpd 2.3.4 backdoor) + bindshell en 1524/tcp; acceso administrativo a Tomcat y MySQL.
- Críticos/Altos: 2 críticos, 5 altos (total 10).
- TTFI: ~32 minutos (desde escaneo consolidado hasta primer compromiso documentado).
- Causas raíz: servicios inseguros por defecto, credenciales por defecto/sin contraseña, exposición de servicios legacy.
- Acciones ahora: retirar vsftpd 2.3.4, cerrar Ingreslock 1524, asegurar Tomcat/MySQL, restringir SMB/NFS, cerrar X11.
Pre-engagement y legal/operativo
- Autorización: laboratorio propio/CTF (Metasploitable 2).
- RoE: no destructivo, sin DoS, captura mínima de datos, horario America/Argentina/Cordoba.
- Safe-harbor: VM pública de entrenamiento.
Contexto y alcance
- Objetivo: evaluar superficie y vectorizar acceso inicial sobre Metasploitable 2 en red aislada.
- Target:
192.168.0.52
(red privada de laboratorio). - In-scope: host único (servicios TCP detectados por Nmap).
- Out-of-scope: fuerza bruta extendida, pivoteo fuera del segmento de laboratorio.
- Supuestos: credenciales por defecto presentes; sin controles compensatorios.
- Exit criteria: PoC reproducible de acceso inicial + recomendaciones.
Metodología
Recon → Enumeración de servicios → Explotación → Post-ex → Validación (referencias: ATT&CK, WSTG selectivo).
Timeline del ejercicio
- 2025-09-02 09:02:30 -0300: Reconocimiento/escaneo inicial (Nmap, banners).
- 2025-09-02 09:34:40 -0300: Explotación inicial (vsftpd 2.3.4 backdoor → RCE root).
TTFI: ~32 minutos.
Mapa de servicios y puertos (resumen)
Puerto | Servicio | Observación clave |
---|---|---|
21/tcp | FTP (vsftpd 2.3.4) | Backdoor CVE-2011-2523 → RCE |
1524/tcp | Ingreslock | Bindshell root expuesto |
3306/tcp | MySQL 5.0.51a | root sin contraseña, sin TLS |
8180/tcp | HTTP Tomcat | /manager/html con tomcat:tomcat |
445/tcp | SMB | Share //tmp anónimo RW |
2049/tcp | NFS | Export / con wildcard |
5900/tcp | VNC 3.x | Requiere pass (exposición) |
6000/tcp | X11 | Servidor X abierto |
1099/tcp | RMI Registry | Accesible sin restricciones |
5432/tcp | PostgreSQL | Requiere auth; SSL legacy |
Resultados (Dashboard/KPIs)
KPI | Valor |
---|---|
Hallazgos totales | 10 |
Críticos | 2 |
Altos | 5 |
Medios | 2 |
Info | 1 |
TTFI (min) | 32 |
Cobertura de pruebas
Área | Estado |
---|---|
Reconocimiento | Completo |
Explotación | Completo |
Post-explotación | Completo |
WSTG/ASVS (apps web) | N/A (VM multi-servicio) |
Hallazgos destacados (resumen)
- FTP_VSFTPD_234_BACKDOOR — ftp:21 · RCE uid=0 vía 6200 (marcador presente)
- INGRESLOCK_1524_BINDSHELL — 1524/tcp · Bindshell root (id/whoami/uname capturados)
Hallazgos (detalle)
vsftpd 2.3.4 backdoor (RCE)
- ID:
FTP_VSFTPD_234_BACKDOOR
- Severidad: Critical
- Servicio: ftp:21
- CVE: CVE-2011-2523
- Descripción/PoC rápida: RCE uid=0 vía 6200/tcp tras login malformado.
Recomendación: retirar o actualizar vsftpd; cerrar 6200/tcp; mínimo TLS + credenciales robustas.
ATT&CK: T1210
Bindshell en 1524/tcp (ingreslock)
- ID:
INGRESLOCK_1524_BINDSHELL
- Severidad: Critical
- Servicio: ingreslock:1524
- Descripción/PoC rápida: acceso root por bindshell (validado con id/whoami/uname).
Recomendación: deshabilitar servicio/xinetd; bloquear 1524/tcp; revisar imágenes base.
ATT&CK: T1210
MySQL root sin contraseña
- ID:
MYSQL_ROOT_NOAUTH
- Severidad: High
- Servicio: mysql:3306
- Descripción/PoC rápida: root sin contraseña (5.0.51a), sin TLS.
Recomendación: establecer pass fuerte, habilitar TLS, restringir bind-address/ACL.
CWE: CWE-287 · ATT&CK: T1078
Tomcat Manager con credenciales por defecto
- ID:
TOMCAT_MANAGER_DEFAULT_CREDS
- Severidad: High
- Servicio: http-tomcat:8180
- Descripción/PoC rápida: acceso a
/manager/html
contomcat:tomcat
.
Recomendación: eliminar usuario por defecto, rotar credenciales, bloquear Manager por IP o retirar app.
CWE: CWE-798 · ATT&CK: T1078
SMB share //tmp anónimo RW
- ID:
SMB_ANON_RW_TMP
- Severidad: High
- Servicio: smb:445
- Descripción/PoC rápida: compartido
//tmp
con escritura anónima.
Recomendación: deshabilitar guest, mínimos permisos, firma SMB, cerrar share.
CWE: CWE-276 · ATT&CK: T1078
NFS exporta '/' con wildcard
- ID:
NFS_EXPORT_ROOT_WILDCARD
- Severidad: High
- Servicio: nfs:2049
- Descripción/PoC rápida: export de
/
abierto (wildcard).
Recomendación: exportar solo paths necesarios a hosts específicos, habilitarroot_squash
, firewall.
CWE: CWE-276
VNC requiere autenticación (exposición)
- ID:
VNC_REQUIRES_AUTH
- Severidad: Medium
- Servicio: vnc:5900
- Descripción/PoC rápida: VNC 3.x visible; requiere pass (no probado bruteforce).
Recomendación: despublicar VNC o tunelizar; endurecer cifrado y lockout.
X11 abierto en 6000/tcp
- ID:
X11_OPEN
- Severidad: High
- Servicio: x11:6000
- Descripción/PoC rápida: servidor X expuesto.
Recomendación: cerrar 6000/tcp o bind a localhost; usar-nolisten tcp
.
RMI Registry accesible
- ID:
RMI_REGISTRY_OPEN
- Severidad: Medium
- Servicio: rmi:1099
- Descripción/PoC rápida: rmiregistry sin restricciones.
Recomendación: limitar por ACL/firewall y auditar deserialización.
PostgreSQL (info)
- ID:
POSTGRES_SSL_AUTH_REQUIRED
- Severidad: Info
- Servicio: postgres:5432
- Descripción/PoC rápida: requiere autenticación; cliente reportó incompatibilidad SSL.
Recomendación: forzar SSL moderno; revisar políticas de usuarios.
Credenciales crackeadas (laboratorio)
Nota: credenciales expuestas solo para fines educativos en VM de laboratorio.
klog:123456789
service:service
sys:batman
Recomendaciones priorizadas (Roadmap)
0–30 días
- Retirar vsftpd 2.3.4 (CVE-2011-2523). Verificar que 6200/tcp no se abra ante logins malformados.
- Deshabilitar ingreslock 1524/tcp.
- Eliminar
tomcat:tomcat
y bloquear/manager/html
. - Establecer contraseña fuerte para root MySQL y forzar TLS.
- Cerrar X11 6000/tcp o bind a
localhost
. - Restringir SMB (sin anónimo RW) y NFS (sin wildcard
/
).
30–90 días
- Revisar exposición de RMI y VNC (ACL/túneles). Endurecer banners.
- Inventariar y retirar servicios legacy no utilizados.
>90 días
- Automatizar chequeos de configuración (CIS) y escaneo continuo en entornos de laboratorio.
Control documental
- Doc ID (SID): b2e62796-5eeb-4836-944f-42d3631841ba
- Fechas clave: scan
2025-09-02T09:02:30-0300
, exploit2025-09-02T09:34:40-0300
. - Clasificación: Público · Educativo (lab)
- Distribución: Blog Cobalto Sec