system onlinepath: /guias/hacking/introduccion-a-metasploit-framework/mode: knowledge_baselocal:
Hacking ético · Nivel intermedio

Introducción a Metasploit Framework

Metasploit es la herramienta de esta serie donde la línea entre practicar y delinquir es más fina, porque no observa: interviene. Por eso la mitad de esta guía es sobre dónde se usa, no sobre cómo.

12 min de lectura▣ Actualizada el ◇ Por Underc0de
Respuesta rápida

Metasploit Framework es una plataforma de pruebas de penetración de código abierto mantenida por Rapid7, escrita en Ruby y organizada en módulos. Su interfaz principal es msfconsole. Hay siete tipos de módulo, y entender la diferencia es entender la herramienta: exploit (aprovecha una vulnerabilidad para ejecutar código), payload (el código que corre después de un exploit exitoso), auxiliary (escáneres, fuzzers y otras acciones que no son exploits), post (recolección tras el acceso), y encoder, nop y evasion, orientados a evadir defensas. A diferencia de Nmap o de un proxy, Metasploit no observa: interviene, y por eso el marco legal pesa acá más que en ninguna otra herramienta. Se aprende y se practica solo en un laboratorio propio y aislado, o dentro de un trabajo con autorización escrita que incluya explícitamente la fase de explotación. Usarlo contra un sistema ajeno es un delito, sin zona gris.

Ver índice de contenidos
  1. 01Qué es Metasploit
  2. 02El límite legal, primero
  3. 03Los tipos de módulo
  4. 04El laboratorio aislado
  5. 05Instalar
  6. 06msfconsole paso a paso
  7. 07Qué viene después del acceso
  8. 08Errores frecuentes
  9. 09Preguntas frecuentes
  10. 10Fuentes

Qué es Metasploit

Metasploit Framework es una plataforma que reúne, en un solo entorno, herramientas para las distintas fases de una prueba de penetración: reconocimiento, explotación de vulnerabilidades y acciones posteriores al acceso. La documentación de Rapid7 lo describe como una forma de probar sistemas con «el mismo conjunto de herramientas que tienen quienes atacan», y de ahí viene tanto su utilidad como su responsabilidad.

Tres datos lo ubican:

  • Es de código abierto y lo mantiene Rapid7, que además ofrece productos comerciales construidos sobre él.
  • Está escrito en Ruby y organizado en módulos, lo que permite ampliarlo con módulos propios.
  • Su interfaz principal es msfconsole, una consola desde la que se busca, se configura y se ejecuta cada módulo.

Lo que lo distingue de las otras herramientas de esta serie es que no se detiene en describir un problema: lo aprovecha. Nmap te dice que hay una versión vulnerable; Metasploit intenta entrar por ella. Esa diferencia —de observar a intervenir— es la que ordena todo lo demás.

El límite legal, primero

En las otras guías esta sección viene después de lo técnico. Acá va antes, a propósito, porque con Metasploit el costo de equivocarse de objetivo es cualitativamente distinto.

!
Ejecutar un exploit contra un sistema ajeno es un delito

No es una infracción menor ni una zona gris. Escanear puertos ya tiene sus advertencias; lanzar un exploit es intentar tomar control de una máquina, y eso está tipificado como delito en prácticamente todas las jurisdicciones, con independencia de tu intención o de si «solo querías probar». El hecho de que la herramienta lo haga fácil no cambia nada de eso.

De ahí salen dos únicos contextos legítimos, y no hay un tercero:

  1. Un laboratorio propio y aisladoMáquinas virtuales tuyas, en una red sin salida, diseñadas para ser vulnerables. Es donde se aprende.
  2. Un trabajo con autorización escrita que incluya la explotaciónY esto es clave: la autorización para escanear no autoriza a explotar. La fase de explotación se autoriza de forma explícita y separada, porque puede provocar caídas de servicio y pérdida de datos.

El marco completo —cómo se redacta un alcance, qué es una regla de enfrentamiento, cómo se maneja la evidencia— está en fundamentos de hacking ético, y para esta herramienta esa lectura no es recomendada sino previa.

Los tipos de módulo

Los siete tipos de módulo de Metasploit Framework y cómo se combinan en el flujo de trabajo de msfconsole. A la izquierda, la lista con la definición oficial de cada tipo. Exploit: aprovecha una vulnerabilidad de manera que permite al marco ejecutar código arbitrario en la máquina objetivo. Payload: el código que se ejecuta después de que un exploit compromete con éxito un sistema, y que define cómo conectarse al control obtenido y qué hacer con él. Auxiliary: módulos que no son exploits, como escáneres, fuzzers y ataques de denegación de servicio. Post, de post-explotación: permiten recolectar más información o ganar más acceso en un sistema ya comprometido, por ejemplo volcados de credenciales o enumeración de servicios. Encoder: codifican payloads para ayudar a evitar caracteres problemáticos o para añadir ofuscación. NOP: generan secuencias de bytes que ayudan a sortear firmas simples de detección. Evasion: pensados para evadir antivirus. A la derecha, el flujo típico en la consola: se busca un módulo, se selecciona, se muestran sus opciones, se configuran las que hacen falta —el objetivo, el puerto, y en un exploit el payload—, se ejecuta y, si tiene éxito, se abre una sesión sobre la que actúan los módulos de post-explotación. En el centro, la relación clave entre exploit y payload: el exploit es la manera de entrar y el payload es lo que se hace una vez adentro, y se eligen por separado. Al pie, la advertencia que atraviesa toda la herramienta: los módulos de las tres últimas categorías, orientados a evadir defensas, y la ejecución de cualquier exploit solo tienen sentido dentro de un laboratorio propio o de un trabajo con autorización escrita que incluya explícitamente la explotación.
Exploit y payload se eligen por separado: uno es la manera de entrar, el otro es lo que se hace adentro.

La documentación de Rapid7 define siete tipos. Vale la pena leerlos con atención, porque la lógica de la herramienta es combinarlos:

Los siete tipos de módulo de Metasploit
TipoQué es
ExploitAprovecha una vulnerabilidad para que el marco ejecute código en el objetivo
PayloadEl código que corre tras un exploit exitoso: define cómo conectarse y qué hacer
AuxiliaryLo que no es exploit: escáneres, fuzzers, ataques de denegación de servicio
PostPost-explotación: recolectar más información o ganar más acceso en un sistema ya comprometido
EncoderCodifica payloads para evitar caracteres problemáticos o añadir ofuscación
NOPGenera secuencias de bytes para sortear firmas simples de detección
EvasionPensados para evadir antivirus

La relación que hay que entender

El exploit y el payload se eligen por separado. El exploit es la manera de entrar; el payload es lo que pasa una vez adentro. Un mismo exploit puede llevar payloads distintos, y esa separación es lo que da flexibilidad al marco. Las tres últimas categorías —encoder, nop y evasion— existen para evadir defensas, y usarlas fuera de un laboratorio propio necesita autorización explícita.

El laboratorio aislado

Antes de instalar Metasploit conviene tener el lugar donde practicar, y ese lugar tiene una característica no negociable: está aislado de todo lo demás.

  • Máquinas virtuales en una red interna sin salida. Ni hacia internet ni hacia tu red doméstica. Un exploit que se escapa del laboratorio deja de ser un ejercicio.
  • Al menos dos máquinas: la que ataca y la que hace de objetivo. Como objetivo se usan imágenes hechas para ser vulnerables, pensadas precisamente para aprender.
  • Instantáneas antes de cada prueba. Un exploit puede dejar la máquina objetivo inutilizable, y una instantánea permite volver al estado anterior en segundos.
i
Por qué la red aislada no es opcional

Un payload que abre una conexión de vuelta hacia quien ataca no distingue laboratorio de mundo real: hace lo que le dijiste. Si la máquina objetivo tiene salida a internet o a tu red, un ejercicio mal configurado puede afectar sistemas que no eran parte del ejercicio. El aislamiento es lo que convierte un experimento peligroso en uno seguro.

Instalar

Rapid7 publica instaladores oficiales para Linux, macOS y Windows que, según su documentación, incluyen las dependencias —Ruby y PostgreSQL— y se integran con el gestor de paquetes. Muchas distribuciones orientadas a seguridad ya lo traen.

bash
# Dentro del laboratorio aislado.

# La base de datos PostgreSQL guarda hosts, servicios y resultados
# entre sesiones: conviene inicializarla antes del primer uso.
msfdb init

# Abrir la consola principal.
msfconsole

# El marco se actualiza con su propio comando.
msfupdate

La base de datos no es un adorno: permite que el reconocimiento hecho en una sesión —qué máquinas hay, qué servicios, qué resultó de cada intento— siga disponible en la siguiente, algo esencial cuando el laboratorio tiene varias máquinas.

msfconsole paso a paso

El flujo de trabajo en la consola es siempre el mismo, y conviene interiorizarlo con un módulo inofensivo antes que con un exploit. La secuencia: buscar, seleccionar, mirar opciones, configurar, ejecutar.

bash
# Contra una máquina objetivo de TU laboratorio. Nunca fuera de él.

# Buscar módulos por nombre, plataforma o identificador de vulnerabilidad.
search type:auxiliary smb

# Seleccionar un módulo. Empezar por uno auxiliar, que solo observa.
use auxiliary/scanner/smb/smb_version

# Ver qué opciones pide y cuáles son obligatorias.
show options

# Configurar el objetivo: la IP de la máquina vulnerable del laboratorio.
set RHOSTS 192.168.56.101

# Ejecutar.
run

# Para un exploit el flujo agrega elegir el payload y sus opciones:
# use exploit/<ruta> ; set PAYLOAD <ruta> ; set LHOST <tu IP> ; exploit
# LHOST es tu dirección: adónde se conecta de vuelta el payload.

Dos opciones aparecen todo el tiempo y conviene no confundirlas: RHOSTS es el objetivo remoto —la máquina que se prueba— y LHOST es tu propia dirección, adonde se conecta de vuelta el payload. Escribir mal RHOSTS es, literalmente, apuntar la herramienta a otro lado, y por eso el valor se revisa dos veces antes de ejecutar.

Qué viene después del acceso

Si un exploit tiene éxito, se abre una sesión: un canal de control sobre la máquina objetivo. Lo que se hace desde ahí lo cubren los módulos de post-explotación, y también acá el alcance manda.

  • Sesiones y Meterpreter. El payload más usado abre un intérprete de comandos con capacidades ampliadas para operar sobre el sistema comprometido.
  • Módulos post. Enumeración del sistema, recolección de información, evaluación de qué más se puede alcanzar desde ahí.
  • Lo que dice el alcance. En un trabajo real, hasta dónde se avanza tras el acceso está escrito. «Demostrar el acceso» y «moverse por toda la red» son autorizaciones distintas, y confundirlas es salirse del alcance.

El objetivo de una prueba de penetración no es tomar la mayor cantidad de máquinas posible, sino demostrar el impacto suficiente para que se corrija el problema. Un exploit que funciona es evidencia; seguir avanzando sin autorización es pasar de auditor a intruso.

Errores frecuentes

  • Practicar fuera de un laboratorio aislado. Es el error grave: ejecutar un exploit contra un sistema ajeno es un delito.
  • Suponer que la autorización para escanear cubre la explotación. Son autorizaciones distintas y la segunda se pide aparte.
  • Dar salida a internet a la máquina objetivo. Un payload no distingue laboratorio de mundo real.
  • No tomar instantáneas antes de probar. Un exploit puede dejar la máquina inservible.
  • Confundir RHOSTS con LHOST. Uno es el objetivo, el otro sos vos: escribir mal el primero es apuntar a otro lado.
  • Empezar por un exploit. Conviene interiorizar el flujo con un módulo auxiliar, que solo observa.
  • Seguir avanzando tras el acceso «para ver hasta dónde llego». El alcance define hasta dónde, y pasarse es dejar de auditar.

Preguntas frecuentes

¿Es legal usar Metasploit?

La herramienta es legal y de uso profesional; lo que puede constituir delito es contra qué la usás. Lanzar un exploit es intentar tomar control de una máquina, y hacerlo contra un sistema ajeno sin autorización está tipificado como delito en prácticamente todas las jurisdicciones, sin que importe la intención. Hay exactamente dos contextos legítimos: un laboratorio propio y aislado con máquinas hechas para ser vulnerables, o un trabajo con autorización escrita que incluya de forma explícita la fase de explotación. La autorización para escanear no basta: explotar se autoriza por separado, porque puede provocar caídas y pérdida de datos.

¿Cuál es la diferencia entre un exploit y un payload?

El exploit es la manera de entrar: aprovecha una vulnerabilidad para que el marco pueda ejecutar código en el objetivo. El payload es lo que se ejecuta una vez que el exploit tuvo éxito: define cómo conectarse al control obtenido y qué hacer con él. Se eligen por separado, y esa es una de las ideas centrales de la herramienta, porque un mismo exploit puede combinarse con payloads distintos según lo que se quiera demostrar. En la consola eso se ve en que primero se selecciona el exploit y después se configura el payload como una opción más.

¿Qué es msfconsole?

Es la interfaz principal del marco: una consola de línea de comandos desde la que se hace todo. El flujo es siempre el mismo: buscar un módulo, seleccionarlo, mirar qué opciones pide, configurar las obligatorias —como la dirección del objetivo— y ejecutar. Conviene aprenderlo con un módulo auxiliar, que solo observa, antes de pasar a un exploit, porque así se interioriza la secuencia sin riesgo de romper nada. La herramienta también guarda en una base de datos los hosts y servicios descubiertos, de modo que el trabajo de una sesión sigue disponible en la siguiente.

¿Necesito saber programar en Ruby?

Para usar los módulos existentes, no. La consola permite buscar, configurar y ejecutar sin escribir código, y con eso alcanza para aprender el flujo y para buena parte del trabajo. Saber Ruby se vuelve útil cuando querés entender por dentro cómo funciona un módulo, adaptarlo, o escribir uno propio para una vulnerabilidad que no tiene módulo publicado. Es un buen segundo paso, no un requisito de entrada. Lo que sí conviene tener antes es una base de redes y de sistemas operativos, porque sin eso los resultados de un módulo son difíciles de interpretar.

¿Dónde consigo máquinas para practicar?

Existen imágenes de máquinas virtuales diseñadas expresamente para ser vulnerables, pensadas para montar un laboratorio de aprendizaje, y también plataformas en línea que ofrecen entornos de práctica legales donde el objetivo lo pone la plataforma. Cualquiera de las dos vías es válida; lo que no lo es, bajo ninguna circunstancia, es apuntar la herramienta a un sistema que no sea tuyo ni esté explícitamente autorizado. La regla es simple y no admite excepciones por curiosidad: si no lo montaste vos o no está por escrito en un alcance, no es un objetivo.

¿Para qué sirve la fase de post-explotación?

Una vez que un exploit abre una sesión, los módulos de post-explotación permiten recolectar más información o evaluar qué más se puede alcanzar desde el sistema comprometido: enumerar el equipo, revisar configuraciones, medir el impacto real del acceso. En un trabajo con autorización, todo eso está limitado por el alcance, porque «demostrar que se puede entrar» y «recorrer toda la red interna» son permisos distintos. El propósito de una prueba de penetración no es acumular máquinas comprometidas sino demostrar impacto suficiente para justificar la corrección; avanzar más allá de lo autorizado convierte al auditor en intruso.

Fuentes

Documentación oficial y material de la comunidad consultados para esta guía. Fecha de consulta: 28 de julio de 2026.

Aportes de la comunidad Underc0de

  1. Underc0de, blog. Cheat Sheet: Metasploit Framework, por Denisse, 9 de septiembre de 2020. Publicado en la undécima edición de la revista UnderDOCS. Punto de partida de esta guía: el aporte original es una hoja de comandos de msfconsole, y acá se reorganizó como recorrido conceptual con el énfasis puesto en el marco legal y el laboratorio.
  2. Underc0de, foro. Sección Bugs y Exploits. Discusiones de la comunidad sobre explotación en entornos controlados.

Documentación oficial

  1. Rapid7. Metasploit: Modules. Las definiciones oficiales de los siete tipos de módulo, citadas en la tabla de esta guía.
  2. Rapid7. Using Metasploit. El flujo básico de trabajo en msfconsole.
  3. Rapid7. Nightly Installers. Instalación oficial para Linux, macOS y Windows, con dependencias incluidas.
  4. Rapid7. Metasploit Documentation. La documentación completa del marco, de código abierto y mantenido por Rapid7.
  5. OWASP. Web Security Testing Guide. La metodología que ordena cuándo y por qué se llega a la fase de explotación.