Alejandro Ramos
www.securitybydefault.com
   Manager del TigerTeam de SIA
   Profesor en el MOSTIC de la Universidad
    Europea de Madrid
   Editor de SecurityByDefault.com
   Blah Blah…
   Introducción
   Estructura del PDT
   Aspectos de seguridad
   Análisis y creación de un PDF (¡sin word!)
   Recomendaciones
   Portable Document Format
   Creado por Adobe Systems
   Estándar ISO/IEC 32000-1:2008
   Documentos susceptibles de ser impresos
   Multiplataforma
   Especificación abierta (Julio 2008)
1.0   2.0   3.0   4.0   5.0   6.0   7.0   8.0   9.0   9.1
8.0           9.0           9.1




      CVE             Bug                       Versión
      CVE-2007-5659   Collab.collectEmailInfo   <8.1.1
      CVE-2008-2992   Util.printf               <8.1.2
      CVE-2009-0927   Collab.getIcon            <9.0
      CVE-2009-4324   Doc.media.newPlayer       <9.2
      CVE-2009-0658   JBIG2 Decode              <9.0
      CVE-2010-0188   LibTIFF                   <9.3.0
      CVE-2010-1240   Embedded EXE              Ing. Social
Seguridad en PDF - Adobe ¬¬
Fuente AvertLabs:
http://bit.ly/aOhWu5
Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬
   Compuesto mediante colección de objetos
   Interacción entre objetos
   Interacción con el cliente (render): protección
    de contraseña, impresión.
   Objetos de múltiples tipos: imágenes, texto,
    formas geométricas, fuentes…
   Soporte de compresión: JPEG2000, JPEG,
    CCITT, Flate(Zip)



                                                .o.
Cabecera

Objeto 1
                 2   3
Objeto 2
                 4
Objeto N

Tabla XREF   5   6   7
 Trailer
Cabecera                         Comienzo de
             trailer
                                 sección
             <<
 Objeto      /Size 3             Num. De objetos
             /Root 1 0 R         Objeto raiz
             >>                  (catalogo)
 Objeto      startxref
   …         8482
             %%EOF
                                 Localización de
                                 Tabla XREF

Tabla XREF

 Trailer        Ha de contener Catalogo: /Root
                Número de entradas XREF /Size
                Puede incluir información
                 adicional: /Encrypt /Info /ID
Comienzo de sección
                          Primer obj.
                          Num. Objetos
                                         Objeto libre
Cabecera
             xref
             0 6
 Objeto
             0000000000   65535   f
             0000000008   00000   n
 Objeto      0000000123   00000   n        Objetos

   …         0000000429   00000   n        en uso


Tabla XREF
             Offsets de   Num. Del
             objetos      siguiente
 Trailer
                          objeto libre
ID de objeto



                                Tipo de
Cabecera                        objeto
             1 0 obj
             <<
 Objeto        /Type /Catalog
               /Pages 2 0 R
 Objeto      >>
                                Referencia a
   …         endobj
                                otro objeto

Tabla XREF

 Trailer
Cabecera
             %PDF-1.4

 Objeto

 Objeto          Versión del formato 1.0-1.7

   …
Tabla XREF

 Trailer
El fichero original



             Fichero Original
                                
Cabecera
Objeto 1                            permanece intacto
Objeto 2                           Nueva tabla XREF con los
Tabla XREF                          nuevos objetos y un enlace
 Trailer                            a la antigua tabla xref
                                    Característica!: Soporte
             Actualización 1

                                
Objeto 3
                                    para regresión de
                                    versiones.
Tabla XREF
 Trailer
Ejemplo




     ooo!!
$ python pdf-parser.py hola.pdf       xref [(3, 'xref'), (3, '0'), (3, '15'), (3,
PDF Comment '%PDF-1.4n'              '0000000000'), (3, '65535'), (3, 'f'
PDF Comment '%xc7xecx8fxa2n'     ), (3, '0000000557'), (3, '00000'), (3, 'n'),
                                      (3, '0000003638'), (3, '00000'), (
                                      3, 'n'), (3, '0000000489'), (3, '00000'),
obj 5 0
                                      (3, 'n'), (3, '0000000329'), (3, '0000
 Type:                                0'), (3, 'n')
 Referencing: 6 0 R                   trailer
<<                                     <<
  /Length 6 0 R                          /Size 15
                                         /Root 10R
  /Filter /FlateDecode
                                         /Info 20R
 >>                                      /ID [(44444)]
                                       >>
obj 6 0
 Type:                                startxref 3828
 Referencing:                         PDF Comment '%%EOFn'
 [(1, 'n'), (3, '225'), (1, 'n')]
Seguridad en PDF - Adobe ¬¬
Selección de
 método de
 seguridad



               Elegir si crear
                una política


                              Seleccionar
                                  los
                             componentes
                                a cifrar


                                          Revisar la
                                        configuración



                                                    Almacenar el
                                                     documento
   NO SE CIFRA EL
    DOCUMENTO
    COMPLETO.
   Objetos Stream y
    cadenas de texto.
   Modificaciones en
    versiones
Posición Uso                       $ python pdf-parser.py test.pdf
                                   …
   3    Impresión                  obj 98 0
   4    Modificación
                                   <<
   5    Extracción (copiar y        /Filter /Standard
        pegar)                      /V 1
   6    Anotaciones                 /R 2
                                    /O (±†KŸ|ÿG+¡ÌËpTÔ“Û•ÚÃÐßÏ„´_{«B)
   9    Formularios                 /U (¨KM¾åòøƒ½ø-CïP8¨Ëî}¼,ÊpOCt%r)
  10    Extracción                  /P -44
                                   >>
        texto/gráficos
                                   …
  11    Eliminar/Insertar, rotar
  12    Impresión (mala calidad)    http://www.unlock-pdf.com/
                                    http://www.ensode.net/pdf-crack.jsf
                                    http://www.pdfunlock.com/
                                    http://pdfpirate.net
                                    http://freemypdf.com/
   El PDF se puede firmar digitalmente
   La firma comprende el documento completo
   El certificado x509 o PKCS7 se incluye en el
    documento
   El documento es validado al abrirse
   Un documento firmado puede incluir resumen
    y convertirse en certificado.
   Documentos certificados pueden tener
    privilegios especiales: contenido dinámico,
    ejecución de JavaScript, etc.
   Mediante los objetos /Metadata e /Info
   Fecha de creación, modificación, autor,
    software, correo electrónico…
   Se almacenan revisiones
Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬
1650 0 obj
<<
            /Length 1152
>>
stream
....
ET
EMC
154.67999 223.25999 76.32001 13.8 re
f
/P <</MCID 35 >>BDC
BT
/TT0 1 Tf
12 0 0 12 90 225.9001 Tm
(          1. (U) Third Infantry Division . . . .
..........
. . . . . . . . . . . . . . . . . . . . . . . . . 8 )Tj
   Uso de interprete con funciones
    propias
   Modificación de SpiderMonkey
   Ejecución por defecto en un
    contexto sin privilegios
   Dos posibilidades de llamar al
    código:
    ◦ Incluyendo el JS en el PDF
    ◦ Script dentro del directorio de
      instalación: <install>/JavaScripts/*.js
      Estos scripts se ejecutan con mayores
       privilegios.
Triggers              Uso
/OpenAction           Acción al abrir el documento
                      Acción cuando una página
/OpenAction con /AA   determinada es mostrada
                      Añadir anotación a la primera
/Annots con /AA       página y ejecutar acción cuando
                      es mostrada

/Names                objetos ejecutables del catálogo

                      Ejecuta una comando de sistema
/Launch               cuando se abre el documento
1 0 obj                     7 0 obj
<<                          <<
    /Type /Catalog              /Length 0000
    /Outlines 2 0 R         >>
    /Pages 3 0 R            stream
    /OpenAction
    <<                      var i=0,m='',t=['1100','0101'];var
           /JS 7 0 R        ZJi=s3nT(app.viewerVersion.toString());
           /S /JavaScript   var
     >>                     buD=aug(ZJi[1],ZJi[0]);app.eval(dqo());
>>                          m0ii=0,rm='';while(m0ii<mOii.length){
endobj                      rm+=String.fromCharCode(klX(mOii.su
                            …
                            endstream
                            endobj
Seguridad en PDF - Adobe ¬¬
Localización del código malicioso


   Extracción de los segmentos del fichero


       Si es necesario, desensamblado de la shellcode

           Si es necesario, deofuscación y compresión del
           código script

               Compresión de la cadena de infección
Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬
Herramienta     URL
Origami         http://seclabs.org/origami/


PDFTools        http://blog.didierstevens.com/programs/pdf-tools/

Pdfresurrect    http://757labs.org/wiki/Projects/pdfresurrect


Pdftk           http://www.accesspdf.com/pdftk/

QPDF            http://sourceforge.net/projects/qpdf/

PDFMiner        http://www.unixuser.org/~euske/python/pdfminer/i
                ndex.html
PDF Dissector   http://www.zynamics.com/dissector.html
Herramienta    URL
Malzilla       http://malzilla.sourceforge.net/

SpiderMonkey   https://www.mozilla.org/js/spidermonkey/

jsunpack       https://code.google.com/p/jsunpack-n/
Herramienta    URL
VirusTotal     http://www.virustotal.com


Wepawet        http://wepawet.cs.ucsb.edu/

ThreatExpert   http://www.threatexpert.com/

CWSandbox      http://www.sunbeltsecurity.com/sandbox/

Jsunpack       http://jsunpack.jeek.org/dec/go
Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬
Herramienta   URL
Origami       http://seclabs.org/origami/


Metasploit    http://www.metasploit.com/

PDFInjector   https://milo2012.wordpress.com/2009/09/21/hel
              lo-world
Make-pdf      http://blog.didierstevens.com/programs/pdf-
              tools/
Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬
   Mantener actualizada la aplicación
   Desactivar el plug-in del navegador
   Desactivar soporte JavaScript
   Usar el lector con usuarios sin privilegios
   Confiar únicamente en archivos que vengan
    de fuentes conocidas
   Usar productos alternativos: Foxit/Sumatra
   La dificultad de explotar vulnerabilidades en
    el SO esta obligando a que se encuentren
    nuevas vías en software de terceros
   Existen productos usados masivamente casi
    sin explorar
   El malware encontrará el camino
Referencias
http://www.blackhat.com/presentations/bh-europe-
08/Filiol/Presentation/bh-eu-08-filiol.pdf
http://esec.fr.sogeti.com/blog/index.php?2009/06/26/68-at-least-4-
ways-to-die-opening-a-pdf
http://conference.hackinthebox.org/hitbsecconf2009kl/materials/D2T
1%20-%20Frederic%20Raynal%20-
%20PDF%20Origami%20Strikes%20Back.pdf
http://zeltser.com/reverse-malware/analyzing-malicious-
documents.html
http://www.forensicswiki.org/wiki/PDF
http://blog.didierstevens.com/programs/pdf-tools/
http://blogs.adobe.com/pdfdevjunkie/PDF_Inside_and_Out.pdf
Gracias.
http://www.securitybydefault.com

Más contenido relacionado

PDF
Seguridad en PDF: Adobe ¬¬
PPTX
3 Introducción al lenguaje PHP
PPTX
19 javascript servidor
PDF
Jyoc java-cap17 persistencia. nio
PDF
Introduccion lenguaje java
PDF
4. Programación con arrays, funciones, y objetos definidos por el usuario
DOC
Java clases dictadas
PDF
3. Utilización de los objetos predefinidos del lenguaje
Seguridad en PDF: Adobe ¬¬
3 Introducción al lenguaje PHP
19 javascript servidor
Jyoc java-cap17 persistencia. nio
Introduccion lenguaje java
4. Programación con arrays, funciones, y objetos definidos por el usuario
Java clases dictadas
3. Utilización de los objetos predefinidos del lenguaje

La actualidad más candente (20)

PPSX
Curso scjp 30 navegacion de archivos e io
ODP
01 el lenguaje Python
PDF
Curso de Python
ODP
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
PDF
Linux basico-8.PDF
DOC
(86)resumen visual basic
ODP
Taller I Coreis Python 10112009
PDF
Introducción a Swift
DOCX
Arreglos en C++
PPS
PPTX
Fundamentos POO en JS. Mixins y Traits.
PDF
Persistencia en Java - Serialización
PDF
Tutorial de php
PDF
ORM Doctrine
TXT
Lab
PDF
Taller ruby
PDF
Introduccion a python 3
PDF
U0108985
PDF
Introduccion a Doctrine 2 ORM
PDF
Programacion en python_1
Curso scjp 30 navegacion de archivos e io
01 el lenguaje Python
Curso de Python
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Linux basico-8.PDF
(86)resumen visual basic
Taller I Coreis Python 10112009
Introducción a Swift
Arreglos en C++
Fundamentos POO en JS. Mixins y Traits.
Persistencia en Java - Serialización
Tutorial de php
ORM Doctrine
Lab
Taller ruby
Introduccion a python 3
U0108985
Introduccion a Doctrine 2 ORM
Programacion en python_1
Publicidad

Destacado (9)

PDF
Forense en windows - Resolución Reto I de Dragonjar
PDF
PPT
презентация 2009 Pavlovsky Posad
PDF
Rooted con 2015 - Rojos y Azules: dos equipos con dos sabores
PDF
Ejemplos de seguridad en aplicaciones moviles (IOS)
PDF
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
PPTX
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
PDF
Te pique lo que te pique, analiza un SQLite
PDF
Cookies y otras tecnologías de monitorización en internet
Forense en windows - Resolución Reto I de Dragonjar
презентация 2009 Pavlovsky Posad
Rooted con 2015 - Rojos y Azules: dos equipos con dos sabores
Ejemplos de seguridad en aplicaciones moviles (IOS)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Te pique lo que te pique, analiza un SQLite
Cookies y otras tecnologías de monitorización en internet
Publicidad

Similar a Seguridad en PDF - Adobe ¬¬ (20)

PPT
Enrique Rando Fugas De Informacion
PDF
Ventilación de espacios
ODT
Computacion
PPTX
1388 917 2_software_fc_gs3
PPTX
Software IC3
PPTX
Fundametos software
PPTX
Software fc gs3
PDF
Programacion.con.adobe.action.script.3.0
PDF
Pack400 brochure
PDF
pdf
PPTX
Glosario informatico
PPTX
Software
PPTX
1439 software fc_gs3
PPTX
1439 software fc_gs32
DOCX
Programas operativos
DOCX
Programas operativos
PPTX
socialización guía 8
PDF
Enrique Rando Fugas De Informacion
Ventilación de espacios
Computacion
1388 917 2_software_fc_gs3
Software IC3
Fundametos software
Software fc gs3
Programacion.con.adobe.action.script.3.0
Pack400 brochure
pdf
Glosario informatico
Software
1439 software fc_gs3
1439 software fc_gs32
Programas operativos
Programas operativos
socialización guía 8

Más de Alejandro Ramos (13)

PPTX
Análisis forense en linux - Compromised Linux Server
PDF
Advanced password cracking
PDF
PDF
Jornada de ciberdefensa stuxnet
PDF
Resolución de concursos de la NoConName 2010 v1.0
PDF
Pentest curso de verano - valencia 2010
PDF
Rooted2010 Otp
PDF
Owasp Top10 FireFox
PDF
Fist - Negocio Pirateria
PDF
Seguridad en Bluetooth
PDF
PDF
DoS En La Ciberguerra
PDF
Crapcha Sv1.0 Slide Share
Análisis forense en linux - Compromised Linux Server
Advanced password cracking
Jornada de ciberdefensa stuxnet
Resolución de concursos de la NoConName 2010 v1.0
Pentest curso de verano - valencia 2010
Rooted2010 Otp
Owasp Top10 FireFox
Fist - Negocio Pirateria
Seguridad en Bluetooth
DoS En La Ciberguerra
Crapcha Sv1.0 Slide Share

Último (20)

PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PPTX
El uso de las TIC en la vida cotidiana..
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
PDF
Estrategia de apoyo valentina lopez/ 10-3
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PPTX
Sistema de Gestión Integral TCA Ingenieros.pptx
DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PPTX
ccna: redes de nat ipv4 stharlling cande
PPTX
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
DOCX
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
DOCX
Guía 5. Test de orientación Vocacional 2.docx
PPTX
Uso responsable de la tecnología - EEST N°1
Presentacion de Alba Curso Auditores Internos ISO 19011
la-historia-de-la-medicina Edna Silva.pptx
TRABAJO DE TECNOLOGIA.pdf...........................
El uso de las TIC en la vida cotidiana..
Documental Beyond the Code (Dossier Presentación - 2.0)
Mecanismos-de-Propagacion de ondas electromagneticas
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
Estrategia de apoyo valentina lopez/ 10-3
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
Historia Inteligencia Artificial Ana Romero.pptx
Sistema de Gestión Integral TCA Ingenieros.pptx
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
ccna: redes de nat ipv4 stharlling cande
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
informe_fichas1y2_corregido.docx (2) (1).pdf
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
Guía 5. Test de orientación Vocacional 2.docx
Uso responsable de la tecnología - EEST N°1

Seguridad en PDF - Adobe ¬¬

  • 2. Manager del TigerTeam de SIA  Profesor en el MOSTIC de la Universidad Europea de Madrid  Editor de SecurityByDefault.com  Blah Blah…
  • 3. Introducción  Estructura del PDT  Aspectos de seguridad  Análisis y creación de un PDF (¡sin word!)  Recomendaciones
  • 4. Portable Document Format  Creado por Adobe Systems  Estándar ISO/IEC 32000-1:2008  Documentos susceptibles de ser impresos  Multiplataforma  Especificación abierta (Julio 2008)
  • 5. 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 9.1
  • 6. 8.0 9.0 9.1 CVE Bug Versión CVE-2007-5659 Collab.collectEmailInfo <8.1.1 CVE-2008-2992 Util.printf <8.1.2 CVE-2009-0927 Collab.getIcon <9.0 CVE-2009-4324 Doc.media.newPlayer <9.2 CVE-2009-0658 JBIG2 Decode <9.0 CVE-2010-0188 LibTIFF <9.3.0 CVE-2010-1240 Embedded EXE Ing. Social
  • 12. Compuesto mediante colección de objetos  Interacción entre objetos  Interacción con el cliente (render): protección de contraseña, impresión.  Objetos de múltiples tipos: imágenes, texto, formas geométricas, fuentes…  Soporte de compresión: JPEG2000, JPEG, CCITT, Flate(Zip) .o.
  • 13. Cabecera Objeto 1 2 3 Objeto 2 4 Objeto N Tabla XREF 5 6 7 Trailer
  • 14. Cabecera Comienzo de trailer sección << Objeto /Size 3 Num. De objetos /Root 1 0 R Objeto raiz >> (catalogo) Objeto startxref … 8482 %%EOF Localización de Tabla XREF Tabla XREF Trailer  Ha de contener Catalogo: /Root  Número de entradas XREF /Size  Puede incluir información adicional: /Encrypt /Info /ID
  • 15. Comienzo de sección Primer obj. Num. Objetos Objeto libre Cabecera xref 0 6 Objeto 0000000000 65535 f 0000000008 00000 n Objeto 0000000123 00000 n Objetos … 0000000429 00000 n en uso Tabla XREF Offsets de Num. Del objetos siguiente Trailer objeto libre
  • 16. ID de objeto Tipo de Cabecera objeto 1 0 obj << Objeto /Type /Catalog /Pages 2 0 R Objeto >> Referencia a … endobj otro objeto Tabla XREF Trailer
  • 17. Cabecera %PDF-1.4 Objeto Objeto Versión del formato 1.0-1.7 … Tabla XREF Trailer
  • 18. El fichero original Fichero Original  Cabecera Objeto 1 permanece intacto Objeto 2  Nueva tabla XREF con los Tabla XREF nuevos objetos y un enlace Trailer a la antigua tabla xref Característica!: Soporte Actualización 1  Objeto 3 para regresión de versiones. Tabla XREF Trailer
  • 19. Ejemplo ooo!!
  • 20. $ python pdf-parser.py hola.pdf xref [(3, 'xref'), (3, '0'), (3, '15'), (3, PDF Comment '%PDF-1.4n' '0000000000'), (3, '65535'), (3, 'f' PDF Comment '%xc7xecx8fxa2n' ), (3, '0000000557'), (3, '00000'), (3, 'n'), (3, '0000003638'), (3, '00000'), ( 3, 'n'), (3, '0000000489'), (3, '00000'), obj 5 0 (3, 'n'), (3, '0000000329'), (3, '0000 Type: 0'), (3, 'n') Referencing: 6 0 R trailer << << /Length 6 0 R /Size 15 /Root 10R /Filter /FlateDecode /Info 20R >> /ID [(44444)] >> obj 6 0 Type: startxref 3828 Referencing: PDF Comment '%%EOFn' [(1, 'n'), (3, '225'), (1, 'n')]
  • 22. Selección de método de seguridad Elegir si crear una política Seleccionar los componentes a cifrar Revisar la configuración Almacenar el documento
  • 23. NO SE CIFRA EL DOCUMENTO COMPLETO.  Objetos Stream y cadenas de texto.  Modificaciones en versiones
  • 24. Posición Uso $ python pdf-parser.py test.pdf … 3 Impresión obj 98 0 4 Modificación << 5 Extracción (copiar y /Filter /Standard pegar) /V 1 6 Anotaciones /R 2 /O (±†KŸ|ÿG+¡ÌËpTÔ“Û•ÚÃÐßÏ„´_{«B) 9 Formularios /U (¨KM¾åòøƒ½ø-CïP8¨Ëî}¼,ÊpOCt%r) 10 Extracción /P -44 >> texto/gráficos … 11 Eliminar/Insertar, rotar 12 Impresión (mala calidad) http://www.unlock-pdf.com/ http://www.ensode.net/pdf-crack.jsf http://www.pdfunlock.com/ http://pdfpirate.net http://freemypdf.com/
  • 25. El PDF se puede firmar digitalmente  La firma comprende el documento completo  El certificado x509 o PKCS7 se incluye en el documento  El documento es validado al abrirse  Un documento firmado puede incluir resumen y convertirse en certificado.  Documentos certificados pueden tener privilegios especiales: contenido dinámico, ejecución de JavaScript, etc.
  • 26. Mediante los objetos /Metadata e /Info  Fecha de creación, modificación, autor, software, correo electrónico…  Se almacenan revisiones
  • 29. 1650 0 obj << /Length 1152 >> stream .... ET EMC 154.67999 223.25999 76.32001 13.8 re f /P <</MCID 35 >>BDC BT /TT0 1 Tf 12 0 0 12 90 225.9001 Tm ( 1. (U) Third Infantry Division . . . . .......... . . . . . . . . . . . . . . . . . . . . . . . . . 8 )Tj
  • 30. Uso de interprete con funciones propias  Modificación de SpiderMonkey  Ejecución por defecto en un contexto sin privilegios  Dos posibilidades de llamar al código: ◦ Incluyendo el JS en el PDF ◦ Script dentro del directorio de instalación: <install>/JavaScripts/*.js  Estos scripts se ejecutan con mayores privilegios.
  • 31. Triggers Uso /OpenAction Acción al abrir el documento Acción cuando una página /OpenAction con /AA determinada es mostrada Añadir anotación a la primera /Annots con /AA página y ejecutar acción cuando es mostrada /Names objetos ejecutables del catálogo Ejecuta una comando de sistema /Launch cuando se abre el documento
  • 32. 1 0 obj 7 0 obj << << /Type /Catalog /Length 0000 /Outlines 2 0 R >> /Pages 3 0 R stream /OpenAction << var i=0,m='',t=['1100','0101'];var /JS 7 0 R ZJi=s3nT(app.viewerVersion.toString()); /S /JavaScript var >> buD=aug(ZJi[1],ZJi[0]);app.eval(dqo()); >> m0ii=0,rm='';while(m0ii<mOii.length){ endobj rm+=String.fromCharCode(klX(mOii.su … endstream endobj
  • 34. Localización del código malicioso Extracción de los segmentos del fichero Si es necesario, desensamblado de la shellcode Si es necesario, deofuscación y compresión del código script Compresión de la cadena de infección
  • 38. Herramienta URL Origami http://seclabs.org/origami/ PDFTools http://blog.didierstevens.com/programs/pdf-tools/ Pdfresurrect http://757labs.org/wiki/Projects/pdfresurrect Pdftk http://www.accesspdf.com/pdftk/ QPDF http://sourceforge.net/projects/qpdf/ PDFMiner http://www.unixuser.org/~euske/python/pdfminer/i ndex.html PDF Dissector http://www.zynamics.com/dissector.html
  • 39. Herramienta URL Malzilla http://malzilla.sourceforge.net/ SpiderMonkey https://www.mozilla.org/js/spidermonkey/ jsunpack https://code.google.com/p/jsunpack-n/
  • 40. Herramienta URL VirusTotal http://www.virustotal.com Wepawet http://wepawet.cs.ucsb.edu/ ThreatExpert http://www.threatexpert.com/ CWSandbox http://www.sunbeltsecurity.com/sandbox/ Jsunpack http://jsunpack.jeek.org/dec/go
  • 43. Herramienta URL Origami http://seclabs.org/origami/ Metasploit http://www.metasploit.com/ PDFInjector https://milo2012.wordpress.com/2009/09/21/hel lo-world Make-pdf http://blog.didierstevens.com/programs/pdf- tools/
  • 47. Mantener actualizada la aplicación  Desactivar el plug-in del navegador  Desactivar soporte JavaScript  Usar el lector con usuarios sin privilegios  Confiar únicamente en archivos que vengan de fuentes conocidas  Usar productos alternativos: Foxit/Sumatra
  • 48. La dificultad de explotar vulnerabilidades en el SO esta obligando a que se encuentren nuevas vías en software de terceros  Existen productos usados masivamente casi sin explorar  El malware encontrará el camino