jueves, agosto 18, 2016

Libenom: Gestiona tus payloads de Msfvenom en Metasploit cómodamente #Metasploit #pentesting #Python

Msfvenom es el actual generador de payloads para Metasploit Framework, ocupando el lugar de sus prestigiosos antecesores msfpayload y msfencode a partir del 8 de Junio del año pasado. En ocasiones necesitamos crear varios de estos o almacenar sus parámetros, de modo que, si se trata de una gran cantidad de encoders, arquitecturas, plataformas y más opciones, puede hacer de nuestro entorno de trabajo un fárrago por momentos.

Figura 1: Libenom: Gestiona tus payloads de Msfvenom en Metasploit cómodamente

Con el fin de que esto no suceda, he creado Libenom con la esperanza de que os sea de utilidad. La herramienta está programada en Python, que es un lenguaje muy común entre los que se dedican al pentesting. Vamos a ello, “manos a la obra”, así que lo primero es descargar la herramienta desde su repositorio de GitHub.

Figura 2: Libenom en Github

El funcionamiento de esta es claro, pero antes de ejecutarla como root le daremos permisos al archivo “chmod +x libenom.py”. Entre las diferentes opciones que nos devuelve, crearemos un perfil “maligno” con la opción --create, además como observamos, nos hará un chequeo del sistema para comprobar cualquier componente esencial que se encuentre ausente.

Figura 3: Comandos de libenom

Las distribuciones de GNU/Linux que se recomiendan son: Kali Linux 2.0 sana, 2016.1 rolling, Parrot OS, Blackarch, Dracos o Lionsec. En caso de que estemos usando algún otro derivado, tales como Debian / Ubuntu / Mint , nos instalará el componente estrella automáticamente.

Figura 4: Ejecución del comando ./libenom.py -c maligno

Esto nos ahorra tener que insertar o memorizar el comando frecuentemente usado, ahorrándonos tiempo y esfuerzo durante el proceso de pentesting. Si nos hemos equivocado en algún paso podremos retroceder con la opción --delete, incluso pudiéndolo hacer de forma recursiva con una simple “,” entre los nombres que se le asignen desde la línea de comandos.

Lo siguiente que nos depara la tool es, lanzar el msfvenom con los valores del nombre que creamos anteriormente, pudiendo hacer un --read para comprobar que el contenido de éste, el cual queremos ejecutar mediante el comando --execute, es el correcto.

Figura 5: Ejecución del comando ./libenom.py -r maligno

En caso de que queramos ahorrarnos parte del proceso tenemos la opción --crex, luego nos permite crear y ejecutar con un sola orden los criterios asignado por el usuario. Llegados hasta este punto, podremos comprobar si los procedimientos son correctos, abriendo nuestro archivo “profiles.csv” y comprobando que ha almacenado todos los datos. Si no hemos elegido un path específico para nuestro fichero, este se guardará en el directorio “outfiles”.

Figura 6: Ejecución del comando ./libenom.py -x maligno

En muchos de los procesos de explotación con Metasploit, es necesario crear la escucha para tenderle la mano a nuestro equipo víctima. Ya que mayoritariamente “reverse_tcp” es el tipo de conexión que más es usada, la herramienta nos ofrece algunos listeners pre-creados para las plataformas más comunes. En caso de que queramos escuchar las conexiones procedentes de nuestro perfil creado anteriormente, usaremos el módulo --listener más la plataforma solicitada, indicando los parámetros de conexión requeridos.

Figura 7: Listeners pre-creados en libenom.py. 

Si por alguna razón necesitamos editar su configuración, podremos crear uno nuevo, auto reemplazando el actual para esa plataforma o modificando el “.txt” generado para cada plataforma en el directorio del proyecto llamado “temp”. Al igual sucede si queremos editar algún alias sin tener que reemplazarlo editando desde “master” el fichero CSV.

Figura 8: Ejecución del comando ./libenom.py -l windows

En este proyecto se pretende crear una comunidad de usuarios dispuestos a compartir desde los datos que contienen sus perfiles hasta nuevas implementaciones al código de la aplicación. Para obtener más información podemos hacerlo mediante --upload.

Figura 9: Ejecución del comando ./libenom.py --upload

Como he mostrado esta utilidad nos hace la vida un poco más fácil, ya que tendremos guardados dentro del proyecto todas las referencias con sus correspondientes payloads listos para ser vueltos a ejecutar en cualquier momento. Esto es todo, espero que os haya gustado y os sea de utilidad. Hasta la próxima.

Saludos!

Autor: Alex Serra

2 comentarios:

  1. Gracias man me resultará de gran utilidad!!

    ResponderEliminar
  2. No seas malo pasame el de región 6 es Aguascalientes telcel soy nuevo y no se nada porfa

    ResponderEliminar