Búsqueda y Selección de Módulos de Metasploit

LinuxBeginner
Practicar Ahora

Introducción

¡Bienvenido al mundo de Metasploit! El Metasploit Framework es una herramienta de código abierto increíblemente poderosa utilizada por profesionales de la ciberseguridad para desarrollar, probar y ejecutar exploits. Contiene una vasta base de datos de módulos, que son fragmentos de código que se pueden utilizar para diversas tareas de pruebas de penetración. Estos módulos incluyen exploits, payloads y herramientas auxiliares.

En este laboratorio, aprenderá el flujo de trabajo fundamental para trabajar con módulos de Metasploit. Comenzará iniciando la consola de Metasploit, luego aprenderá a buscar módulos específicos, seleccionar uno para usar y configurar sus opciones básicas. Este es el conjunto de habilidades fundamentales para cualquier aspirante a tester de penetración.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 98%. Ha recibido una tasa de reseñas positivas del 95% por parte de los estudiantes.

En este paso, aprenderá a utilizar el comando search para encontrar módulos dentro del Metasploit Framework. El comando search es su herramienta principal para navegar por los miles de módulos disponibles.

Primero, iniciemos la consola del Metasploit Framework. Esto puede tardar un momento en arrancar.

msfconsole

Verá un banner y el prompt de comandos de Metasploit, que se ve como msf >. Todos los comandos subsiguientes en este laboratorio se ejecutarán dentro de esta consola.

Para hacer su búsqueda más efectiva, puede usar palabras clave para filtrar los resultados. Una de las palabras clave más comunes es type, que le permite especificar el tipo de módulo que está buscando (ej. exploit, payload, auxiliary).

Busquemos todos los módulos clasificados como exploits. Escriba el siguiente comando en la consola de Metasploit:

search type:exploit

Verá una larga lista de exploits disponibles. La salida está organizada en columnas:

  • #: El número de índice del resultado de la búsqueda.
  • Name: La ruta completa y el nombre del módulo.
  • Disclosure Date: Cuándo se divulgó públicamente la vulnerabilidad.
  • Rank: La fiabilidad del exploit, desde low (bajo) hasta excellent (excelente).
  • Check: Indica si el módulo puede verificar si un objetivo es vulnerable sin explotarlo.
  • Description: Un breve resumen de lo que hace el módulo.
msf > search type:exploit

Matching Modules
================

   ##   Name                                    Disclosure Date  Rank       Check  Description
   -   ----                                    ---------------  ----       -----  -----------
   0   exploit/windows/local/adobe_sandbox_esc  2011-04-15       excellent  No     Adobe Reader/Acrobat "Movie" Annotation Sandbox Escape
   1   exploit/windows/fileformat/acdsee_pica   2011-01-12       good       No     ACDSee PicaView 2.0 EML File Parsing Buffer Overflow
   ... (output truncated) ...

Esto le da una idea general de los exploits disponibles, pero la lista es demasiado grande para ser práctica. En el siguiente paso, la acotaremos.

En este paso, aprenderá a refinar sus resultados de búsqueda. La búsqueda anterior devolvió miles de exploits para muchos sistemas operativos diferentes. Para encontrar un exploit relevante, necesita agregar más filtros.

La palabra clave platform le permite filtrar módulos basándose en el sistema operativo objetivo, como windows, linux, osx o android. Puede combinar múltiples palabras clave en un solo comando search para crear una consulta muy específica.

Busquemos exploits diseñados específicamente para la plataforma Linux.

search type:exploit platform:linux

La salida ahora será una lista mucho más corta y manejable de exploits relevantes para sistemas Linux.

msf > search type:exploit platform:linux

Matching Modules
================

   ##   Name                                          Disclosure Date  Rank     Check  Description
   -   ----                                          ---------------  ----     -----  -----------
   0   exploit/linux/http/advantech_switch_bash_env_exec 2014-09-24       excellent  Yes    Advantech Switch Bash Environment Variable Code Injection (Shellshock)
   1   exploit/linux/http/airties_login_cgi_bof      2012-01-17       excellent  No     AirTies login.cgi Buffer Overflow
   ... (output truncated) ...

Al combinar palabras clave, puede enfocarse rápidamente en el módulo exacto que necesita para un objetivo específico.

Usar Módulo de Exploit con use exploit/multi/handler

En este paso, seleccionará un módulo con el que trabajar. Después de encontrar un módulo con el comando search, necesita cargarlo en el contexto del framework usando el comando use.

El comando use toma el nombre completo del módulo como su argumento. Puede copiar el nombre directamente de los resultados de la búsqueda.

Para este laboratorio, seleccionaremos un módulo especial y muy común: exploit/multi/handler. Este módulo no es un exploit típico que apunta a una vulnerabilidad específica. En cambio, es un listener (escuchador) genérico que espera una conexión entrante de una payload (carga útil) que se ha ejecutado en una máquina objetivo. Es una herramienta fundamental para capturar reverse shells.

Cargue el módulo handler con el siguiente comando:

use exploit/multi/handler

Después de ejecutar el comando, notará que su prompt de comandos cambia.

msf > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf exploit(multi/handler) >

El prompt msf exploit(multi/handler) > indica que ahora se encuentra en el contexto del módulo exploit/multi/handler. Cualquier comando que emita ahora, como establecer opciones, se aplicará a este módulo específico.

Comprobar Opciones del Módulo con show options

En este paso, aprenderá a ver los parámetros configurables para el módulo que ha seleccionado. Cada módulo tiene un conjunto de opciones que es posible que deba configurar antes de poder ejecutarse. Estas opciones definen el comportamiento del módulo, como la dirección IP del objetivo o el puerto en el que se debe escuchar.

El comando show options muestra todas las opciones disponibles para el módulo cargado actualmente.

Ahora que está en el contexto de exploit/multi/handler, ejecute el siguiente comando:

show options

La salida listará las opciones del módulo, junto con su configuración actual y descripciones.

msf exploit(multi/handler) > show options

Module options (exploit/multi/handler):

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------

Payload options (generic/shell_reverse_tcp):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST                   yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port

Exploit target:

   Id  Name
   --  ----
   0   Wildcard Target

Preste mucha atención a la columna Required (Requerido). Cualquier opción marcada como yes debe establecerse antes de que pueda ejecutar el módulo. Para multi/handler, se requieren LHOST (Host de Escucha) y LPORT (Puerto de Escucha). LHOST es la dirección IP en la que escuchará su máquina, y LPORT es el puerto.

Establecer Opciones Básicas con set LHOST

En este paso, aprenderá a configurar las opciones de un módulo utilizando el comando set. Este comando le permite asignar valores a los parámetros que vio con show options.

La sintaxis general es set <NOMBRE_DE_OPCION> <VALOR>.

Para el módulo multi/handler, la opción más importante a configurar es LHOST, que significa "Listen Host" (Host de Escucha). Esto especifica la dirección IP en la que el handler escuchará las conexiones entrantes de las payloads.

Vamos a establecer la opción LHOST a la dirección de loopback, 127.0.0.1, para que el handler escuche en la máquina local.

set LHOST 127.0.0.1

Metasploit confirmará el cambio:

LHOST => 127.0.0.1

Puede verificar que la opción se ha actualizado ejecutando show options nuevamente. Verá 127.0.0.1 listado como la Current Setting (Configuración Actual) para LHOST. Este simple comando set es la forma en que configurará todos los módulos antes de lanzar un ataque.

Para salir de la consola de Metasploit, puede escribir exit.

exit

Resumen

¡Felicidades por completar este laboratorio! Ha aprendido los pasos iniciales esenciales para trabajar con el Metasploit Framework.

Ahora sabe cómo:

  • Iniciar la consola de Metasploit (msfconsole).
  • Buscar módulos utilizando el comando search y filtrarlos por type (tipo) y platform (plataforma).
  • Seleccionar un módulo específico para su uso con el comando use.
  • Ver los parámetros configurables de un módulo con show options.
  • Configurar los parámetros de un módulo utilizando el comando set (por ejemplo, establecer LHOST para los listeners).

Estos comandos forman el flujo de trabajo central para cualquier tarea que realice en Metasploit. Dominarlos es la clave para utilizar eficazmente esta potente herramienta de pruebas de penetración.