Backup Oficial de SeguridadBlanca.Org

sábado, 25 de julio de 2009

Obfuscation Para Exploit

con este tuto podrán ver como obfuscar un exploit para que el AntiVirus no lo detecte.


Aprovechando que hace poco salió un exploit para firefox 3.5, vamos a explicar cómo modificarlo para que no lo detecte el antivirus. Es muy sencillo: tan sólo requiere tocar el código html a mano, para quitar los strings que identifican al exploit, y usar un ofuscador online de código javascript.

Para probar este exploit, vamos a necesitar la versión 3.5 del firefox, que puede bajarse de aquí. Además, necesitamos privilegios de admin, porque si no el exploit falla. Esto no lo pone en el report de milw0rm, pero se ve cuando se prueba.

PASO 1: quitar los strings que identifican al exploit.

Si nos fijamos, el exploit contiene los siguientes strings. Todos ellos hay que quitarlos, ya que algún antivirus puede haberlos usado para identificarlo (pese a lo que digan, las heurísticas no se usan demasiado):

Firefox 3.5 Vulnerability
Firefox 3.5 Heap Spray Vulnerabilty
Author: SBerry aka Simon Berry-Byrne
Thanks to HD Moore for the insight and Metasploit for the payload


Y, por supuesto, todas las referencias a milw0rm.com hay que quitarlas también (hay una al final del todo).

PASO 2: ofuscar el código javascript.

Antes de nada, vamos a comprobar que, realmente, nuestro antivirus detecta el exploit. Bajamos el código de milw0rm, lo guardamos como exploit.html y lo intentamos abrir ...



Lo que haremos será ofuscar el código javascript con una herramienta online, una cualquiera, y guardar de nuevo exploit.html. Para ofuscarlo, he elegido ésta herramienta, pero basicamente cualquiera servirá.



Una vez ofuscado:



Y ahora repetimos el proceso: guardamos el código como exploit.html, sustituyendo el javascript por el OFUSCADO y quitando los strings que hacen referencia a que esto es un exploit, lo ejecutamos ... ¡¡y no nos detecta el antivirus!!



El paso final, sería substituir el shellcode de calc.exe por el de una shell inversa, por ejemplo:

char code[] =
"\xe8\x30\x00\x00\x00\x43\x4d\x44\x00\xe7\x79\xc6\x79\xec\xf9\xaa"
[...]


Esta shell puede bajarse de metasploit. Una vez bajada la shell, la pegamos en el exploit original substituyendo a la de calc.exe y ofuscamos todo el javascript con la herramienta online.

Como habéis visto, es relativamente sencillo ofuscar un exploit en un lenguaje complejo, como pueda ser javascript, para que el antivirus no lo detecte.

Fuente: Hacking-Avanzado

Saludos
Dr.White

No hay comentarios:

Publicar un comentario