Conociendo Metasploit – Parte I – Exploit Basico

-
Elpaisa13

metasploit_Logo[1]

En este primer post de la serie “Conociendo Metasploit” vamos a ver un poco que es y cómo está formado Metasploit además pondremos un sencillo ejemplo de cómo podemos lanzar un exploit contra una maquina vulnerable para conseguir acceso a ella.

Para empezar os voy a dejar con la definición que da la Wikipedia sobre Metasploit: “Metasploit Es un proyecto open source de seguridad informática que proporciona información acerca de vulnerabilidades de seguridad y ayuda en tests de penetración y en el desarrollo de firmas para Sistemas de Detección de Intrusos.

Su subproyecto más conocido es el Metasploit Framework, una herramienta para desarrollar y ejecutar exploits contra una máquina remota. Otros subproyectos importantes son la bases de datos de opcodes (códigos de operación), un archivo de shellcodes, e investigación sobre seguridad. Inicialmente fue creado utilizando el lenguaje de programación de scripting Perl, aunque actualmente el Metasploit Framework ha sido escrito de nuevo completamente en el lenguaje Ruby.”

Además de lo que nos cuenta la wikipedia debemos saber que existen una serie de herramientas que trae Metasploit que aunque ahora únicamente las voy a nombrar, mas adelante veremos una gran cantidad de pruebas practicas de cómo utilizarlas y para qué. Las herramientas son: msfpayload, msfencode, msfvenom, msfpescan, msfelfscan, msfrop, msfd.

Por otro lado os voy a mostrar la arquitectura de metasploit con las diferentes interfaces a través de las cuales se puede manejar y los módulos que posee el framework y que serán explicados a continuación…

MSF-Architecture[1]

Vamos a explicar muy brevemente que son estos módulos, además del modulo post.

- Modulo auxiliary: Permite la interacción de herramientas externas como pueden ser escaners de vulnerabilidades, sniffers, etc… con el framework de Metasploit.

- Modulo encoders: Proporciona algoritmos para codificar y ofuscar los payloads que utilizaremos tras haber tenido exito el exploit.

- Modulo exploits: Aquí es donde se encuentran todos los exploits disponibles en el framework para conseguir acceso a los diferentes SOs.

- Modulo payloads: Nos proporciona gran cantidad de códigos “maliciosos” que podremos ejecutar una vez haya tenido éxito el exploit.

- Modulo post: Nos proporciona funcionalidades para la fase de post explotación.

- Modulo nops: Nos permite realizar u obtener operaciones nop.

Una vez hemos visto las diferentes herramientas, la arquitectura y los módulos de metasploit vamos a pasar a ver el caso práctico. Toda la información a sido enormemente reducida para evitar que el post fuera muy largo, así que si queréis mas información acceder a la web oficial de Metasploit, pues el fin de estos post es que veáis de una forma práctica todo lo que es posible hacer con Metasploit.

Una vez llegados a este punto vamos a ver un caso práctico de cómo podríamos conseguir acceso a un PC utilizando Metasploit. En mi caso tengo Backtrack como atacante y una VM con un Windows XP como víctima. La configuración de red de ambos es la siguiente…

msf_1-1024x536

Para saber si la maquina en cuestión es vulnerable he utilizado Nessus (En breve sacaremos otra pequeña serie sobre este programa para que aprendáis a manejarlo ya que es un potente escaner de vulnerabilidades), y como se puede ver a continuación me dice que la VM con XP es vulnerable…

msf_2-1024x534

Como se ve en la foto el XP es vulnerable, y la vulnerabilidad es MS08-67 (Una vulnerabilidad muy común aunque antigua). Por lo tanto nos vamos a nuestro Metasploit escribiendo msfconsole en una consola y nos aparece la pantalla de inicio del framework, una vez ahí buscamos por esa vulnerabilidad y nos dice cual es el exploit que debemos utilizar así que lo seleccionamos…

msf_3-1024x493

Una vez hecho esto vemos las opciones del exploit, y en este caso necesitamos definir RHOST que es el host al que lanzaremos el exploit…

msf_4[1]

Tras hacer esto mostramos cuales son los posibles payloads que podemos utilizar con dicho exploit, que como vemos son muchos. Uno muy común es meterpreter (Ya veremos más adelante porque), así que lo seleccionamos en su versión de TCP reverso, vemos cuales son las opciones y definimos cual es LHOST, que somos nosotros, es decir la dirección a la que se conectara el equipo victima una vez haya tenido éxito el exploit para que podamos controlarlo de forma remota…

msf_5-1024x536

msf_6[1]

Por último como ya tenemos todos los parámetros necesarios definidos lanzamos el exploit, que tras tener éxito nos devuelve una shell del meterpreter…

msf_7-1024x706

Ahora ya tenemos acceso completo al equipo comprometido, pudiendo hacer una infinidad de cosas como elevar privilegios, esnifarel trafico, utilizar el equipo para hacer pivoting, y un inmenso etc. Pero una de las primeras cosas que debemos hacer es migrar nuestro proceso para evitar que se cierre la conexión, para ello nos adjuntamos al proceso de explorer que es el encargado de pintar la barra de Windows, y que a menos que se apague el ordenador siempre está ahí, por lo que tendremos acceso al PC siempre que se mantenga encendido… Aunque por supuesto más adelante veremos otras formas de dejar nuestro “regalito” de forma persistente…

msf_9-1024x675

Una vez migrado el proceso como hemos dicho podemos hacer lo que queramos con el equipo, yo en este caso como podemos ver a continuación he sacado la configuración de red, he hecho un dump de la SAM, lo cual nos da los diferentes usuarios y sus contraseñas cifradas mediante NTLM y LM (Con programas como ophcrack es posible descifrarlo en menos de 5 mins sea cual sea) y por ultimo he hecho una captura de pantalla de como se encontraba la maquina en ese preciso instante como vemos a continuación…

msf_10[1]

msf_11-1024x542

Pues bien este ha sido el pequeño ejemplo de hoy, pero de ahora en adelante iré mostrando muchas formas de explotar vulnerabilidades, usar los diferentes módulos y herramientas de Metasploit, y todo cuanto pueda para que veáis el potencial de esta imprescindible herramienta. Sé que no he explicado muy a fondo Metasploit, pero para eso está Internet ya que si no sería interminable este post.

Espero que os haya gustado!

Un saludo, a

Eduardo – eduardo@highsec.es – @_Hykeos

por este excelente aporte a la comunidad, y por ende me veo en obligaion de compartir su gran trabajo en mi blog.. un saludo a mi hermano desde aqui en Colombia Elpaisa13