Está en la página 1de 5

COMPONENTES DE METASPLOIT Y

CONFIGURACIÓN DEL ENTORNO


Para cualquier herramienta que usemos para realizar una tarea en particular, siempre es útil conocer
esa herramienta al revés. Una comprensión detallada de la herramienta nos permite usarla
adecuadamente, haciendo que funcione al máximo de su capacidad. Ahora que ha aprendido
algunos de los conceptos básicos absolutos del Metasploit Framework y su instalación, en este
capítulo, aprenderá cómo está estructurado el Metasploit Framework y cuáles son los diversos
componentes del ecosistema Metasploit. Los siguientes temas se tratarán en este capítulo:
• Anatomía y estructura de Metasploit
• Componentes de Metasploit: auxiliaries, exploits, encoders, payloads y post
• Comenzando con msfconsole y comandos comunes
• Configurar variables locales y globales
• Actualizando el framework

ANATOMÍA Y ESTRUCTURA DE METASPLOIT

La mejor manera de aprender la estructura de Metasploit es navegar a través de su directorio. Si


usas Xubuntu lo encontraras en /opt/metasploit-framework/embedded/framework/modules. Cuando
se utiliza un Kali Linux, el Metasploit Framework generalmente se encuentra en la ruta
/usr/share/metasploit-framework, como se muestra en la siguiente captura de pantalla:

En un nivel amplio, la estructura de Metasploit Framework es como se muestra en la siguiente


captura de pantalla:

El Metasploit Framework tiene una estructura muy clara y bien definida, y las herramientas /
utilidades dentro del marco están organizadas en función de su relevancia en varias fases del ciclo
de vida de las pruebas de penetración. Usaremos herramientas / utilidades de cada una de estas
categorías a medida que avancemos en el libro.
En la siguiente sección, tendremos una breve descripción de todos los componentes de Metasploit.

COMPONENTES DE METASPLOIT

Metasploit Framework tiene varias categorías de componentes en función de su papel en las fases
de prueba de penetración. Las siguientes secciones proporcionarán una comprensión detallada de la
responsabilidad de cada categoría de componentes.

Auxiliary

Hasta ahora ha aprendido que Metasploit es un framework completo de pruebas de penetración y no


solo una herramienta. Cuando lo llamamos framework, significa que consta de muchas herramientas
y utilidades útiles. Los módulos auxiliares en Metasploit Framework no son más que pequeños
fragmentos de código destinados a realizar una tarea específica (en el ámbito de nuestro ciclo de
vida de pruebas de penetración). Por ejemplo, es posible que deba realizar una tarea simple para
verificar si un certificado de un servidor en particular ha expirado o no, o puede que desee escanear
su sub-red y verificar si alguno de los servidores FTP permite el acceso anónimo. Dichas tareas se
pueden llevar a cabo muy fácilmente utilizando módulos auxiliares presentes en Metasploit
Framework.
Hay más de 1000 módulos auxiliares distribuidos en 18 categorías en Metasploit Framework.
La siguiente tabla muestra varias categorías de módulos auxiliares presentes en Metasploit
Framework:

No se abrume con la cantidad de módulos auxiliares presentes en Metasploit Framework. Es posible


que no necesite conocer cada módulo individualmente. Solo necesita buscar el módulo correcto en
el contexto requerido y usarlo en consecuencia. Ahora veremos cómo usar un módulo auxiliar.

Durante el curso de este libro, utilizaremos muchos módulos auxiliares diferentes cuando sea
necesario; sin embargo, comencemos con un ejemplo simple:

Exploits

Los exploits son la parte más importante del Metasploit Framework. Un exploit es la pieza de
código real que le dará el acceso requerido al sistema de destino. Hay más de 2500 exploits
distribuidos en más de 20 categorías basadas en la plataforma que admite exploit.
Ahora, podría estar pensando que de tantos exploits disponibles, cual es el que necesita ser
utilizado. La decisión de utilizar un exploit particular contra un objetivo solo se puede tomar
después de una enumeración exhaustiva y una evaluación de vulnerabilidad de nuestro objetivo.
(Consulte la sección del ciclo de vida de las pruebas de penetración del Capítulo 1, Introducción a
Metasploit y herramientas de soporte). La enumeración adecuada y una evaluación de
vulnerabilidad del objetivo nos darán la siguiente información en base a la cual podemos elegir el
exploit correcto:
• Sistema operativo del sistema de destino (incluida la versión y arquitectura exactas)
• Puertos abiertos en el sistema de destino (TCP y UDP)
• Servicios junto con versiones que se ejecutan en el sistema de destino
• Probabilidad de que un servicio en particular sea vulnerable

La siguiente tabla muestra las diversas categorías de exploits disponibles en Metasploit Framework:

aix bsdi hpux multi solaris


android dialup irix netware unix
apple_ios firefox linux osx windows
bsd freebsd mainframe qnx

En los próximos capítulos, veremos cómo usar un exploit contra un objetivo vulnerable.

Encoders

En cualquiera de los escenarios de pruebas de penetración del mundo real, es muy posible que
nuestro intento de atacar el sistema objetivo sea detectado / notado por algún tipo de software de
seguridad presente en el sistema objetivo. Esto puede poner en peligro todos nuestros esfuerzos para
obtener acceso al sistema remoto. Esto es exactamente cuando los codificadores vienen al rescate.
El trabajo de los codificadores es ofuscar nuestro exploit y payload de tal manera que pasen
desapercibidos en cualquiera de los sistemas de seguridad del sistema objetivo.

La siguiente tabla muestra las diversas categorías de encoders disponibles en Metasploit


Framework:

cmd mipsbe php ruby x64


generic mipsle ppc sparc x86

Examinaremos los codificadores con más detalle en los próximos capítulos.

Payloads

Para comprender lo que hace un payload, consideremos un ejemplo del mundo real. Una unidad
militar de cierto país desarrolla un nuevo misil que puede recorrer un rango de 500 km a muy alta
velocidad. Ahora, el cuerpo del misil en sí no sirve de nada a menos que esté lleno del tipo correcto
de munición. Ahora, la unidad militar decidió cargar material altamente explosivo dentro del misil
para que cuando el misil golpee el objetivo, el material explosivo dentro del misil explote y cause el
daño requerido al enemigo. Entonces, en este caso, el material altamente explosivo dentro del misil
es la payload. El payload se puede cambiar en función de la gravedad del daño que se causará
después de disparar el misil.
Del mismo modo, los payloads en Metasploit Framework nos permiten decidir qué acción se
realizará en el sistema de destino una vez que el exploit sea exitoso. Las siguientes son las diversas
categorías de payload disponibles en Metasploit Framework:

• Singles: a veces también se denominan payloads en línea o no preparadas. Los payloads en


esta categoría son una unidad completamente independiente del exploit y requieren
shellcode, lo que significa que tienen todo lo necesario para explotar la vulnerabilidad en el
objetivo. La desventaja de tales payloads es su tamaño. Dado que contienen el exploit
completo y el código shell, pueden ser bastante voluminosos a veces, haciéndolos inútiles en
ciertos escenarios con restricciones de tamaño.

• Stagers: hay ciertos escenarios en los que el tamaño del payload es muy importante. Un
payload con incluso un solo byte extra puede no funcionar bien en el sistema de destino. El
payload stagers es útil en tal situación. El payload stagers simplemente establece una
conexión entre el sistema atacante y el sistema objetivo. No tiene el shellcode necesario para
explotar la vulnerabilidad en el sistema de destino. Al ser de tamaño muy pequeño, encaja
bien en muchos escenarios.

• Stages: una vez que el payload del tipo de stager ha establecido una conexión entre el
sistema atacante y el sistema objetivo, los payloads "stages" se descargan en el sistema
objetivo. Contienen el código de shell requerido para explotar la vulnerabilidad en el sistema
de destino.

La siguiente captura de pantalla muestra un payload de muestra que se puede utilizar para obtener
un shell TCP inverso de un sistema Windows comprometido:

Aprenderá a usar varios payloads junto con exploits en los próximos capítulos.

Post

Los módulos post contienen varios scripts y utilidades que nos ayudan a infiltrarnos aún más en
nuestro sistema de destino después de una explotación exitosa. Una vez que explotamos con éxito
una vulnerabilidad y entramos en nuestro sistema de destino, los módulos posteriores a la
explotación pueden ayudarnos de las siguientes maneras:
• Escalar privilegios de usuario
• Volcado de credenciales del sistema operativo
• Robar cookies y contraseñas guardadas
• Obtenga registros de claves del sistema de destino
• Ejecute scripts de PowerShell
• Haga que nuestro acceso sea persistente

La siguiente tabla muestra las diversas categorías de módulos "post" disponibles en Metasploit
Framework:
aix apple_ios cisco hardware linux osx windows
android brocade firefox juniper multi solaris
Metasploit Framework tiene más de 250 utilidades y scripts posteriores a la explotación. Usaremos
algunos de ellos cuando discutamos más sobre técnicas de post-explotación en los próximos
capítulos.

JUGANDO CON MSFCONSOLE

Ahora que tenemos una comprensión básica de la estructura de Metasploit Framework,


comencemos con los conceptos básicos de msfconsole prácticamente.
Msfconsole no es más que una simple interfaz de línea de comandos de Metasploit Framework.
Aunque msfconsole puede parecer un poco complejo inicialmente, es la forma más fácil y flexible
de interactuar con Metasploit Framework. Usaremos msfconsole para interactuar con el marco
Metasploit a lo largo de este libro.

Veamos algunos de los comandos de msfconsole:


• El comando banner: el comando banner es un comando muy simple que se utiliza para
mostrar la información de banner de Metasploit Framework. Esta información generalmente
incluye los detalles de su versión y la cantidad de exploits, auxiliaries, payloads, encoders y
generadores de nops disponibles en la versión actualmente instalada.

También podría gustarte