CSCobalto-Sec
Published on

Pentest de laboratorio: Metasploitable 2 (guía paso a paso)

Authors
  • avatar
    Name
    Nicolás Padilla
    Twitter

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)

PuertoServicioObservación clave
21/tcpFTP (vsftpd 2.3.4)Backdoor CVE-2011-2523 → RCE
1524/tcpIngreslockBindshell root expuesto
3306/tcpMySQL 5.0.51aroot sin contraseña, sin TLS
8180/tcpHTTP Tomcat/manager/html con tomcat:tomcat
445/tcpSMBShare //tmp anónimo RW
2049/tcpNFSExport / con wildcard
5900/tcpVNC 3.xRequiere pass (exposición)
6000/tcpX11Servidor X abierto
1099/tcpRMI RegistryAccesible sin restricciones
5432/tcpPostgreSQLRequiere auth; SSL legacy

Resultados (Dashboard/KPIs)

KPIValor
Hallazgos totales10
Críticos2
Altos5
Medios2
Info1
TTFI (min)32

Cobertura de pruebas

ÁreaEstado
ReconocimientoCompleto
ExplotaciónCompleto
Post-explotaciónCompleto
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 con tomcat: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, habilitar root_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, exploit 2025-09-02T09:34:40-0300.
  • Clasificación: Público · Educativo (lab)
  • Distribución: Blog Cobalto Sec