miércoles, 18 de noviembre de 2015

Introducción a Metasploit (I de III)

Metasploit, respaldado por una comunidad con más de 200.000 usuarios y colaboradores, es un proyecto open source de seguridad informática (desarrollado en Ruby) que nació principalmente  con el objetivo ayudar en el desarrollo de exploits, pero que con el tiempo se ha acabado convirtiendo en una de las herramientas más utilizadas a la hora de realizar un test de intrusión.


La arquitectura de Metasploit a ido evolucionando continuamente desde la aparición de la herramienta. Sin embargo en esta serie de artículos nos centraremos en los módulos, los cuales os paso a describir a continuación :

Modulo payloads: Nos proporciona gran cantidad de "códigos" que  se podrán ejecutar una vez haya tenido éxito el exploit.  

Modulo exploits: Aquí es donde se encuentran todos los exploits disponibles en el framework. 

Modulo encoders: Proporciona algoritmos para codificar y ofuscar los payloads que utilizaremos tras haber tenido éxito con el exploit.  

Modulo nops: Nos permite realizar u obtener operaciones nop.

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

En la siguiente imagen podéis apreciar como está compuesta la arquitectura del framework:


En la guia del desarrollador tenemos una explicación más detallada sobre como está compuesto.

Bueno creo que no es necesario explicar la instalación de la herramienta ya que podéis utilizarla directamente desde una máquina virtual que tenga instalada una distribución con Kali Linux 2.0. Si no podéis descargar la versión community desde su página oficial.

Antes de empezar a explicar su funcionamiento aremos énfasis en algunos puntos clave.
En principio para lanzar la herramienta podemos abrir una terminal y escribir : 

msfconsole

Si estáis utilizando la herramienta en la versión de Kali Linux 2.0 podemos abrir la herramienta directamente desde el icono que aparece en el escritorio. Si no, tendréis que iniciar antes algunos servicios para que la herramienta funcione correctamente. Abrimos una terminal y escribimos:

service postgresql start

service metasploit start

y por último ejecutamos:

msfconsole

También podemos teclear msfupdate para actualizar el framework.

Una vez dicho todo esto empecemos con el primer ejemplo. Primero abrimos una terminal y escribimos msfconsole:


Al escribir "help" nos aparecerá una lista con todos los comandos que podemos utilizar:


Ahora escribimos show exploits para que nos muestre todos los exploits incluidos en la herramienta:


Para seleccionar un exploit en concreto, escribimos use exploit + el exploit que queremos usar:


Una vez seleccionado el exploit que queremos utilizar, escribimos "show options" para que nos muestre las opciones del exploit:


Aquí veremos las opciones que podemos modificar del exploit. En la sección "required" podemos comprobar si las opciones son requeridas para el correcto funcionamiento del exploit. Por ejemplo, vamos a cambiar la primera opción, "SRVHOST" en el que tendremos que añadir la dirección de la máquina que vamos a comprometer, escribimos:

set SRVHOST 192.168.1.1 

Y volvemos a escribir "show options" para comprobar que se ha cambiado el parámetro correctamente:


Después de haber configurado correctamente el exploit, deberíamos elegir el "payload" que se ejecutará si el exploit tiene éxito:

show payloads


Volvemos a escribir "use payload/ + el payload que vamos a utilizar" 


Luego volvemos a escribir "show options", esta vez para mostrar las opciones del payload. Y como habéis podido deducir para cambiar la configuración de payload, simplemente escribimos "set + el parámetro que vamos a cambiar". Y ya por último para lanzar el exploit y obtener el control de la máquina que estamos atacando usaríamos el comando "run", o también podemos escribir simplemente "exploit":



Como se puede ver en esta ocasión el exploit a fallado al ser ejecutado, ya que simplemente es un ejemplo y no estamos atacando ninguna máquina real. Sin embargo en los siguientes artículos vamos a utilizar Metasploitable para poder atacar una máquina real en un entorno controlado, y de esta manera aprender un poco más sobre esta gran herramienta y todos los recurso que ella nos ofrece. Hasta la próxima !

No hay comentarios:

Publicar un comentario