Herramientas para evadir el antivirus sin necesidad de ser un mago

Hoy leía una entrada de Jordan Potti en el que hacía mención a algunas de las herramientas más conocidas para conseguir que nuestros payloads evadan la detección de los antivirus, concretamente Hyperion, Veil-Evasion y Shellter. Cada una de ellas fueron tratadas también en mayor o menor medida en nuestro blog, así no quería dejar pasar la oportunidad de recogerlas en esta entrada junto con otras que hemos ido viendo a lo largo de los años y que, todavía, siguen siendo efectivas contra la mayoría de los motores AV. 
Al fin y al cabo estas herramientas y técnicas consiguen precisamente eso, que se pueda saltar el antivirus sin ser un auténtico "mago" del malware...

WinPayloads: de NCCGroup es una herramienta de generación de payloads escrita en Python 2.7 que utiliza el shellcode de meterpreter, inyecta la IP y el puerto del usuario en el shellcode y escribe un archivo de Python que ejecuta dicho shellcode usando ctypes. Posteriormente es cifrado con AES y compilado a un ejecutable de Windows usando PyInstaller.
  

Más en: http://www.hackplayers.com/2016/09/winpayloads-generacion-de-payloads-indetectables.html

Shellter: es una herramienta de inyección dinámica de shellcodes o PE infector. Por lo tanto puede usarse para inyectar shellcodes, tanto propios como los generados con Metasploit, en las aplicaciones nativas de Windows (repetimos: de momento sólo aplicaciones de 32 bits).

Shellter aprovecha la estructura original del archivo PE y no aplica modificaciones fácilmente detectables por los AV, tales como cambiar el permiso de acceso a la memoria en las secciones (a menos que el usuario lo especifique) o la adición de una sección con acceso de RWE. Tampoco es el típico infector que trata de encontrar un lugar para insertar instrucciones para redirigir la ejecución del payload. A diferencia de muchos, el motor de infección avanzado de Shellter nunca transfiere el flujo de ejecución a un code cave o añade una sección en el archivo PE infectado. Entonces, ¿cuál es la magia de Shellter?


Shellter utiliza un enfoque dinámico único que se basa en el flujo de ejecución de la aplicación objetivo. Esto significa que no se utilizan ubicaciones predefinidas o estáticas para la inyección de código shell. Shellter ejecutará y trazará el objetivo, mientras que al mismo tiempo registrará el flujo de ejecución de la aplicación en espacio de usuario. Esto incluye el código dentro de la aplicación en sí misma (imagen PE), y el código fuera de ella que podría ser en un archivo DLL del sistema o sobre un heap, etc ... Esto se hace para asegurar que las funciones realmente pertenecen al ejecutable, pero se usan solamente como funciones de callback para que el API de Windows no las pierda.


Durante el trace, Shellter no registrará o tendrá en cuenta cualquier instrucción que no esté en el rango de memoria de la imagen PE de la aplicación de destino, ya que estos no pueden ser utilizado como una referencia para inyectar de forma permanente el shellcode.


Más en: http://www.hackplayers.com/2016/09/shellter-inyeccion-de-shellcodes-en-ejecutables.html 

TheFatRat: son un par de scripts en bash para facilitar la generación de backdoors con msfvenom (parte de Metasploit Framework). Básicamente muestra un menú para armar los backdoors, crear listeners, lanzar la msfconsole o buscar exploits en exploit-db con searchsploit. 

Especialmente interesante es la segunda opción que llama al segundo script powerfull.sh que crea y compila un programa en C con un payload reverse_tcp de meterpreter *casi* indetectable o FuD:


Más en: http://www.hackplayers.com/2016/08/thefatrat-genera-facil-backdoors-con-msfvenom.html

SideStep: es un script en python que podemos usar para que nuestros payloads de Metasploit no sean detectados por los antivirus. Las técnicas fundamentales que utiliza son:

- Cifra el shellcode de Meterpreter generado con msfvenom mediante AES de 128 bits (utilizando la biblioteca de C++ CryptoPP) con una clave generada aleatoriamente. El payload se descifra justo antes de la ejecución.
- Cambia aleatoriamente todos los nombres de variables y funciones. El tamaño de los nombres y las funciones se puede configurar.
- Crea una función que comprueba la hora local del host, luego hace un bucle durante una suma configurable de segundos al principio del programa para evadir sandboxes de AV. También se añade como parámetro un generador DH que suma tiempo extra al inicio.
- Mete el ejecutable con un número configurable de variables que tienen valores aleatorios de tamaño configurable. Estas variables están antes de la llamada a la función main().
- Si Cygwin está presente, utiliza strip para eliminar símbolos de depuración y otra información útil para el reversing.
- Si se usa peCloak, se codificarán las instrucciones de ensamblado en el último paso.


Más en: http://www.hackplayers.com/2015/07/evita-que-el-av-detecte-tu-payload-con-sidestep.html

Unicorn: un script en Python escrito precisamente por David Kennedy (Trustedsec) y que se basa en una técnica que presentó junto con Josh Kelley en la Defcon 18: un downgrade en Powershell para inyectar un shellcode en memoria.

En la última release 2.0 de la herramienta se incluyen distintos tipos de ataque (macro, html/hta, crt, ps1)  


Más en: http://www.hackplayers.com/2015/07/unicorn-powershell-para-evadir-antivirus.html

Veil: es una herramienta escrita en Python por Christopher Truncer para crear payloads de Metasploit capaces de evadir la mayoría de los antivirus. Utiliza 7 métodos distintos para generar hasta 21 payloads diferentes y permite al usuario usar Pyinstaller o Py2Exe para convertir los payloads de Python a ejecutables.


Con PyInstaller, tendremos el archivo convertido en un ejecutable directamente en Kali sin necesidad del uso de una segunda máquina virtual.
Si por el contrario usamos py2exe, se generarán tres archivos necesarios para crear el ejecutable final: un payload (en Python), un archivo con las instrucciones de tiempo de ejecución para py2exe y un archivo por lotes .bat para convertir el archivo del payload en un archivo ejecutable. Todas las bibliotecas requeridas quedarán almacenadas en el archivo exe
para que el callback de la sesión de meterpreter se ejecute en cualquier sistema.


Más en: http://www.hackplayers.com/2013/05/veil-un-generador-de-payloads-bypass-av.html

Hyperion: Este crypter desarrollado por NullSecurity actua como un packer pero, en lugar de ofuscar el payload (scrambling) y encapsularlo con las instrucciones necesarias para desofuscarlo, Hyperion cifra el payload y lo encapsula con una clave AES débil la cual simplemente se rompe por fuerza bruta en tiempo de ejecución. 



Más en: http://www.hackplayers.com/2012/11/metasploit-hyperion-pe-crypter-av-bypass.html

SET (Social Engineering Toolkit): tiene una interesante característica que nos permitirá obtener fácilmente un shell remoto evadiendo completamente el antivirus mediante un ataque con Windows PowerShell.

La ventaja de Powershell es que podemos añadir clases personalizadas al framework .NET. Mediante el cmdlet 'Add-Type' podemos compilar código CSharp al vuelo y por lo tanto importar funciones desde cualquier DLL. ¿Y para qué?, pues como el framework .NET no permite referenciar directamente la memoria, podemos importar funciones que si lo hagan, copiar un shellcode y ejecutarlo.
 
Más en: http://www.hackplayers.com/2012/11/evasion-de-antivirus-con-set-y-powershell.html

osslsigncode (OpenSSL-based signcode utility project): es una herramienta multiplataforma basada en OpenSSL y libcurl capaz de firmar ficheros EXE/CAB. No es una herramienta destinada a bypassear el AV, pero la simple firma digital de un fichero ejecutable malicioso puede provocar su indetección.


¿Cómo? Pues las políticas de algunos motores de antivirus pueden excluir el análisis de un fichero simplemente por estar firmado para mejorar el rendimiento... si bien es más probable que, al añadir código al fichero durante este proceso, se vean afectadas las (frágiles) detecciones mediante firmas.
Más en: http://www.hackplayers.com/2012/11/evasion-de-antivirus-con-ejecutables-firmados.html
 
Metasploit + metasm: mediante ambas herramientas se puede modificar un binario malicioso reescribiendo el código ensamblador del payload del exploit generado con Metasploit.

El resultado es un fichero FUD (completamente indetectable), o al menos con un ratio bajo de detección, por medio del cual un atacante podría obtener una sesión en la máquina de la víctima de forma silenciosa.
Más en: http://www.hackplayers.com/2012/11/metasploit-metasm-ghost-writing-asm.html
Si conoces más herramientas o técnicas no lo dudes y ¡comenta! 

Comentarios

  1. Hice pruebas con WinPayloads y el antivirus lo detectó de inmediato.

    ResponderEliminar
    Respuestas
    1. Realmente si son detectables, todas estas herramientas ya han sido cazadas por muchas empresas y antivirus, aun así un buen payload programado por ti mismo puede ser un buen backdoor indetectable.

      Eliminar
    2. como lo puede programar uno bro?

      Eliminar

Publicar un comentario