SlideShare una empresa de Scribd logo
1 de 60
Descargar para leer sin conexión
GSIC 2011



 Alejandro Ramos
www.securitybydefault.com
   Manager del TigerTeam de SIA
   Profesor en el MOSTIC de la Universidad
    Europea de Madrid
   Editor de SecurityByDefault.com
   Twitter: @aramosf
   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   10
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
CVE-2010-1297   Flash Player authplay     9.3.3 8..2.3
CVE-2010-2883   CoolType SING             9.4 8.2
Fuente AvertLabs:
http://bit.ly/aOhWu5
   Problematic Document Format
   Penetration Document Format
   Portable Document Format

              Polanski
   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)
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

                Ha de contener Catalogo: /Root
 Trailer
                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
                       Revisión

                                  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
$ 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')]
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
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
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
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/index.ht
                    ml
PDF Dissector       http://www.zynamics.com/dissector.html
PDF Stream Dumper http://sandsprite.com/blogs/index.php?uid=7&pid=57
Opaf!               http://feliam.wordpress.com/2010/08/23/opaf/
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
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/
   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
Podéis descargar esta presentación en PDF ;-)

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

La actualidad más candente

Curso scjp 30 navegacion de archivos e io
Curso scjp 30   navegacion de archivos e ioCurso scjp 30   navegacion de archivos e io
Curso scjp 30 navegacion de archivos e ioprogramadorjavablog
 
3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguajeLaura Folgado Galache
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - SerializaciónCarlos Hernando
 
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...RootedCON
 
Linux basico-8.PDF
Linux basico-8.PDFLinux basico-8.PDF
Linux basico-8.PDFULEAM
 
Archivos java
Archivos javaArchivos java
Archivos javatazmania2
 
Curso Formacion Apache Solr
Curso Formacion Apache SolrCurso Formacion Apache Solr
Curso Formacion Apache SolrEmpathyBroker
 
Introduction to linux for bioinformatics
Introduction to linux for bioinformaticsIntroduction to linux for bioinformatics
Introduction to linux for bioinformaticsAlberto Labarga
 
16 Archivos
16 Archivos16 Archivos
16 Archivoslichic
 
U0108985
U0108985U0108985
U0108985maur047
 
El lenguaje de pogramación C++
El lenguaje de pogramación C++El lenguaje de pogramación C++
El lenguaje de pogramación C++Rodrigo Corral
 

La actualidad más candente (20)

Curso scjp 30 navegacion de archivos e io
Curso scjp 30   navegacion de archivos e ioCurso scjp 30   navegacion de archivos e io
Curso scjp 30 navegacion de archivos e io
 
3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje
 
(86)resumen visual basic
(86)resumen visual basic(86)resumen visual basic
(86)resumen visual basic
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - Serialización
 
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
 
Linux basico-8.PDF
Linux basico-8.PDFLinux basico-8.PDF
Linux basico-8.PDF
 
Archivos
ArchivosArchivos
Archivos
 
Archivos java
Archivos javaArchivos java
Archivos java
 
Tutorial de php
Tutorial de phpTutorial de php
Tutorial de php
 
Introduccion a Doctrine 2 ORM
Introduccion a Doctrine 2 ORMIntroduccion a Doctrine 2 ORM
Introduccion a Doctrine 2 ORM
 
Curso Formacion Apache Solr
Curso Formacion Apache SolrCurso Formacion Apache Solr
Curso Formacion Apache Solr
 
Introduction to linux for bioinformatics
Introduction to linux for bioinformaticsIntroduction to linux for bioinformatics
Introduction to linux for bioinformatics
 
16 Archivos
16 Archivos16 Archivos
16 Archivos
 
U0108985
U0108985U0108985
U0108985
 
Java 8
Java 8Java 8
Java 8
 
Los scripts de linux
Los scripts de linuxLos scripts de linux
Los scripts de linux
 
TUTORIAL JAVA
TUTORIAL JAVATUTORIAL JAVA
TUTORIAL JAVA
 
El lenguaje de pogramación C++
El lenguaje de pogramación C++El lenguaje de pogramación C++
El lenguaje de pogramación C++
 
Curso prog sist
Curso prog sistCurso prog sist
Curso prog sist
 
Presentación appy/pod
Presentación appy/podPresentación appy/pod
Presentación appy/pod
 

Destacado

Gestión de calidad
Gestión de calidadGestión de calidad
Gestión de calidadMilyzambrano
 
Tipo de operadores
Tipo de operadoresTipo de operadores
Tipo de operadoresalieralfos
 
El formato de archivo PDF como contenedor de información
El formato de archivo PDF como contenedor de informaciónEl formato de archivo PDF como contenedor de información
El formato de archivo PDF como contenedor de informaciónsinab
 
Agfa secretos-de-la-gestion-de-color
Agfa secretos-de-la-gestion-de-colorAgfa secretos-de-la-gestion-de-color
Agfa secretos-de-la-gestion-de-colorElda Medellin
 
Modelo CromáTico Cie Lab
Modelo CromáTico Cie LabModelo CromáTico Cie Lab
Modelo CromáTico Cie Labdaniesc
 
Guia de buenas practicas ISO 12647
Guia de buenas practicas ISO 12647Guia de buenas practicas ISO 12647
Guia de buenas practicas ISO 12647Vitor Pedro
 
Gestion De Color En Photoshop
Gestion De Color En PhotoshopGestion De Color En Photoshop
Gestion De Color En Photoshopscratchfire
 
Charla de color y perfiles 2013
Charla de color y perfiles 2013Charla de color y perfiles 2013
Charla de color y perfiles 2013Rene DiMarco
 
Libro manual de produccion grafica arreglado r
Libro manual de produccion grafica arreglado rLibro manual de produccion grafica arreglado r
Libro manual de produccion grafica arreglado rclipofide
 
Proceso de Impresión Offset.
Proceso de Impresión Offset.Proceso de Impresión Offset.
Proceso de Impresión Offset.Luis Palomino
 

Destacado (11)

Gestión de calidad
Gestión de calidadGestión de calidad
Gestión de calidad
 
Tipo de operadores
Tipo de operadoresTipo de operadores
Tipo de operadores
 
El formato de archivo PDF como contenedor de información
El formato de archivo PDF como contenedor de informaciónEl formato de archivo PDF como contenedor de información
El formato de archivo PDF como contenedor de información
 
Agfa secretos-de-la-gestion-de-color
Agfa secretos-de-la-gestion-de-colorAgfa secretos-de-la-gestion-de-color
Agfa secretos-de-la-gestion-de-color
 
Modelo CromáTico Cie Lab
Modelo CromáTico Cie LabModelo CromáTico Cie Lab
Modelo CromáTico Cie Lab
 
Guia de buenas practicas ISO 12647
Guia de buenas practicas ISO 12647Guia de buenas practicas ISO 12647
Guia de buenas practicas ISO 12647
 
Gestion De Color En Photoshop
Gestion De Color En PhotoshopGestion De Color En Photoshop
Gestion De Color En Photoshop
 
Charla de color y perfiles 2013
Charla de color y perfiles 2013Charla de color y perfiles 2013
Charla de color y perfiles 2013
 
Libro manual de produccion grafica arreglado r
Libro manual de produccion grafica arreglado rLibro manual de produccion grafica arreglado r
Libro manual de produccion grafica arreglado r
 
TECNICAS DE IMPRESION
TECNICAS DE IMPRESIONTECNICAS DE IMPRESION
TECNICAS DE IMPRESION
 
Proceso de Impresión Offset.
Proceso de Impresión Offset.Proceso de Impresión Offset.
Proceso de Impresión Offset.
 

Similar a Seguridad en PDF: Adobe ¬¬

CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)Darwin Durand
 
Curso Java Inicial 8 Conceptos Avanzados I O
Curso Java Inicial   8 Conceptos Avanzados   I OCurso Java Inicial   8 Conceptos Avanzados   I O
Curso Java Inicial 8 Conceptos Avanzados I OEmilio Aviles Avila
 
La web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo ToolkitLa web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo ToolkitAlex Fuentes
 
Persistencia de objetos con Hibernate
Persistencia de objetos con HibernatePersistencia de objetos con Hibernate
Persistencia de objetos con HibernateMauro Gomez Mejia
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Ronald Cuello
 
UDA-Componentes RUP. Reporting
UDA-Componentes RUP. ReportingUDA-Componentes RUP. Reporting
UDA-Componentes RUP. ReportingAnder Martinez
 
UDA-Componentes RUP. Reporting
UDA-Componentes RUP. ReportingUDA-Componentes RUP. Reporting
UDA-Componentes RUP. ReportingAnder Martinez
 
Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetosJorge Ercoli
 
Blind X Path Injection
Blind X Path InjectionBlind X Path Injection
Blind X Path InjectionChema Alonso
 
Suarez l 2001 el paquete java io
Suarez l 2001 el paquete java ioSuarez l 2001 el paquete java io
Suarez l 2001 el paquete java ioLuis Lopez Ac
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magentoOnestic
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++mauro0210
 
Django - Plataforma de sitios web
Django - Plataforma de sitios webDjango - Plataforma de sitios web
Django - Plataforma de sitios webjcarazo
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSIan Monge Pérez
 
Procesamiento de XML en C#
Procesamiento de XML en C#Procesamiento de XML en C#
Procesamiento de XML en C#Jordan-P
 

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

Frameworks de templates y xml
Frameworks de templates y xmlFrameworks de templates y xml
Frameworks de templates y xml
 
CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)
 
Curso Java Inicial 8 Conceptos Avanzados I O
Curso Java Inicial   8 Conceptos Avanzados   I OCurso Java Inicial   8 Conceptos Avanzados   I O
Curso Java Inicial 8 Conceptos Avanzados I O
 
La web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo ToolkitLa web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo Toolkit
 
Persistencia de objetos con Hibernate
Persistencia de objetos con HibernatePersistencia de objetos con Hibernate
Persistencia de objetos con Hibernate
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
 
UDA-Componentes RUP. Reporting
UDA-Componentes RUP. ReportingUDA-Componentes RUP. Reporting
UDA-Componentes RUP. Reporting
 
UDA-Componentes RUP. Reporting
UDA-Componentes RUP. ReportingUDA-Componentes RUP. Reporting
UDA-Componentes RUP. Reporting
 
Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetos
 
Blind X Path Injection
Blind X Path InjectionBlind X Path Injection
Blind X Path Injection
 
Suarez l 2001 el paquete java io
Suarez l 2001 el paquete java ioSuarez l 2001 el paquete java io
Suarez l 2001 el paquete java io
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
Partesdeeclipse
PartesdeeclipsePartesdeeclipse
Partesdeeclipse
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++
 
Django - Plataforma de sitios web
Django - Plataforma de sitios webDjango - Plataforma de sitios web
Django - Plataforma de sitios web
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JS
 
Cap10 ficheros
Cap10 ficherosCap10 ficheros
Cap10 ficheros
 
Prog_II_archivo_guia_5
Prog_II_archivo_guia_5Prog_II_archivo_guia_5
Prog_II_archivo_guia_5
 
Procesamiento de XML en C#
Procesamiento de XML en C#Procesamiento de XML en C#
Procesamiento de XML en C#
 
Oc2008 Dojo Y Jee
Oc2008   Dojo Y JeeOc2008   Dojo Y Jee
Oc2008 Dojo Y Jee
 

Más de Alejandro Ramos

Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)Alejandro Ramos
 
Rooted con 2015 - Rojos y Azules: dos equipos con dos sabores
Rooted con 2015 - Rojos y Azules: dos equipos con dos saboresRooted con 2015 - Rojos y Azules: dos equipos con dos sabores
Rooted con 2015 - Rojos y Azules: dos equipos con dos saboresAlejandro Ramos
 
Cookies y otras tecnologías de monitorización en internet
Cookies y otras tecnologías de monitorización en internetCookies y otras tecnologías de monitorización en internet
Cookies y otras tecnologías de monitorización en internetAlejandro Ramos
 
Ejemplos de seguridad en aplicaciones moviles (IOS)
Ejemplos de seguridad en aplicaciones moviles (IOS) Ejemplos de seguridad en aplicaciones moviles (IOS)
Ejemplos de seguridad en aplicaciones moviles (IOS) Alejandro Ramos
 
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...Alejandro Ramos
 
Te pique lo que te pique, analiza un SQLite
Te pique lo que te pique, analiza un SQLiteTe pique lo que te pique, analiza un SQLite
Te pique lo que te pique, analiza un SQLiteAlejandro Ramos
 
Forense en windows - Resolución Reto I de Dragonjar
Forense en windows -  Resolución Reto I de DragonjarForense en windows -  Resolución Reto I de Dragonjar
Forense en windows - Resolución Reto I de DragonjarAlejandro Ramos
 
Análisis forense en linux - Compromised Linux Server
Análisis forense en linux - Compromised Linux ServerAnálisis forense en linux - Compromised Linux Server
Análisis forense en linux - Compromised Linux ServerAlejandro Ramos
 
Advanced password cracking
Advanced password crackingAdvanced password cracking
Advanced password crackingAlejandro Ramos
 
Jornada de ciberdefensa stuxnet
Jornada de ciberdefensa   stuxnetJornada de ciberdefensa   stuxnet
Jornada de ciberdefensa stuxnetAlejandro Ramos
 
Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0Alejandro Ramos
 
Pentest curso de verano - valencia 2010
Pentest curso de verano - valencia 2010Pentest curso de verano - valencia 2010
Pentest curso de verano - valencia 2010Alejandro Ramos
 
Fist - Negocio Pirateria
Fist - Negocio PirateriaFist - Negocio Pirateria
Fist - Negocio PirateriaAlejandro Ramos
 

Más de Alejandro Ramos (20)

Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
 
Rooted con 2015 - Rojos y Azules: dos equipos con dos sabores
Rooted con 2015 - Rojos y Azules: dos equipos con dos saboresRooted con 2015 - Rojos y Azules: dos equipos con dos sabores
Rooted con 2015 - Rojos y Azules: dos equipos con dos sabores
 
Cookies y otras tecnologías de monitorización en internet
Cookies y otras tecnologías de monitorización en internetCookies y otras tecnologías de monitorización en internet
Cookies y otras tecnologías de monitorización en internet
 
Ejemplos de seguridad en aplicaciones moviles (IOS)
Ejemplos de seguridad en aplicaciones moviles (IOS) Ejemplos de seguridad en aplicaciones moviles (IOS)
Ejemplos de seguridad en aplicaciones moviles (IOS)
 
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
 
Te pique lo que te pique, analiza un SQLite
Te pique lo que te pique, analiza un SQLiteTe pique lo que te pique, analiza un SQLite
Te pique lo que te pique, analiza un SQLite
 
Shodab
ShodabShodab
Shodab
 
Forense en windows - Resolución Reto I de Dragonjar
Forense en windows -  Resolución Reto I de DragonjarForense en windows -  Resolución Reto I de Dragonjar
Forense en windows - Resolución Reto I de Dragonjar
 
Análisis forense en linux - Compromised Linux Server
Análisis forense en linux - Compromised Linux ServerAnálisis forense en linux - Compromised Linux Server
Análisis forense en linux - Compromised Linux Server
 
Advanced password cracking
Advanced password crackingAdvanced password cracking
Advanced password cracking
 
Wargame
WargameWargame
Wargame
 
Jornada de ciberdefensa stuxnet
Jornada de ciberdefensa   stuxnetJornada de ciberdefensa   stuxnet
Jornada de ciberdefensa stuxnet
 
Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0
 
Pentest curso de verano - valencia 2010
Pentest curso de verano - valencia 2010Pentest curso de verano - valencia 2010
Pentest curso de verano - valencia 2010
 
Rooted2010 Otp
Rooted2010 OtpRooted2010 Otp
Rooted2010 Otp
 
Owasp Top10 FireFox
Owasp Top10 FireFoxOwasp Top10 FireFox
Owasp Top10 FireFox
 
Fist - Negocio Pirateria
Fist - Negocio PirateriaFist - Negocio Pirateria
Fist - Negocio Pirateria
 
Seguridad en Bluetooth
Seguridad en BluetoothSeguridad en Bluetooth
Seguridad en Bluetooth
 
DNI-E
DNI-EDNI-E
DNI-E
 
DoS En La Ciberguerra
DoS En La CiberguerraDoS En La Ciberguerra
DoS En La Ciberguerra
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (19)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

Seguridad en PDF: Adobe ¬¬

  • 1. GSIC 2011 Alejandro Ramos www.securitybydefault.com
  • 2. Manager del TigerTeam de SIA  Profesor en el MOSTIC de la Universidad Europea de Madrid  Editor de SecurityByDefault.com  Twitter: @aramosf  Blah Blah…
  • 3. Introducción  Estructura del PDT  Aspectos de seguridad  Análisis y creación de un PDF (¡sin word!)  Recomendaciones
  • 4.
  • 5.
  • 6.
  • 7. 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)
  • 8. 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 9.1 10
  • 9. 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 CVE-2010-1297 Flash Player authplay 9.3.3 8..2.3 CVE-2010-2883 CoolType SING 9.4 8.2
  • 10.
  • 12.
  • 13.
  • 14.
  • 15. Problematic Document Format  Penetration Document Format  Portable Document Format Polanski
  • 16.
  • 17. 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)
  • 18. Cabecera Objeto 1 2 3 Objeto 2 4 Objeto N Tabla XREF 5 6 7 Trailer
  • 19. 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  Ha de contener Catalogo: /Root Trailer  Número de entradas XREF /Size  Puede incluir información adicional: /Encrypt /Info /ID
  • 20. 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
  • 21. ID de objeto Revisión Tipo de Cabecera objeto 1 0 obj << Objeto /Type /Catalog /Pages 2 0 R Objeto >> Referencia a … endobj otro objeto Tabla XREF Trailer
  • 22. Cabecera %PDF-1.4 Objeto Objeto Versión del formato 1.0-1.7 … Tabla XREF Trailer
  • 23. 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
  • 25. $ 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')]
  • 26.
  • 27. 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
  • 28. NO SE CIFRA EL DOCUMENTO COMPLETO.  Objetos Stream y cadenas de texto.  Modificaciones en versiones
  • 29. 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
  • 30.
  • 31. 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.
  • 32. Mediante los objetos /Metadata e /Info  Fecha de creación, modificación, autor, software, correo electrónico…  Se almacenan revisiones
  • 33.
  • 34.
  • 35. 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
  • 36. 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.
  • 37.
  • 38. 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
  • 39. 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
  • 40.
  • 41. 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
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47. 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/index.ht ml PDF Dissector http://www.zynamics.com/dissector.html PDF Stream Dumper http://sandsprite.com/blogs/index.php?uid=7&pid=57 Opaf! http://feliam.wordpress.com/2010/08/23/opaf/
  • 48. Herramienta URL Malzilla http://malzilla.sourceforge.net/ SpiderMonkey https://www.mozilla.org/js/spidermonkey/ jsunpack https://code.google.com/p/jsunpack-n/
  • 49. 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
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55. 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/
  • 56.
  • 57. 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
  • 58. 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
  • 59. Podéis descargar esta presentación en PDF ;-) 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