Metasploit Framework es una de las herramientas más poderosas y populares en el ámbito del pentesting y la seguridad informática. En esta guía básica, aprenderás cómo utilizar Metasploit de manera efectiva, desde sus módulos principales hasta la configuración y el manejo de la línea de comandos. Si buscas adentrarte en el mundo del pentesting, ¡sigue leyendo!

Introducción a Metasploit

Metasploit Framework se destaca por su versatilidad al automatizar tareas de explotación, recolección de información y post-explotación. Gracias a sus múltiples módulos, puedes llevar a cabo pruebas de penetración(pentesting) y evaluar la seguridad de redes y sistemas.
Esta guía no abarca temas avanzados como el uso de msfvenom o técnicas de ofuscación, sino que se centra en lo esencial para iniciarte en el uso de la herramienta.

Texto alternativo

Módulos Principales de Metasploit

Metasploit se compone de diversos módulos, cada uno diseñado para cumplir funciones específicas:

Exploit

  • Función: Explotar vulnerabilidades en sistemas o aplicaciones específicas.
  • Ejemplo de uso: Ejecutar un exploit contra una vulnerabilidad conocida para obtener acceso al sistema.

Payload (Carga Útil)

  • Función: Ejecutar código tras una explotación exitosa, como abrir una shell inversa o ejecutar comandos en el sistema comprometido.
  • Ejemplo de uso: Iniciar una conexión remota para el control del sistema.

Auxiliary

  • Función: Realizar tareas de apoyo que no implican directamente la explotación de vulnerabilidades, como escaneo de puertos o recolección de información.
  • Ejemplo de uso: Escanear una red en busca de hosts activos.

Post

  • Función: Ejecutar acciones posteriores a la explotación para recopilar información adicional o mantener el acceso.
  • Ejemplo de uso: Extraer credenciales o listar usuarios en el sistema comprometido.

NOP (No Operation)

  • Función: Generar instrucciones “no operación” para estabilizar exploits, especialmente útiles en escenarios de desbordamientos de búfer.

Cómo Iniciar Metasploit

Para comenzar a utilizar Metasploit, sigue estos pasos esenciales:

1. Configuración de la Base de Datos

Antes de ejecutar la interfaz de línea de comandos, es necesario inicializar la base de datos, lo cual requiere permisos de superusuario.
Ejecuta el siguiente comando en tu terminal:

sudo msfdb init

imagen de ejecución

Nota: Al ejecutar este comando por primera vez, se creará la base de datos necesaria para almacenar la información y los registros de tus pruebas.

2. Ejecución de la Interfaz de Línea de Comando (CLI)

Una vez inicializada la base de datos, lanza la consola de Metasploit con:

msfconsole

a Esta interfaz es el punto central para interactuar con todos los módulos y funcionalidades que ofrece Metasploit.

Interactuando con la CLI de Metasploit

La interfaz de línea de comandos de Metasploit es intuitiva y ofrece múltiples comandos para facilitar su uso. A continuación, te presentamos algunos de los comandos esenciales:

Comando help
  • Función: Muestra todas las opciones y comandos disponibles en Metasploit.
  • Uso:
help

También puedes obtener detalles específicos de un comando con:

help [comando]

Búsqueda y Selección de Módulos

search: Permite buscar módulos mediante palabras clave, CVE, nombres de servicios o el tipo de módulo (exploit, auxiliar, payload, etc.).

Ejemplo:

search ms17`

ms17

use => Selecciona el módulo deseado ya sea ingresando el número de la lista de resultados o el nombre completo del módulo.

Ejemplo con numero:

use 0

Ejemplo con nombre:

use exploit/multi/handler

Configuración de Opciones del Módulo

Una vez que hayas seleccionado un módulo, es crucial configurar las opciones necesarias para su correcta ejecución.

podremos ver las opciones del modulo especifico que estemos usando con options options

Ejemplo con exploit/multi/handler

En la imagen proporcionada, se está utilizando el módulo exploit/multi/handler, diseñado para recibir conexiones y establecer comunicación remota.

Establecer Parámetros: Usa el comando set para asignar valores a parámetros como LHOST y LPORT.

  • LHOST (Local Host): La dirección IP del equipo que recibirá la conexión.
  • LPORT (Local Port): El puerto en el que se escuchará la conexión.
set LHOST [dirección IP]
set LPORT [puerto]

Gestión de Módulos

Metasploit cuenta con comandos específicos para manejar el historial de módulos, lo que es especialmente útil cuando trabajas con múltiples configuraciones en una misma sesión.

Comandos Clave

  • pushm
    Guarda el módulo actual en una pila (stack) para que puedas cambiar a otro módulo sin perder la configuración previamente establecida.
    Ejemplo:
use exploit/multi/handler
pushm
use exploit/windows/smb/ms17_010_eternalblue

En este ejemplo, el módulo exploit/multi/handler se almacena en la pila, permitiéndote cambiar temporalmente al módulo ms17_010_eternalblue.

  • popm
    Restaura el último módulo guardado mediante pushm, devolviendo su configuración original.
    Ejemplo:
    Si te encuentras en el módulo exploit/windows/smb/ms17_010_eternalblue y ejecutas popm, volverás al módulo exploit/multi/handler.

Ejecución de Módulos

Una vez que has seleccionado y configurado el módulo deseado, su ejecución se realiza con los comandos:

  • run
  • exploit

Estos comandos inician el proceso de explotación o la tarea asignada al módulo seleccionado.

Gestión de espacios de trabajo.

La gestión de espacios de trabajo en Metasploit es fundamental para mantener organizadas las auditorías y pruebas realizadas, especialmente en entornos con múltiples proyectos o durante competiciones de CTF.

Comandos Básicos

  • Ver ayuda:
    Para conocer las opciones disponibles y cómo gestionar los espacios de trabajo, utiliza: workspace -h

-h

  • Mostrar el espacio de trabajo actual:
    Ejecuta el comando workspace para ver cuál es el área activa. Por defecto, siempre se inicia con un espacio de trabajo predeterminado.

Creación y Cambio de Espacios de Trabajo

  • Crear un nuevo espacio de trabajo:
    Para organizar la información de auditorías específicas o CTFs, crea un nuevo espacio de trabajo con: workspace -a <Nombre_espacio de trabajo> metaprueba Al ejecutarlo, Metasploit cambiará automáticamente al nuevo workspace img

  • Cambiar de espacio de trabajo:
    Si necesitas cambiar a otro espacio ya creado, simplemente ejecuta: workspace <Nombre_del_espacio> a

Consejo: Utiliza espacios de trabajo para segmentar información y configuraciones específicas de cada auditoría, lo que facilitará la organización y el seguimiento de los resultados en proyectos de ciberseguridad.

Escaneo de puertos con db_nmap

Metasploit integra una versión nativa de Nmap, conocida como db_nmap, que te permite realizar escaneos avanzados directamente desde la consola y, lo más importante, almacenar automáticamente los resultados en la base de datos. Esto facilita la posterior consulta de información mediante comandos como hosts y services.

nmapdb

Tenemos a disposición toda la herramienta de nmap, consulte la [Guia basica de Nmap] y [Escaneos avanzados con Nmap]

Ejemplo de escaneo. db_nmap -A -T4 -v 192.168.1.1 escan

El escaneo es practicamente igual que nmap, ahora lo que nos interesa aqui es que la información recopilada, de la red o un host especifico se va a estar guardando en la base de datos, si ejecutamos comandos como hosts services vamos a poder ver tanto hosts escaneados e identificados, como los servicios.

servicios y host Notese como la información es relativa al escaneo y lo que se identifico.

Tambien podemos exportar los resultados obtenidos del nmap original

Manejo de sesiones

En proceso