Exploits

Liberada peepdf v0.3

Después de mucho tiempo sin liberar una nueva release, ya está aquí la versión 0.3 de peepdf. No es que no se haya trabajado en el proyecto, sino que después de añadir la opción de actualizar la herramienta desde línea de comandos, la liberación de nuevas versiones ha quedado relegada a un segundo plano. Además, a partir de enero de 2014 Google eliminó la opción de añadir nuevas descargas de los proyectos alojados en Google Code, así que tenía que pensar en una alternativa. Desde ahora los nuevos archivos se alojarán en eternal-todo.com, en la sección de releases.

 

Las diferencias con la versión 0.2 son notables: se han añadido nuevos comandos y funcionalidades, se han actualizado librerías, se cambió el motor de ejecución de Javascript, se añadió detección para varias vulnerabilidades, y, por supuesto, se han corregidos muchos bugs. Esta es la lista de los cambios más importantes (changelog completo aquí):

 

PDF exploit (CVE-2013-2729) instala ZeuS-P2P/Gameover

Normalmente recibo SPAM con ejecutables y zips maliciosos. También los conocidos “documentos PDF” con doble extensión (.pdf.exe), pero hace unos días recibí un correo electrónico que tenía un PDF adjunto, sin extensión .exe oculta y no se trataba del típico anuncio de Viagra. Era bastante sospechoso. En ese momento no tenía mucho tiempo para analizarlo, así que lo dejé un poco de lado. Al día siguiente recibí otro con diferente asunto. El del primer correo era “Invoice 454889 April”, enviado por Sue Mockridge (motherlandjjw949 at gmail.com) y adjuntando “April invoice 819953.pdf” (eae0827f3801faa2a58b57850f8da9f5). El segundo tenía como asunto “Image has been sent jesparza”, enviado por Evernote Service (message at evernote.com, pero en las cabeceras se veía protectoratesl9 at gmail.com) y adjuntando “Agreemnet-81220097.pdf” (2a03ac24042fc35caa92c847638ca7c2).

Análisis de un exploit CVE-2013-3346/CVE-2013-5065 con peepdf

Aunque ya existen buenos análisis sobre estos exploits, me ha parecido un buen ejemplo para enseñar cómo funciona peepdf y lo que se puede aprender en el workshop “Squeezing Exploit Kits and PDF Exploits” que impartiré en Troopers14 y en el workshop "PDF Attack: A Journey from the Exploit Kit to the Shellcode" en Black Hat Asia 2014. El exploit que comento usaba una vulnerabilidad de tipo use-after-free del elemento ToolButton de Adobe Reader para ejecutar código en el sistema de la víctima. Posteriormente, realizaba una escalada de privilegios mediante un 0day del kernel de Windows para quitarse de encima la sandbox de Adobe y ejecutar un nuevo payload sin restricciones.  

Styx Exploit Kit instalando Simda

Ya echaba de menos esos correos de SPAM con regalo que me llegaban hace un tiempillo y que, de repente, ya no llegaban. Me estaba empezando a preocupar... ;)
 

Styx Spam email

 

Al visitar el enlace (hxxp://goozix.com/its.html) nos encontramos con una redirección a una página para comprar viagra y demás “medicinas”, pero que, además, contiene código Javascript malicioso:

 
 

Tras desofuscar el código vemos que se crea una cookie (“visited_uq=55”) y también un iframe que carga la URL hxxp://gylaqim.com/exit.php. Este dominio, creado el 21 de septiembre, resuelve a diferentes direcciones IPs, con un histórico de más de 400 IPs distintas. Así mismo, los seis servidores DNS autorizados registrados, ns*.gylaqim.com, también resuelven a diferentes direcciones IP cada vez que se intentan resolver.

Dependiendo del servidor que responda al visitar la URL  hxxp://gylaqim.com/exit.php nos puede redirigir a otra página como la inicial, con código Javascript malicioso y redirección a una página de viagra, o al exploit kit.

Las URLs inciales vistas hasta el momento son las siguientes:

 

hxxp://178.170.104.124/destruction.html
hxxp://178.170.104.124/seed.html
hxxp://actes-lyon.org/true.html
hxxp://aybabtu.ru/express.html
hxxp://brave.net.nz/ocean.html

PDF Attack: A Journey from the Exploit Kit to the Shellcode (Slides)

Como ya adelanté en un post anterior, estuve hace unos días en Las Vegas dando un workshop sobre análisis de exploit kits y documentos PDF en BlackHat. La parte relacionada con exploit kits consistía en explicar de forma práctica cómo se podía analizar manualmente el código Javascript ofuscado para conseguir las URLs de los exploits. Para esta tarea sólo se necesitaba un editor de texto y un motor Javascript como Spidermonkey, Rhino o PyV8, además de alguna herramienta (como peepdf :p) para poner más bonito el código Javascript (beautify). De forma simplificada, los pasos serían los siguientes:

  • Eliminar tags HTML innecesarios
  • Convertir posibles elementos HTML llamados desde el código Javascript en variables en Javascript
  • Buscar posibles funciones eval y sustituirlas por print o hookear la propia función si es posible (PyV8)
  • Ejecutar el código Javascript
  • Poner bonito el código (beautify)
  • Buscar shellcodes o URLs de exploits
  • Repetir los pasos si es necesario

 

 

PDF Attack: A Journey from the Exploit Kit to the Shellcode

 
BlackHat USA 2013 ya está aquí y mañana estaré explicando cómo analizar exploit kits y documentos PDF en mi workshop “PDF Attack: From the Exploit Kit to the Shellcode” de 14:15 a 16:30 en la sala Florentine. Será una sesión práctica, así que traed vuestros portátiles y esperad algunos ejercicios para jugar ;) Sólo necesitáis una distribución Linux con pylibemu y PyV8 instalado para apuntarte a la fiesta. También se pueden seguir los ejercicios e instalar todo en Windows si se prefiere...

Ahora Spidermonkey ya no es necesario porque hace unos días decidí cambiar el motor Javascript a PyV8, ya que realmente funciona mucho mejor. Podéis echar un vistazo a la diferencia del análisis automático del código Javascript usando Spidermonkey (izquierda) y PyV8 (derecha).
 

 

El atentado del maratón de Boston, RedKit y un zoo de malware

Sólo unas horas después del atentado del maratón de Boston ya se veían las primeras campañas de spam usando este tema con el objetivo de infectar a los usuarios. Parece que los cibercriminales no respetan nada, aunque era de esperar, ¿verdad? :p
 
El pasado miércoles llegaron a mi bandeja de entrada cuatro emails sobre el incidente de Boston. Eran bastante sospechosos, ya que únicamente se incluía una URL en el cuerpo del mensaje, y, además, esta URL ni siquiera tenía dominio, sino que se veía directamente una IP. Me parece que alguien tenía prisa por aprovechar este boom mediático antes de que se dejara de hablar de ello...

 

 
Los asuntos de los correos eran los siguientes:
 

BREAKING - Boston Marathon Explosion 
Explosion at the Boston Marathon
Aftermath to explosion at Boston Marathon
Explosions at the Boston Marathon

 
Y éstas las URL que se encontraban en el cuerpo de los mensajes:
 

hxxp://94.28.49 .130/boston.html 
hxxp://78.90.133 .133/boston.html
hxxp://118.141.37 .122/news.html
hxxp://110.92.80 .47/news.html

 

Conferencia Troopers13 - Día 2

Comencé el día escuchando la ponencia “UI Redressing Attacks on Android Devices” de Marcus Niemietz sobre las posibilidades de engañar a los usuarios, con interfaces no visibles para ellos, que permitían realizar acciones no deseadas (tipo clickjacking). Para seguir con el tema móvil, Peter Kieserberg nos hablaba sobre códigos QR  y su uso como vector de ataque.

Después de comer fue el turno de Sergey Bratus y Travis Goodspeed que expusieron su visión sobre la seguridad de los puertos USB y cómo es posible llegar a comprometer un sistema a través de éstos. Sin duda un campo que merece atención y que puede explorarse gracias a toda la documentación que deja Travis en su blog.

 

 

Conferencia Troopers13 - Día 1

Hasta ahora no había tenido tiempo de escribir sobre mi primera Troopers, es lo que tiene cambiarse de país...El caso es que ya llevaba un tiempo queriendo asistir a esta conferencia, tenía muy buena pinta y además los comentarios sobre ella me animaban más. El año pasado tuve el placer de compartir mesa con Enno Rey, organizador de Troopers y CEO de ERNW, durante la celebración de BlackHat Europe, y ya vi que se trataba de un buen equipo con un trato muy cercano. Otros años no había podido acudir por una cosa o por otra, pero este año, viviendo a 4 horas en coche de Heidelberg, no había excusa posible.

Después de llegar a Heidelberg de madrugada debido al temporal de nieve (accidentes, carreteras cortadas y en mal estado, etc) pude descansar lo justo para estar la mañana siguiente preparado para las diferentes charlas del primer día. Eso sí, no llegué a tiempo de oír el keynote de Rodrigo Branco, pero me comentaron que estuvo bastante bien. La primera charla que vi fue la de Daniel Mende y Pascal Turbing sobre la seguridad de un modelo de cámara de fotos CANON, equipada con un adaptador wireless y demás funcionalidades. El resultado, entre otras cosas, es que se podían visualizar las imágenes realizadas, manejar el dispositivo de forma remota e interceptar las fotos al enviarlas a un servicio en la nube.

 

0-day en Java 1.7.x sin parche oficial: resumen de ideas y análisis

El pasado domingo se publicó una vulnerabilidad en el blog de FireEye  que afecta a la última versión de Java (1.7.x) y que se utilizó en un ataque dirigido, usando el RAT Poison Ivy como malware ejecutado, y con poca propagación del exploit. Eso fue hasta que se publicó el código fuente en pastie.org, como antesala de la publicación de un módulo de Metasploit. El código asignado para esta vulnerabilidad es CVE-2012-4681.

Dynamic analysis of a CVE-2011-2462 PDF exploit

After the exploit static analysis some things like the function of the shellcode were unclear, so a dynamic analysis could throw some light on it. When we open the exploit without the Javascript code used for heap spraying we obtain an access violation error in rt3d.dll. If we put a breakpoint in the same point when we launch the original exploit we can see this (better explanation of the vulnerability):

 

Instead of showing an access violation the CALL function is pointing to a valid address in icucnv36.dll, 0x4A8453C3. This address is not random and it's used in the Javascript code to perform part of the heap spraying:

 

 

 

Static analysis of a CVE-2011-2462 PDF exploit

CVE-2011-2462 was published more than one month ago. It's a memory corruption vulnerability related to U3D objects in Adobe Reader and it affected all the latest versions from Adobe (<=9.4.6 and <= 10.1.1). It was discovered while it was being actively exploited in the wild, as some analysis say. Adobe released a patch for it 10 days after its publication. I'm going to analyse a PDF file exploiting this vulnerability with peepdf to show some of the new commands and functions in action.

As usual, a first look at the information of the file:

info

I've highlighted the interesting information of the info command: one error while parsing the document, one object (15) containing Javascript code, one object (4) containing two ways of executing elements (/AcroForm, /OpenAction) and one U3D object (10), suspicious for its known vulnerabilities, apart of the latest one.

So we have several objects to explore, let's start from the /AcroForm element (object 4):

BlackHole leading to Feodo: Bank of America account frozen

I've received a Christmas gift some hours ago. In fact there were two gifts but only one has survived the trip. They are from Russia...with love. Of course I'm talking about two e-mails I've received with two suspicious links. Even the e-mail bodies were suspicious, I think they have packed very quickly my gifts or they are not very attentive to me...:( The From field included "bankofamerica" and the Subject "Accountfrozen" so I suppose this means that my Bank of America account is frozen, right?

After some redirections we can find the typical obfuscated Javascript code made in BlackHole:
 

After decoding the Javascript code we obtain the next step, also related to BlackHole. This time I can only see a unique Flash exploit trying to download and execute a binary from the same domain where the exploit kit is located (shellcode is XORed with 0x28).

Analysis of a malicious PDF from a SEO Sploit Pack

According to a Kaspersky Lab article, SEO Sploit Pack is one of the Exploit Kits which appeared in the first months of the year, being PDF and Java vulnerabilities the most used in these type of kits. That's the reason why I've chosen to analyse a malicious PDF file downloaded from a SEO Sploit Pack. The PDF file kissasszod.pdf was downloaded from hxxp://marinada3.com/88/eatavayinquisitive.php and it had a low detection rate. So taking a look at the file with peepdf we can see this information:

In a quick look we can see that there are Javascript code in object 8 and that the element /AcroForm is probably used to execute something when the document is opened. The next step is to explore these objects and find out what will be executed:

Enlaces de seguridad en PDFs de 2010: análisis y herramientas

Después de un año repleto de incidentes relacionados con el Portable Document Format (PDF) está bien mirar atrás y recordar algunos de los más importantes. A continuación se enumeran los enlaces de análisis de documentos PDF maliciosos y/o ofuscados, así como algunas herramientas que han hecho aparición en 2010. Espero que las disfrutéis! ;)

Análisis

2010-01-04: Sophisticated, targeted malicious PDF documents exploiting CVE-2009-4324 (binarios embebidos)

2010-01-07: Static analysis of malicous PDFs (Part #2) (getAnnots, arguments.callee)

2010-01-09: PDF Obfuscation (sustitución de variables, LuckySploit, CVE 2008-2992)

2010-01-13: Generic PDF exploit hider. embedPDF.py and goodbye AV detection

2010-01-14: PDF Obfuscation using getAnnots() (getAnnots, arguments.callee, Neosploit)

2010-02-15: Filling Adobe's heap (Javascript, ActionScript e imágenes en PDFs)

2010-02-18: Malicious PDF trick: getPageNthWord

2010-02-21: Analyzing PDF exploits with Pyew

Distribuir contenido