Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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:
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.
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:
• 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.