En un artículo previo hablamos acerca de los Frameworks de Explotación o, en inglés, Hacking Frameworks. En el post de hoy revisaremos con mayor detalle uno de ellos: el Metasploit Framework.
Breve historia de Metasploit
De acuerdo con Wikipedia (2018), el autor inicial de Metasploit fue el reconocido experto en seguridad de redes y programador de código abierto, H.D. Moore. Moore creó el Metasploit Project en el año 2003 como un esfuerzo por poner al alcance del público una herramienta completa para efectuar tareas de pentesting de forma semi-automatizada, dado que hasta entonces – si bien existían herramientas individuales para realizar tareas específicas – los frameworks de explotación completos, eran todos comerciales.
No fue sino hasta 2009, que entró en la escena la empresa Rapid 7, la cual adquirió el proyecto con el compromiso de mantener la versión Framework como un proyecto de código abierto, tema que hasta el día de hoy se ha cumplido.
En ese lapso Rapid 7 desarrolló otras versiones a partir de Metasploit Framework como son las versiones Community, Express y Professional; anunciando en Junio de 2018 el fin de la versión Express en favor de la versión Professional.
Componentes de Metasploit
El Metasploit Framework, o MSF, está compuesto de módulos de diversos tipos que pueden guardar información en una base de datos Postgres. Dicha base se incluye con el MSF y la primera vez que se inicia el programa de setup, este crea la estructura de tablas requeridas. La interacción del usuario con el MSF se realiza a través de interfaces propias en línea de comandos como el msfconsole y msfcli. No obstante, las versiones Community, Professional y la extinta Express, se acceden a través de una interfaz web. Adicionalmente, existe una interfaz gráfica de código abierto que se integra con el MSF denominada Armitage. La empresa que desarrolla Armitage, Fast and easy hacking, provee también una versión pagada llamada Cobalt Strike que, entre otras cosas, automatiza ciertas tareas de pentesting. En la siguiente figura se observan los componentes de Metasploit.
Los módulos del MSF pueden ser de distintos tipos:
- Auxiliares
- Exploits
- Payloads
- Post
- Noop
Los módulos auxiliares se usan para realizar tareas puntuales como por ejemplo: escanear objetivos, detectar servicios, efectuar enumeración, realizar ataques de claves, etc. Los módulos de tipo exploit, por otro lado, tal y como su nombre sugiere, sirven para explotar vulnerabilidades en sistemas remotos. Una particularidad de los exploits es que requieren que se les asigne un payload (en español, carga).
Un payload es un tipo de módulo especial que contiene un código que realiza una tarea específica en una plataforma particular. Dicho payload es usualmente ejecutado en el host víctima como fase final de un exploit, luego de que la vulnerabilidad ha sido explotada. Un payload puede hacer cosas como abrir un shell, agregar un usuario, capturar claves, etc.
Un módulo de tipo post sirve para realizar tareas de post-explotación; es decir, una vez que ya hemos logrado explotar una vulnerabilidad y tenemos una sesión abierta en el sistema víctima. Algunos ejemplos de tareas que podrían efectuarse con un módulo post: listar directorios, subir/bajar archivos, colocar un backdoor, extraer hashes, etc.
Los módulos noop, también llamados módulos de no-operación, son un concepto avanzado que no pretendo explicar con detalle ahora, pero de forma breve se usan para mantener consistente el tamaño de un payload.
Finalmente, los módulos de evasión fueron introducidos con la versión 5 del MSF con el objetivo de que los usuarios puedan generar payloads que pudiesen evadir sistemas como antivirus, sin la necesidad de usar herramientas externas. Inicialmente eran solamente dos módulos de evasión cuyo objetivo era evadir el Windows Defender, pero luego han ido apareciendo poco a poco más módulos de evasión. Empero, es importante tomar en cuenta que el juego del hacking es de ida y vuelta, apenas los fabricantes descubren que existe una herramienta o procedimiento que puede explotar una vulnerabilidad en sus productos, desarrollan el parche o actualización que soluciona la falla y luego los investigadores de seguridad desvelan una nueva vulnerabilidad y crean un exploit y ¡el juego sigue!
Para que aprendas a usar el MSF y sus módulos más importantes, te dejo dos videos de nuestro canal de YouTube en donde explico cómo usar el msfconsole paso a paso:
- Aprende a usar el Metasploit Framework - 2019-12-09
- ¿Cuál es la mejor Plataforma de Hacking? - 2019-12-09
- ¡Arma tu propio laboratorio de Hacking! - 2019-12-09