GhostAcademy
GhostAcademy
Metasploitable 3 — Lab · Superficie · Estudio OSCP/PNPT
Guía Completa
Metasploitable 3
Lab de Práctica para OSCP y PNPT

Metasploitable 3 es una máquina virtual intencionalmente vulnerable desarrollada por Rapid7 para practicar con Metasploit Framework y técnicas de pentesting en un entorno completamente controlado. A diferencia de su predecesora, Metasploitable 3 incluye dos sistemas operativos distintos — Windows Server 2008 R2 y Ubuntu 14.04 — ofreciendo una superficie de ataque realista y variada para el estudio.

✅ Uso legal y éticoMetasploitable 3 está diseñada exclusivamente para práctica en laboratorios privados. Rapid7 la distribuye bajo licencia BSD. Nunca debe conectarse a redes públicas ni usarse contra sistemas ajenos. Es la plataforma de referencia en cursos de preparación OSCP, CEH y PNPT.

¿Qué incluye Metasploitable 3?

ComponenteDetallesPara qué sirve en el lab
Windows Server 2008 R2Múltiples servicios vulnerables: IIS, Tomcat, FTP, SMB, WinRM, Jenkins...Practicar explotación en entornos Windows corporativos — escenario habitual en OSCP
Ubuntu 14.04 LTSServicios vulnerables: Apache, ProFTPD, Samba, UnrealIRCd, Drupal, MySQL...Practicar en entornos Linux — servidores web, bases de datos, daemons legacy
Vagrant + VirtualBoxSistema de construcción automática de la VMPermite reconstruir el entorno desde cero en minutos si algo se rompe
Credenciales documentadasUsuarios y contraseñas publicados en el repositorio oficialPermite verificar accesos conseguidos y estudiar la configuración interna

Metasploitable 3 vs Metasploitable 2

AspectoMetasploitable 2Metasploitable 3
SOSolo Ubuntu 8.04Windows 2008 R2 + Ubuntu 14.04
DistribuciónImagen OVA precompiladaConstruida dinámicamente con Vagrant
Superficie~20 servicios vulnerables~30 servicios entre las dos VMs
RealismoMuy básico (2008)Más cercano a entornos corporativos reales
DificultadPrincipiantePrincipiante-Intermedio
Relevancia OSCPAlta para conceptos básicosAlta — especialmente la parte Windows
Instalación — 01
⬇️ Descarga — 3 Métodos

Metasploitable 3 no se descarga como un archivo OVA — se construye con Vagrant. Hay tres formas de obtenerla, de más simple a más flexible.

ℹ Repositorio oficialGitHub de Rapid7: https://github.com/rapid7/metasploitable3 — código fuente, documentación, issues y el Vagrantfile oficial. Todo el proyecto es open source bajo licencia BSD.

Método 1 — Vagrant Cloud (más rápido, sin compilar)

Las imágenes precompiladas están disponibles en Vagrant Cloud. Este método descarga la VM ya construida sin necesidad de Packer ni compilación local. Es el recomendado para empezar.

BASH — Instalar desde Vagrant Cloud (recomendado)
# Requisitos previos: VirtualBox y Vagrant instalados
# URLs de descarga oficial:
#   VirtualBox: https://www.virtualbox.org/wiki/Downloads
#   Vagrant:    https://developer.hashicorp.com/vagrant/downloads

# Crear directorio de trabajo
mkdir metasploitable3-workspace
cd metasploitable3-workspace

# Linux/macOS: descargar el Vagrantfile oficial
curl -O https://raw.githubusercontent.com/rapid7/metasploitable3/master/Vagrantfile

# Windows (PowerShell):
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/rapid7/metasploitable3/master/Vagrantfile" -OutFile "Vagrantfile"

# Arrancar las VMs (descarga automática desde Vagrant Cloud)
vagrant up
[*] Descargando rapid7/metasploitable3-win2k8 (~7 GB)...
[*] Descargando rapid7/metasploitable3-ub1404 (~2 GB)...
[*] Configurando redes y servicios...
[+] Las VMs están listas.
⚠ Tiempo y espacioLa descarga total es ~9 GB. Asegúrate de tener al menos 65 GB libres en disco y una conexión estable. El proceso puede tardar 30-90 minutos según la velocidad de Internet.

Método 2 — Clonar y construir desde fuente

Para quienes quieran más control o modificar la configuración de vulnerabilidades. Requiere instalar Packer además de Vagrant y VirtualBox.

BASH — Construir desde fuente (Linux/macOS)
# Requisitos adicionales: Packer
# Descarga: https://developer.hashicorp.com/packer/downloads

# Clonar el repositorio
git clone https://github.com/rapid7/metasploitable3.git
cd metasploitable3

# Instalar plugin vagrant-reload
vagrant plugin install vagrant-reload

# Construir la VM Windows (tarda ~45 min)
./build.sh windows2008

# Construir la VM Linux (tarda ~20 min)
./build.sh ubuntu1404

# En Windows (PowerShell):
.\build.ps1 windows2008
.\build.ps1 ubuntu1404

# Una vez construidas, arrancar
vagrant up

Método 3 — Solo la VM Linux (más ligero)

Si solo quieres practicar con el sistema Linux para empezar, puedes levantar únicamente la VM Ubuntu sin la Windows.

BASH — Solo Ubuntu 14.04
# Arrancar solo la VM Linux
vagrant up ub1404

# Arrancar solo la VM Windows
vagrant up win2k8

# Apagar todo
vagrant halt

# Destruir y reconstruir desde cero (si algo se rompe)
vagrant destroy && vagrant up

# Ver estado de las VMs
vagrant status
Current machine states:
win2k8    running (virtualbox)
ub1404    running (virtualbox)
Instalación — 02
📦 Instalación con Vagrant — Paso a Paso

Guía detallada de instalación incluyendo solución a los problemas más comunes que aparecen durante el proceso.

Instalar los prerrequisitos

1
Instalar VirtualBox
Descargar desde virtualbox.org/wiki/Downloads e instalar para tu sistema operativo. Instalar también el Extension Pack de la misma página. Verificar que VT-x/AMD-V está activo en la BIOS.
2
Instalar Vagrant
Descargar desde developer.hashicorp.com/vagrant/downloads. Elegir el instalador para tu SO. Después de instalar, abrir una terminal nueva y verificar:
BASH — Verificar instalación
vagrant --version
Vagrant 2.4.x

VBoxManage --version
7.0.x

# Instalar plugin necesario
vagrant plugin install vagrant-reload
Installing the 'vagrant-reload' plugin. This can take a few minutes...
Installed the plugin 'vagrant-reload (0.0.1)'!
3
Crear el workspace y descargar el Vagrantfile
El Vagrantfile define qué VMs se crean y cómo se configuran. El oficial de Rapid7 configura automáticamente ambas máquinas con la red correcta.
4
Ejecutar vagrant up y esperar
Este comando descarga las imágenes, las importa en VirtualBox y las configura. La primera vez puede tardar 30-90 minutos. Las siguientes veces (vagrant up tras vagrant halt) arrancan en segundos.
5
Verificar que las VMs están activas
Abre VirtualBox — deberías ver dos VMs nuevas. También puedes usar vagrant status desde el directorio del workspace.

Problemas comunes y soluciones

ErrorCausaSolución
Vagrant cannot forward portUn puerto ya está en uso en el hostCambiar el puerto en el Vagrantfile o cerrar la aplicación que lo usa
VT-x is not availableVirtualización no habilitada en BIOSReiniciar → BIOS → habilitar VT-x/AMD-V
Descarga se interrumpeConexión inestableVolver a ejecutar vagrant up — retoma la descarga
Provisioning falla en Windows VMBug conocido en Vagrant + WinRMEjecutar vagrant provision win2k8 para reintentar solo el provisionado
SSL certificate problemCertificados desactualizadosActualizar Vagrant a la última versión; ver issue #603 en GitHub
VM arranca pero no hay redAdaptador Host-Only no configuradoVer la sección siguiente de configuración de red
💡 Truco: snapshot tras la instalaciónUna vez que las VMs estén listas y funcionando, haz un snapshot en VirtualBox de cada una. Si en algún momento "rompes" el servicio objetivo durante la práctica, puedes restaurar al estado original en segundos sin tener que reconstruir todo.
Instalación — 03
🌐 Configurar la Red de Laboratorio

La configuración de red es crítica para que Kali Linux (tu máquina atacante) pueda alcanzar las VMs objetivo. El Vagrantfile configura automáticamente una red privada, pero hay que verificar y ajustar.

Topología del laboratorio

MáquinaRolIP por defectoSO
Kali LinuxAtacante192.168.56.4 (o la que asigne VBox)Kali rolling — VM o nativo
metasploitable3-win2k8Objetivo Windows192.168.56.52Windows Server 2008 R2
metasploitable3-ub1404Objetivo Linux192.168.56.53Ubuntu 14.04 LTS
⚠ Importante: aislamiento de redLas VMs de Metasploitable 3 deben estar en una red aislada del resto de tu infraestructura. Usa siempre red Host-Only o una red interna de VirtualBox. Nunca pongas Metasploitable en modo Bridge conectado a tu red doméstica o corporativa.
BASH — Verificar conectividad desde Kali
# Desde Kali Linux — verificar que las VMs son alcanzables
ping -c 3 192.168.56.52
PING 192.168.56.52: 56 bytes of data
64 bytes from 192.168.56.52: ttl=128 time=0.8ms   ← Windows OK

ping -c 3 192.168.56.53
64 bytes from 192.168.56.53: ttl=64 time=0.9ms    ← Linux OK

# Si las IPs no responden, verificar la red en VirtualBox
# Asegurarse de que Kali está en la misma red Host-Only (vboxnet0)

# Verificar IPs reales de las VMs
vagrant ssh ub1404 -c "ip addr show"
vagrant ssh win2k8 -c "ipconfig"

Añadir Kali a la misma red

1
Configurar la VM de Kali en VirtualBox
Con la VM de Kali apagada: Configuración → Red → Adaptador 1 → Conectado a: Adaptador solo-anfitrión → Nombre: vboxnet0 (la misma red que usan las VMs de Metasploitable 3).
2
Añadir segundo adaptador NAT (para Internet)
Adaptador 2 → NAT. Esto permite que Kali tenga acceso a Internet para actualizaciones mientras sigue pudiendo alcanzar las VMs objetivo por el adaptador Host-Only.
Superficie — 01
🔍 Reconocimiento — Qué buscar y cómo interpretar

El reconocimiento es siempre el primer paso de cualquier pentest. Esta sección explica cómo leer e interpretar los resultados de nmap sobre las máquinas de Metasploitable 3, y qué información es relevante.

BASH — Escaneos de reconocimiento desde Kali
# Descubrimiento de hosts en la red de lab
nmap -sn 192.168.56.0/24
Nmap scan report for 192.168.56.52    ← Windows
Nmap scan report for 192.168.56.53    ← Linux

# Escaneo completo de la VM Windows
nmap -sV -sC -p- -T4 -oN scan_windows.txt 192.168.56.52

# Escaneo completo de la VM Linux
nmap -sV -sC -p- -T4 -oN scan_linux.txt 192.168.56.53

# Detección de SO
nmap -O 192.168.56.52

# Scripts de vulnerabilidades (NO activos — solo informativos)
nmap --script vuln 192.168.56.52

Cómo interpretar los resultados de nmap

Campo nmapQué significaPor qué importa
PORT/STATE/SERVICEPuerto abierto y servicio detectadoCada puerto abierto es una potencial superficie de ataque
VERSIONVersión exacta del softwarePermite buscar CVEs específicos para esa versión
SCRIPT OUTPUTResultados de scripts NSEInformación adicional: títulos HTTP, certificados, shares SMB...
OS detailsSistema operativo detectadoDetermina qué exploits son aplicables
filteredPuerto bloqueado por firewallPuede haber un servicio detrás accesible por otro método
★ Hábito OSCPGuarda siempre los resultados de nmap en archivo (-oN, -oX, -oA). En el examen OSCP tendrás que documentar cada paso. Practicar esto desde el principio en el lab te ahorrará tiempo y estrés el día del examen.
Superficie — Windows
🪟 Windows 2008 R2 — Servicios y Puertos

Resumen de los servicios expuestos en la VM Windows de Metasploitable 3, qué tecnología usa cada uno y por qué son relevantes para el aprendizaje de pentesting.

Mapa de puertos y servicios — Windows

PuertoServicioVersiónRelevancia de aprendizaje
21FTPFileZilla Server 0.9.41Credenciales débiles por defecto, enumeración de usuarios
22SSHOpenSSH 7.1 (via Cygwin)Autenticación con clave, fuerza bruta
80HTTPWampServer / WAMP StackVulnerabilidades web: SQLi, RFI, credenciales débiles
445SMBWindows Server 2008 R2Enumeración de shares, EternalBlue (MS17-010)
3389RDPWindows Remote DesktopAcceso remoto, BlueKeep (CVE-2019-0708)
4848GlassFishGlassFish 4.0Consola de administración con credenciales débiles
8080HTTP-AltApache Tomcat 8.0.33Manager con credenciales débiles, despliegue WAR malicioso
8484HTTPJenkins 1.637Consola Groovy Script, ejecución de comandos
9200HTTPElasticSearch 1.1.1Sin autenticación, RCE via Groovy/MVEL
10000HTTPWebmin 1.772Panel de administración, múltiples CVEs conocidos
ℹ Por qué Windows 2008 R2 en el labWindows Server 2008 R2 representa una enorme cantidad de infraestructura corporativa real que todavía existe en producción. Practicar contra este SO prepara para escenarios reales de pentesting. Muchos de los servicios vulnerables que incluye (Tomcat sin parchear, Jenkins legacy, ElasticSearch sin auth) son exactamente los que se encuentran en auditorías reales.
Superficie — Linux
🐧 Ubuntu 14.04 — Servicios y Puertos

Resumen de los servicios expuestos en la VM Linux de Metasploitable 3. Ubuntu 14.04 llegó al fin de soporte en 2019, lo que lo hace representativo de sistemas legacy sin parchear.

Mapa de puertos y servicios — Linux

PuertoServicioVersiónRelevancia de aprendizaje
21FTPProFTPD 1.3.5Vulnerabilidad mod_copy, backdoor en versiones antiguas
22SSHOpenSSH 6.6.1Configuración por defecto, claves débiles
80HTTPApache 2.4.7Drupal CMS, Shellshock via CGI, páginas de estado
139/445SMB/SambaSamba 4.1.6Enumeración, username map script, shares accesibles
3306MySQLMySQL 5.5.44Credenciales débiles, acceso sin contraseña a root
6667IRCUnrealIRCd 3.2.8.1Backdoor documentado en versiones comprometidas
8080HTTP-AltApache + PHPAplicaciones PHP con vulnerabilidades de configuración
8181HTTPTomcat / JettyServicio secundario con configuración débil
27017MongoDBMongoDB 2.6.xSin autenticación por defecto — acceso libre a todas las BBs
★ Shellshock y Drupal en el mundo realShellshock (CVE-2014-6271) afectó a millones de servidores Linux en 2014 y todavía hay sistemas sin parchear. Drupalgeddon (CVE-2018-7600) comprometió más de un millón de sitios. Entender estos vectores en el lab es prepararse para encontrarlos en auditorías reales de aplicaciones legacy.
Superficie — 02
💥 Catálogo de Vulnerabilidades

Descripción técnica de cada vulnerabilidad presente en Metasploitable 3 — qué es, por qué existe, cuál es su impacto y qué concepto de seguridad enseña. Sin comandos de explotación, con CVEs y referencias para investigación propia.

VM Windows — Vulnerabilidades

WindowsCRÍTICO
MS17-010 / EternalBlue
Puerto 445 — SMBv1
Vulnerabilidad en el protocolo SMBv1 de Windows. Permite ejecución remota de código sin autenticación. Es el vector que usó WannaCry en 2017.
📚 Enseña: explotación de vulnerabilidades de red sin credenciales, SMB enumeration
CVE-2017-0144 — CVSS 9.3
WindowsCRÍTICO
Apache Tomcat Manager — Credenciales Débiles
Puerto 8080 — HTTP
El panel de administración de Tomcat usa credenciales por defecto (tomcat/tomcat). Con acceso al Manager, se puede desplegar un archivo WAR malicioso que da ejecución de código en el servidor.
📚 Enseña: credenciales por defecto, despliegue de webshells, RCE via aplicaciones web
CWE-521 — Weak Password Requirements
WindowsALTO
Jenkins — Script Console RCE
Puerto 8484 — HTTP
Jenkins 1.637 sin autenticación expone una consola Groovy Script que permite ejecutar código arbitrario en el servidor. Vector clásico en entornos de CI/CD mal configurados.
📚 Enseña: explotación de paneles de administración expuestos, scripting en servidores CI
CVE-2015-8103 — Remoting deserialización
WindowsALTO
ElasticSearch — Sin Autenticación
Puerto 9200 — HTTP REST API
ElasticSearch 1.x no tiene autenticación por defecto. La API REST está expuesta, permitiendo leer/escribir todos los índices y ejecutar scripts Groovy/MVEL para RCE.
📚 Enseña: exposición de APIs sin auth, bases de datos no protegidas, REST API abuse
CVE-2014-3120, CVE-2015-1427
WindowsALTO
WampServer / WordPress — SQLi
Puerto 80 — HTTP
Instalación de WordPress sobre WAMP con plugins vulnerables a inyección SQL. Permite extraer hashes de contraseñas de la base de datos.
📚 Enseña: SQL injection, extracción de credenciales, WordPress security
CWE-89 — SQL Injection
WindowsMEDIO
GlassFish — Credenciales Débiles
Puerto 4848 — HTTPS Admin
GlassFish 4.0 con contraseña de administración por defecto. Acceso al panel permite desplegar aplicaciones WAR y leer archivos del sistema.
📚 Enseña: Java EE application servers, credenciales por defecto en middleware
CWE-521

VM Linux — Vulnerabilidades

LinuxCRÍTICO
Shellshock — Apache CGI
Puerto 80 — HTTP/CGI
CVE-2014-6271 afecta a Bash en sistemas Linux. Un script CGI que invoca Bash permite inyectar comandos en las cabeceras HTTP, obteniendo RCE como el usuario del servidor web.
📚 Enseña: vulnerabilidades en intérprete de shell, CGI, inyección de cabeceras HTTP
CVE-2014-6271 — CVSS 10.0
LinuxCRÍTICO
Drupal — Drupalgeddon2
Puerto 80 — HTTP
CVE-2018-7600 afecta a Drupal 6, 7 y 8. Una petición HTTP especialmente formada permite ejecución de código PHP arbitrario sin autenticación.
📚 Enseña: vulnerabilidades en CMS, explotación de aplicaciones web, RCE sin auth
CVE-2018-7600 — CVSS 9.8
LinuxCRÍTICO
ProFTPD mod_copy — RCE
Puerto 21 — FTP
ProFTPD 1.3.5 con mod_copy habilitado permite copiar archivos entre rutas del servidor sin autenticación. Permite colocar una webshell en el directorio web.
📚 Enseña: abuso de módulos FTP, encadenamiento de vulnerabilidades, webshells
CVE-2015-3306 — CVSS 10.0
LinuxALTO
UnrealIRCd — Backdoor
Puerto 6667 — IRC
UnrealIRCd 3.2.8.1 contiene un backdoor introducido en 2010. Enviar un comando especial al servidor IRC ejecuta comandos arbitrarios como root.
📚 Enseña: backdoors en software legacy, supply chain attacks, servicios IRC
CVE-2010-2075 — CVSS 7.5
LinuxALTO
Samba — Username Map Script
Puertos 139/445 — SMB
Configuración de Samba con username map script que permite inyección de comandos a través del nombre de usuario. Explotable sin autenticación.
📚 Enseña: SMB en Linux, inyección de comandos en configuración de servicios
CVE-2007-2447
LinuxALTO
MongoDB — Sin Autenticación
Puerto 27017 — MongoDB
MongoDB 2.6 sin autenticación habilitada. Cualquier cliente puede conectarse directamente y leer, modificar o eliminar todas las bases de datos sin credenciales.
📚 Enseña: bases de datos NoSQL sin proteger, configuración insegura por defecto
CWE-306 — Missing Authentication
Estudio OSCP/PNPT — 01
🗺 Metodología de Pentesting

Una metodología estructurada es lo que diferencia a un pentester profesional de alguien que simplemente ejecuta herramientas. Esta sección cubre el proceso que debes practicar en Metasploitable 3 para preparar OSCP y PNPT.

Las 5 fases de un pentest

1
Reconocimiento (Reconnaissance)
Recopilar información del objetivo sin interactuar con él directamente (pasivo) o con interacción mínima (activo). En el lab: nmap, netdiscover, enumeración de servicios. En OSCP: la fase de recon determina el resto del ataque — si te saltas un servicio, te pierdes una vía de entrada.
2
Escaneo y Enumeración (Scanning & Enumeration)
Profundizar en cada servicio encontrado: qué versión exacta usa, qué directorios web existen, qué usuarios hay en SMB, qué shares están accesibles. Herramientas: nikto, gobuster, enum4linux, wpscan. Esta fase es la más larga y la más importante — la mayoría de los estudiantes la apresuran.
3
Obtención de Acceso (Gaining Access / Exploitation)
Explotar las vulnerabilidades identificadas para obtener un shell en el sistema. Puede ser una vulnerabilidad CVE conocida, credenciales débiles, configuración errónea o una combinación. En Metasploitable 3 hay múltiples vías — practicar varias, no solo la más fácil.
4
Escalada de Privilegios (Privilege Escalation)
Una vez dentro con un usuario de bajo privilegio, obtener acceso como administrador o root. En Windows: impersonación, tokens, servicios mal configurados. En Linux: SUID binaries, sudo misconfiguration, kernel exploits. Esta fase es la que más tiempo lleva en OSCP.
5
Post-Explotación y Documentación
Demostrar el impacto real del acceso obtenido y documentar cada paso. En OSCP: sin documentación no hay puntos. Practicar hacer capturas de pantalla de cada paso, escribir comandos ejecutados y anotar los resultados. Herramientas: cherry tree, obsidian, notion.
★ El hábito más importante para OSCPDocumenta MIENTRAS trabajas, no después. En el examen de 24 horas, si esperas al final para documentar, olvidarás pasos clave. Practica en Metasploitable 3 teniendo siempre una ventana de notas abierta junto a la terminal.
Estudio — Windows
🪟 Habilidades a Desarrollar — Windows

Cada servicio vulnerable en la VM Windows enseña una habilidad específica. Esta sección mapea qué deberías aprender de cada vector y cómo profundizar en él.

Principiante
Enumeración SMB
Usando enum4linux, smbclient y nmap scripts para descubrir shares, usuarios y versiones de Samba/Windows SMB. Habilidad fundamental en entornos Windows.
📚 Relevante en: OSCP, PNPT, eJPT
Principiante
Credenciales por Defecto
Tomcat Manager, GlassFish, Jenkins sin autenticación. Aprender a identificar paneles de administración expuestos y probar credenciales por defecto (admin/admin, tomcat/tomcat, etc.).
📚 Relevante en: PNPT, OSCP, CEH
Intermedio
Explotación de Aplicaciones Web
SQL injection en WordPress, despliegue de WAR en Tomcat, abuso de la API REST de ElasticSearch. Combinar recon web (gobuster, nikto) con explotación específica.
📚 Relevante en: OSCP, BSCP, eCPPT
Intermedio
Network-Level Exploitation
MS17-010 EternalBlue. Entender cómo funciona la vulnerabilidad a nivel de protocolo SMBv1, no solo ejecutar el módulo. Leer el write-up original de Shadow Brokers.
📚 Relevante en: OSCP, eCPPT, PNPT
Intermedio
Post-Explotación Windows
Volcado de hashes con Mimikatz, Pass-the-Hash, enumeración del sistema con PowerShell, búsqueda de credenciales en archivos de configuración, escalada de privilegios via tokens.
📚 Relevante en: OSCP, CRTE, PNPT
Avanzado
Pivoting y Movimiento Lateral
Usar la VM Windows comprometida como pivote hacia otros segmentos de red. Conceptos: port forwarding, SOCKS proxy, PSExec, WMI lateral movement.
📚 Relevante en: OSCP, CRTE, eCPPT
Estudio — Linux
🐧 Habilidades a Desarrollar — Linux

La VM Linux de Metasploitable 3 cubre un amplio espectro de vectores de ataque en sistemas Unix. Estas son las habilidades que deberías desarrollar con cada servicio.

Principiante
Enumeración de Servicios Linux
Identificar versiones de servicios (ProFTPD, Samba, Apache), enumerar usuarios, explorar shares SMB con smbclient, verificar MySQL sin contraseña. La base de cualquier pentest Linux.
📚 Relevante en: eJPT, PNPT, OSCP
Principiante
Explotación de CVEs Conocidos
Shellshock, ProFTPD mod_copy, UnrealIRCd. Entender por qué cada CVE existe a nivel técnico (no solo ejecutar el exploit). Leer los advisories originales de NVD/NIST.
📚 Relevante en: OSCP, CEH, PNPT
Intermedio
Webshells y Encadenamiento
ProFTPD mod_copy permite colocar archivos en el servidor web → webshell → shell inversa. Practicar el encadenamiento de vulnerabilidades: una abre el camino para la siguiente.
📚 Relevante en: OSCP, BSCP, eCPPT
Intermedio
Escalada de Privilegios Linux
Una vez dentro con un usuario de bajo privilegio, escalar a root. Técnicas: SUID binaries, sudo -l, cron jobs, servicios corriendo como root, kernel exploits, writable /etc/passwd.
📚 Relevante en: OSCP, PNPT, eCPPT
Intermedio
Bases de Datos Expuestas
MySQL sin contraseña, MongoDB sin autenticación. Extraer datos, hashes de contraseñas, información de configuración. Practicar con herramientas: mysql cli, mongo cli, mongodump.
📚 Relevante en: PNPT, CEH, OSCP
Avanzado
Post-Explotación Linux
Una vez como root: leer /etc/shadow, buscar credenciales en archivos de configuración, establecer persistencia (cron, .bashrc, SSH keys), limpiar rastros de logs.
📚 Relevante en: OSCP, eCPPT, CRTO
Estudio OSCP/PNPT — 02
📚 Ruta de Aprendizaje

Cómo estructurar el estudio con Metasploitable 3 para preparar certificaciones de pentesting. El orden importa — dominar los fundamentos antes de los ataques avanzados.

Semana 1-2 — Fundamentos

  • Instalar el lab completo (VirtualBox + Vagrant + Kali + Metasploitable 3)
  • Hacer el escaneo nmap completo de ambas VMs y guardar resultados
  • Identificar todos los servicios y sus versiones
  • Buscar los CVEs asociados a cada versión en nvd.nist.gov
  • Leer la documentación de cada CVE — entender por qué existe la vulnerabilidad
  • Enumeración manual de cada servicio sin usar exploits

Semana 3-4 — Explotación Linux

  • Explotar ProFTPD mod_copy para colocar una webshell (investigar el CVE primero)
  • Explotar Shellshock via Apache CGI (entender el mecanismo de Bash)
  • Acceder a MongoDB sin credenciales — volcar todas las bases de datos
  • Conectarse a MySQL sin contraseña y extraer hashes
  • Explotar UnrealIRCd — leer el advisory original de 2010
  • Escalar privilegios a root en la VM Linux (al menos 2 métodos distintos)
  • Escribir el reporte de cada explotación (qué hiciste, por qué funciona, cómo se remediaría)

Semana 5-6 — Explotación Windows

  • Acceder al panel de Tomcat y entender el mecanismo de despliegue WAR
  • Explotar Jenkins Script Console (entender Groovy scripting)
  • Explotar ElasticSearch — acceder a todos los índices via API REST
  • Estudiar MS17-010 — leer el write-up técnico de Shadow Brokers y Rapid7
  • Explotar MS17-010 con Metasploit (módulo ms17_010_eternalblue)
  • Post-explotación Windows: obtener hashes del SAM
  • Documentar el proceso completo con capturas de pantalla

Semana 7-8 — Sin Metasploit (modo OSCP)

  • Repetir TODAS las explotaciones anteriores sin usar módulos de Metasploit
  • Usar exploits manuales de Exploit-DB, GitHub o escritos a mano
  • Práctica con netcat, socat, pwncat-cs para shells inversas
  • Usar linpeas/winpeas para escalada — entender cada resultado
  • Generar payloads con msfvenom de forma manual
  • Escribir un informe completo de pentest (formato profesional) de ambas máquinas
★ La regla del "sin Metasploit"En el examen OSCP solo puedes usar Metasploit en una máquina del total. Por eso es imprescindible practicar la explotación manual. Metasploitable 3 es perfecta para esto: primero aprende con Metasploit para entender el mecanismo, luego repite sin él para demostrar que lo entiendes de verdad.
Estudio OSCP/PNPT — 03
🔗 Recursos y Documentación

Recursos oficiales y de referencia para profundizar en cada vulnerabilidad y certificación.

Documentación oficial de las vulnerabilidades

RecursoURLPara qué
NVD / NIST CVE Databasenvd.nist.govDetalles técnicos de cada CVE, CVSS score, referencias
Exploit Databaseexploit-db.comExploits públicos para cada CVE — leer el código, no solo ejecutarlo
Rapid7 Metasploitable3 Wikigithub.com/rapid7/metasploitable3/wikiDocumentación oficial: credenciales, servicios, configuración
Metasploit Unleashedoffensive-security.com/metasploit-unleashedCurso gratuito de Offensive Security sobre Metasploit
GTFOBinsgtfobins.github.ioTécnicas de escalada de privilegios Linux con binarios del sistema
LOLBASlolbas-project.github.ioEquivalente de GTFOBins para Windows
HackTricksbook.hacktricks.xyzReferencia de técnicas de pentesting Linux y Windows
PayloadsAllTheThingsgithub.com/swisskyrepo/PayloadsAllTheThingsPayloads y bypasses para múltiples vectores de ataque

Certificaciones y plataformas de práctica

CertificaciónProveedorRelación con Metasploitable 3
OSCPOffensive SecurityAlta — especialmente Windows: Tomcat, SMB, escalada de privilegios
PNPTTCM SecurityAlta — el curso Practical Ethical Hacking usa máquinas similares
eJPTeLearnSecurity / INEPerfecta para empezar — nivel de dificultad muy alineado
eCPPTeLearnSecurityMedia — cubre los mismos vectores pero con más profundidad
CEHEC-CouncilMedia — más teórico pero cubre todos los CVEs incluidos

Plataformas para continuar practicando

PlataformaURLTipo
HackTheBoxhackthebox.comMáquinas CTF online — nivel intermedio/avanzado
TryHackMetryhackme.comLaboratorios guiados — ideal para principiantes
VulnHubvulnhub.comVMs descargables similares a Metasploitable — gratis
PentesterLabpentesterlab.comCursos de web hacking con laboratorios prácticos
PortSwigger Web Academyportswigger.net/web-securityEl mejor recurso gratuito para vulnerabilidades web
Referencia
🔑 Credenciales por Defecto

Credenciales documentadas en el repositorio oficial de Rapid7. Están publicadas públicamente en el wiki de GitHub del proyecto.

ℹ Fuente oficialTodas las credenciales están publicadas en: github.com/rapid7/metasploitable3/wiki/Vulnerabilities

Credenciales del sistema

SistemaUsuarioContraseñaAcceso
Windows 2008 R2vagrantvagrantAdministrador local
Ubuntu 14.04vagrantvagrantUsuario sudo

Credenciales de servicios

ServicioUsuarioContraseñaURL / Puerto
Apache Tomcat Managertomcattomcat:8080/manager/html
JenkinsSin autenticación—:8484
GlassFish Adminadminadmin:4848
Webminvagrantvagrant:10000
MySQL (Linux)rootsin contraseña:3306
MongoDB (Linux)Sin autenticación—:27017
ElasticSearch (Windows)Sin autenticación—:9200
WampServer / WordPressadminvagrant:80/wordpress
FTP FileZilla (Windows)vagrantvagrant:21
ProFTPD (Linux)vagrantvagrant:21
⚠ Solo para verificaciónEstas credenciales sirven para verificar que has conseguido acceso correctamente y para explorar la configuración interna de los servicios. En un pentest real, las credenciales por defecto son un hallazgo crítico que debe documentarse y reportarse.
Referencia
✅ Checklist del Laboratorio

Instalación

  • VirtualBox instalado con Extension Pack
  • Vagrant instalado y verificado (vagrant --version)
  • Plugin vagrant-reload instalado
  • Vagrantfile descargado de GitHub oficial de Rapid7
  • vagrant up completado sin errores
  • Ambas VMs visibles en VirtualBox
  • Snapshot creado de ambas VMs tras la instalación

Red y conectividad

  • Kali Linux en la misma red Host-Only que las VMs
  • Ping a 192.168.56.52 (Windows) responde
  • Ping a 192.168.56.53 (Linux) responde
  • Las VMs NO tienen acceso a Internet ni a tu red doméstica

Reconocimiento inicial

  • nmap completo de VM Windows guardado en archivo
  • nmap completo de VM Linux guardado en archivo
  • Todos los servicios identificados y documentados
  • CVEs buscados en nvd.nist.gov para cada versión
  • Herramienta de notas preparada (CherryTree, Obsidian...)

Comandos rápidos de gestión del lab

BASH — Gestión de las VMs con Vagrant
## CONTROL DE LAS VMs
vagrant up              # arrancar ambas VMs
vagrant up win2k8       # solo Windows
vagrant up ub1404       # solo Linux
vagrant halt            # apagar ambas
vagrant status          # ver estado
vagrant suspend         # suspender (guardar estado RAM)
vagrant resume          # reanudar desde estado suspendido

## RECONSTRUIR DESDE CERO (si algo se rompe)
vagrant destroy         # eliminar VMs
vagrant up              # reconstruir (usa caché local, más rápido)

## ACCESO SSH A LAS VMs
vagrant ssh win2k8      # SSH a Windows (via Cygwin/OpenSSH)
vagrant ssh ub1404      # SSH a Linux

## VER IPs DE LAS VMs
vagrant ssh ub1404 -c "ip addr show eth1"
vagrant ssh win2k8 -c "ipconfig"