Comprender los módulos de explotación

CiberseguridadBeginner
Practicar Ahora

Introducción

¡Bienvenido al laboratorio de Comprensión de Módulos de Explotación!

En las pruebas de penetración, convertir una vulnerabilidad en un arma (weaponization) significa utilizar un módulo de explotación para entregar un payload a un sistema objetivo. Metasploit Framework es una de las herramientas más populares para este propósito, ya que proporciona una base de datos masiva y fácil de buscar de módulos de explotación para diversas vulnerabilidades conocidas.

Sin embargo, el trabajo de explotación profesional no consiste en "buscar y disparar". Es un proceso metódico que implica seleccionar el módulo correcto, comprender sus supuestos, configurarlo cuidadosamente y verificar el objetivo antes de arriesgarse a realizar acciones disruptivas.

En este laboratorio, aprenderá la metodología estándar para utilizar estos módulos. Practicará la búsqueda de un exploit del mundo real, el análisis de los requisitos del módulo, la configuración de las opciones del objetivo y la verificación segura de un servicio vulnerable antes de lanzar un ataque real.

Buscar exploits específicos (CVE/Nombre)

En este paso, aprenderá a iniciar la consola de Metasploit Framework y a buscar módulos de explotación específicos.

Metasploit contiene miles de módulos. Para encontrar el correcto, puede utilizar el comando search. Puede buscar por el nombre del software, el tipo de vulnerabilidad o identificadores específicos como un número CVE. Para este laboratorio, trabajaremos con un objetivo real de Shellshock expuesto en 127.0.0.1:8080.

Primero, inicie la consola de Metasploit. El flag -q se utiliza para iniciarla en modo "silencioso" (quiet), lo que omite el banner de inicio.

msfconsole -q

Una vez que la consola se cargue, su prompt cambiará a msf6 >. Ahora, utilice el comando search para encontrar módulos relacionados con Shellshock.

Buscar por familia de vulnerabilidad o CVE suele ser el puente más rápido desde la fase de reconocimiento hasta la lógica de explotación candidata.

search shellshock

Verá una tabla de resultados que enumera los módulos coincidentes. Preste atención a la columna Name, que muestra la ruta del módulo. Para este laboratorio, el módulo de explotación que nos interesa es exploit/multi/http/apache_mod_cgi_bash_env_exec. La columna Disclosure Date indica cuándo se hizo pública la vulnerabilidad. La columna Rank describe qué tan confiable es el exploit (por ejemplo, Excellent, Good o Normal). Finalmente, la columna Check especifica si el módulo admite una verificación de vulnerabilidad más segura.

Analizar la información del módulo (info)

En este paso, seleccionará el módulo de explotación que encontró y analizará sus detalles.

Para indicarle a Metasploit con qué módulo desea trabajar, utilice el comando use seguido del nombre del módulo (la ruta que se muestra en los resultados de búsqueda).

Escriba el siguiente comando en su prompt msf6 >:

use exploit/multi/http/apache_mod_cgi_bash_env_exec

Observe que su prompt cambia para incluir el nombre del módulo, lo que indica que ahora está activo. Antes de configurar nada, es una buena práctica comprender qué hace el módulo. Puede hacerlo utilizando el comando info.

info

El comando info proporciona una gran cantidad de información. Esto incluye detalles sobre quién proporcionó el módulo, como los autores e investigadores que lo desarrollaron. También enumera las opciones básicas, que son los parámetros que debe configurar en el siguiente paso. Además, ofrece una descripción detallada de cómo funciona la vulnerabilidad y cómo el exploit se aprovecha de ella. Finalmente, proporciona referencias, que son enlaces a bases de datos externas (como la National Vulnerability Database) para lectura adicional.

Leer esta información es parte de la disciplina del operador. Un módulo puede requerir una ruta, un comportamiento de protocolo o un entorno muy específicos. Si omite ese contexto, básicamente estará adivinando.

Tómese un momento para leer la descripción y comprender la mecánica de la vulnerabilidad Shellshock y cómo este módulo abusa de las variables de entorno CGI.

Configurar los objetivos y opciones del exploit

En este paso, configurará las opciones necesarias para apuntar el módulo de explotación hacia su objetivo específico.

Cada módulo requiere que se establezcan ciertos parámetros. Para ver la configuración actual, utilice el comando show options:

show options

Observe la columna Required. Si una opción dice yes, debe configurarse antes de que el módulo pueda ejecutarse. Las opciones más comunes que necesita establecer son RHOSTS, que especifica el Host Remoto (la dirección IP de su objetivo), y RPORT, que especifica el Puerto Remoto (el puerto en el que se ejecuta el servicio vulnerable). Para los módulos de explotación web, a menudo también necesita TARGETURI, que le indica a Metasploit qué ruta HTTP debe recibir la solicitud maliciosa.

Nuestro objetivo vulnerable se ejecuta localmente en el puerto 8080, y la ruta CGI vulnerable es /cgi-bin/vulnerable. Utilice el comando set para configurar estos parámetros:

set RHOSTS 127.0.0.1
set RPORT 8080
set TARGETURI /cgi-bin/vulnerable

Después de establecer los valores, siempre es una buena idea verificar que sus cambios se hayan aplicado correctamente. Ejecute el comando de opciones nuevamente:

show options

Ahora debería ver 127.0.0.1 en la configuración actual (Current Setting) para RHOSTS, 8080 para RPORT y /cgi-bin/vulnerable para TARGETURI.

Verificar el estado de la vulnerabilidad (check)

En este paso, verificará si el objetivo es realmente vulnerable antes de lanzar un ataque.

El flujo de trabajo check existe porque la seguridad y la confiabilidad son importantes. Confirmar la exposición primero reduce el ruido innecesario, los intentos fallidos y la inestabilidad del servicio.

En las pruebas de penetración profesionales, disparar exploits a ciegas puede bloquear servicios o activar alertas de seguridad. Afortunadamente, muchos módulos de Metasploit (incluido el que estamos usando) admiten el comando check.

El comando check envía una sonda al objetivo para determinar si existe la vulnerabilidad, sin lanzar inmediatamente un payload de explotación completo.

Ejecute el siguiente comando en su prompt de Metasploit:

check

En este laboratorio, el objetivo de Shellshock es intencionalmente vulnerable, por lo que debería ver una salida similar a esta:

[+] 127.0.0.1:8080 - The target is vulnerable.

Esto confirma que el objetivo es susceptible al módulo. Ahora ha completado el flujo de trabajo principal del módulo de explotación: buscar el módulo correcto, leer su documentación, configurar las opciones requeridas y validar el objetivo antes de la explotación.

Si desea una confirmación manual adicional fuera de Metasploit, puede probar el servicio desde otra terminal con curl http://127.0.0.1:8080 y verificar que la ruta CGI existe en http://127.0.0.1:8080/cgi-bin/vulnerable.

Dado que hemos completado nuestro objetivo de comprender la metodología del módulo, ahora puede salir de la consola de Metasploit:

exit

Resumen

¡Felicidades! Ha completado con éxito el laboratorio de Comprensión de Módulos de Explotación.

En este laboratorio, aprendió la metodología fundamental para convertir vulnerabilidades en armas utilizando Metasploit Framework. Practicó la búsqueda de un exploit real de Shellshock, el análisis de las descripciones y requisitos de los módulos, la configuración de opciones de destino remoto como RHOSTS, RPORT y TARGETURI, y la utilización de la funcionalidad check integrada para verificar de forma segura un objetivo vulnerable. Estos pasos forman el flujo de trabajo central para cualquier profesional de pruebas de penetración que trabaje con módulos de explotación.