lunes, 4 de febrero de 2013

MSF: Actualizar módulos a mano

Cuando hace unos días publiqué un post sobe metasploit, me preguntaron: ¿Cómo puedo actualizar los módulos de metasploit bajándome las cosas desde exploit-db.com? Y respondí de una manera un tanto rápida. 

Recordando que soy un tanto novato en el tema, tendremos en cuenta que contaré las dos formas que conozco de actualizar el framework

También recuerdo el típico disclaimer de siempre: yo no me hago responsable de cómo se utilicen estos conocimientos, datos, todo lo aquí descrito, etc...

La primera de todas sería teniendo un control total sobre lo que se hace. En este caso, toca visitar la página donde se encuentran los exploits (en nuestro caso, la de exploit-db) y bajarse aquel que deseemos actualizar o utilizar. 

exploit-db.com
exploit-db.com
Aquí vemos la página inicial de la página con los exploits descargables. Estos deberían de estar escritos en ruby (extensión .rb). La verdad, no se desarrollar en este lenguaje. 

Según he podido deducir, tenemos las siguientes partes:
  • La fecha en la que se creó la entrada
  • La columna D: el enlace directo para descargar el exploit.
  • La columna A: si existe, la descarga del software vulnerable al cual se le podrá aplicar el exploit.
  • La columna V: de validado. No sé el criterio que se utiliza para ponerlo en este estado. Si alguien lo sabe, por favor, que lo indique en el comentario.
  • La columna de descripción:  Nos lleva a otro sitio donde podremos ver algunos datos adicionales del exploit y su código fuente. También se podrá descargar desde ahí:
Descripción del exploit
Descripción del exploit
  • La siguiente... ¿Número de descargas?
  • La columna Plat. entiendo que es la plataforma. 
  • Y, por último, la de Auth... como su nombre indica, la del autor. En este caso, si pone metasploit, ya sabemos que debería de funcionar sin problemas. Si es otro usuario... Pues podría funcionar o, posiblemente tocaría editar el código fuente (por eso lo de saber o no ruby es importante) para hacerlo funcionar en nuestro entorno. 
Por lo tanto, una vez puestos en situación. Vamos a ir a:

# cd /pentest/exploits/framework
# msfconsole

Una vez abierto, podremos utilizar los exploits con el siguiente comando:

msf> use exploit/ruta_al_exploit_deseado/exploit

Si quisiéramos utilizar el exploit 24308.rb (uno de java) que hemos descargado en /pentest/exploits/framework/modules/exploits/ 


exploit 24308.rb en /pentest/exploits/framework/modules/exploits/
exploit 24308.rb en /pentest/exploits/framework/modules/exploits/ 
y lo hemos puesto ahí después de haber arrancado el msfconsole, veremos que no aparece (no se carga al presionar la tecla tab del ordenador). Si, una vez descargado, la abrimos (o la cerramos y la volvemos a abrir), veremos que sí se puede utilizar, tal y como hemos visto en el último comando mostrado. 

use exploit/24308
use exploit/24308
¿Ya está? Para lo que se quería mostrar, sí. Ya hemos actualizado con un módulo específico. ¿Y tengo que bajarme uno a uno todos los módulos para tenerlo bien actualizado? Yo diría que no. He visto que hay un enlace en la página principal que permite descargarte un archivo que, según he podido entender, tienen todos los exploits que han ido almacenando. Están separados en plataforma: windows, win32, win64, linux, arm... Y después, dentro de cada una de ellas, según sea local, remota... Aún me queda mucho por aprender para poder explicar qué se puede hacer con cada una de ellas. Y, recordando que no todos estos módulos están en ruby, por lo que no se tienen por qué poder utilizar desde este framework.

¿Cuál es la otra opción para actualizarlo? La otra opción sería ejecutar

# msfupdate

Este comando se encargará de añadir todos los módulos nuevos de los que disponga el framework... Y de eliminar aquellos que consideren que no se van a seguir utilizando, por mucho que nos guste darle caña a ese en concreto. Es decir, se pierde el control sobre lo que añaden y lo que quitan. 

Pues estas son las formas con las que podemos actualizar nuestro sistema de metasploit. En algún que otro post ya contaré cómo, teniendo en cuenta mis conocimientos, puedo realizar un ataque entre distintas máquinas virtuales. 

No hay comentarios:

Publicar un comentario