9 sept. 2009

Ofuscar un Exploit (JavaScript)

En el presente se mostrará como ofuscar un Exploit en JavaScript y saltarse el antivirus.

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.

Author & Editor

Ingeniero Civil en Computación (Universidad de Chile FCFM) y Diplomado en Gestión y Evaluación de Proyectos TI (Universidad de Chile FEN). Actualmente trabajo como Project Manager en varios proyectos y como asesor tecnológico para empresas.

0 Notaciones:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.

Labels

0-day (12) 1337day (1) 8.8 (2) Adobe Acrobat (1) Android (2) Anonimato (1) Anonymous (9) BackDoor (2) BackTrack (15) badUSB (1) Base64 (1) Black Hat (7) BlackHat (1) Blackploit (25) Brute Force (3) Bug (106) Bypass Password (1) Bypass Redirect (1) C99 Shell (1) Carding (1) CheatSheet (15) Chilean Way (1) Conference (10) Cryptsetup (1) CSRF (1) DDoS (11) DEF CON (3) DEFCON (7) Diapositivas (1) Diseño Web (1) Distro Linux (27) Documental (2) DoS (2) Drupal (1) DuckDuckGo (1) E-zine (18) Ekoparty (1) Escaneo (4) España (1) Exploit (64) Ezine (1) Facebook (1) Fast-Info (44) FBI (1) Ficheros Binarios (1) Firefox (4) Flash (2) Forense (9) Fuerza Bruta (11) Fuga de Datos (1) GhostShell (1) GNU/Linux (4) Google (2) Guía (1) Hack T00LZ (130) Hack Tips (63) Hacked (6) Hacking (18) Hacking Hardware (5) HashCat (1) Herramientas (121) HighSecCON (1) Humor Geek (13) Infografía (1) Ingeniería Social (5) Inj3ct0r (1) Internet Explorer (3) Java (7) JavaScript (2) Kali (3) KitPloit (1) Leaks (21) Linux OS (79) LulzSec (1) Mac OS (10) Magazine (1) Malaware (3) Malaware Tools (12) Malware (1) Man in the Middle (15) Manuales (3) MD5 CRACK (4) Metasploit (57) MSSQL (1) MySQL (6) MySQL CRACK (1) Nmap (6) Nmap NSE (2) Noticias (193) NTLM CRACK (1) Ofuscar (5) OpenSolaris OS (1) OpenSSL (1) ORACLE (1) OWASP (3) Paper (10) PDF (7) PenTest (14) Perl (2) Phearking (13) Phishing (3) PHP (13) phpMyAdmin (1) PoC (1) Premios Bitacoras (1) Presentaciones (11) PRISM (1) Privacidad (2) Programación (12) Programas Linux (41) Programas Windows (41) Pwned (1) Python (5) Reconocimiento (5) Ruby (2) s (1) Scripts (7) Seguridad (145) Seguridad Web (140) Seguridad Wireless (19) Sensitive Data Exposure (2) SHA1 CRACK (1) Shellshock (1) Slides (1) Spoofing (1) Spyware (1) SQLi (19) SQLi Tools (7) SQLMap (2) SSH (1) Textos (74) Tips (57) Troyanos y Virus (11) Trucos (7) Trucos Win (7) Turiales (56) Tutoriales (18) Twitter (1) Ubuntu (2) Underc0de (1) UnderDOCS (1) Unlock (1) URL Redirection (1) UXSS (1) vBulletin (1) Video (48) Virtualización (2) Web T00LZ (17) Wifislax (1) Wikileaks (1) WikiRebels (1) Windows OS (66) Wireless Tools (13) XSS (16) Youtube (1)

 
biz.