Blog

Veil-Framework – Creación y ocultación de un payload malicioso – Parte I

Buenas a todos! En el post de hoy vamos a hablar sobre el framework Veil, que para todos aquellos que no lo conozcan nos permite (Entre otras cosas) crear payloads o programas enfocados a la realización de intrusiones, como puede ser la creación un ejecutable de Meterpreter sin firmas detectadas por los antivirus.

Actualmente el framework Veil posee los siguientes módulos:

– “Veil-Evasion”: Modulo que permite la creación de payloads no detectados por los antivirus.

– “Veil-Catapult”: Generador de payload integrado con Veil-Evasion

– “Veil-PowerView”: Herramienta para conseguir acceso a sistemas Windows a través de PowerShell.

De forma resumida y en lo que nos vamos a centrar aquí será la generación de payload que nos permitan acceso a un sistema y además no sean detectados por los antivirus, es decir, nos vamos a centrar en Veil-Evasion. Si queréis más información acerca del framework Veil aquí os dejo un enlace a su web.

Una vez hemos visto una explicación básica sobre Veil vamos a ver como instalarlo y usarlo.

Lo primero que debemos hacer es acceder a la página oficial de Web e irnos a la parte de Veil-Evasion como se muestra a continuación:

veil-01

 

Una vez ahí debemos dirigirnos al primero de los enlaces que aparece a GitHub y descargarnos en un Zip el proyecto.

veil-02

 

Cuando lo tenemos descargado lo descomprimimos.

unzip Veil-Evasion-master.zip

 

Accedemos a la carpeta del framework y lo instalamos de la siguiente manera:

cd Veil-Evasion-master/
./Veil-Evasion.py
cd setup/
sh setup.sh

 

Una vez hecho esto ya tenemos Veil-Evasion listo para ser ejecutado de forma correcta en nuestro sistema. Ahora para ejecutarlo únicamente debemos de irnos al directorio “Veil-Evasion-master” creado anteriormente y lanzar el siguiente comando:

python Veil-Evasion.py

 

Al hacerlo veremos que nos aparece una pantalla como la siguiente:

veil-03

 

Bien, eso significa que hemos seguido todos los pasos bien y vamos a poder generar ahora nuestros payload ‘indetectables’. Si veis las opciones y la forma de manejo del programa es muy similar a Metasploit. Veil-Evasion tiene una serie de comandos que son:

– “use”: Para seleccionar el payload en cuestión que queremos generar de forma indetectable.

– “info”: Para mostrar información específica sobre el payload.

– “list”: Para listar los payload que puede generar Veil.

– “update”: Para actualizar Veil a la última versión.

– “clean”: Para borrar todos los ficheros contenidos en la carpeta de payload.

– “checkvt”: Para comprobar los hashes de los payloads de Veil con los hashes de VirusTotal.

 

En nuestro caso vamos a ver como podríamos generar un payload indetectable de Meterpreter. Lo primero que tenemos que hacer es escoger el payload en cuestión.

use python/shellcode_inject/aes_encrypt

veil-04

 

Generamos el payload:

generate

 

Seleccionamos msfvenom para la generación de la shellcode y definimos cual queremos que sea el payload de metasploit que vamos a hacer indetectable. En este caso yo voy a seleccionar “windows/meterpreter/bind_tcp” para que una vez la victima ejecute el fichero, podamos conectarnos directamente a ella en un puerto que también debemos definir aquí.

veil-05

 

Una vez hecho esto, se nos pide que definamos un nombre para el programa ejecutable que se va a generar y como deseamos crear el ejecutable. En nuestro caso vamos a seleccionar la opción 1, pero la segunda tendría aún menos detecciones por parte de los antivirus.

veil-06

 

Y ya tenemos nuestro payload malicioso e indetectable creado con las opciones que se muestran a continuación.

veil-07

 

Como veis, el propio programa nos indica que no subamos las muestras a cualquier escáner online, pero en este caso vamos a hacer una excepción para mostraros que funciona de forma correcta todo.

veil-08

 

En la anterior imagen vemos como nuestro payload no ha sido detectado por 6 de los 54 antivirus de virus total, lo cual está bastante bien, teniendo en cuenta que los antivirus que lo han detectado no son muy conocidos. A modo de prueba os dejo aquí el resultado que se obtiene si utilizamos como instalador “pwinstaller” (Ofusca la parte de instalación) en vez de “pyinstaller” (Que no la ofusca) que es el que hemos seleccionado para la realización de estas pruebas.

veil-09

 

Como veis en este caso es aún más detectado, por lo que es mejor utilizar el primero e intentar subir las menores muestras a escáneres online.

Hasta aquí llega el post de hoy, donde hemos visto como podríamos ser capaces de generar un paylaod como Meterpreter que no sea prácticamente detectado por lo antivirus. En el siguiente post veremos como podríamos unir este payload a un ejecutable normal, y engañar de esta forma al usuario para que al ejecutarlo no vea nada raro y piense que realmente lo único que se está ejecutando sea el programa.

Espero que os haya gustado!

Un saludo,

Eduardo – eduardo@highsec.es – @_Hykeos

  1. rox
    rox09-10-2014

    Hola amigo, excelente blog! Tengo una duda cuando ejecuto el comando python Veil-Evasion.py me parece un error, lo ultimo que dices es “ImportError: No module named file”

    Es raro porque si me carga, pero como que luego me salta el error.

Leave a Reply

*

    No Twitter Messages