SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
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
Fuente AvertLabs:
http://bit.ly/aOhWu5
   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')]
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/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
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
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

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
 
01 el lenguaje Python
01 el lenguaje Python01 el lenguaje Python
01 el lenguaje Python
 
Curso de Python
Curso de PythonCurso de Python
Curso de Python
 
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
 
(86)resumen visual basic
(86)resumen visual basic(86)resumen visual basic
(86)resumen visual basic
 
Taller I Coreis Python 10112009
Taller I Coreis Python 10112009Taller I Coreis Python 10112009
Taller I Coreis Python 10112009
 
Introducción a Swift
Introducción a SwiftIntroducción a Swift
Introducción a Swift
 
Arreglos en C++
Arreglos en C++Arreglos en C++
Arreglos en C++
 
Archivos
ArchivosArchivos
Archivos
 
Fundamentos POO en JS. Mixins y Traits.
Fundamentos POO en JS. Mixins y Traits.Fundamentos POO en JS. Mixins y Traits.
Fundamentos POO en JS. Mixins y Traits.
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - Serialización
 
Tutorial de php
Tutorial de phpTutorial de php
Tutorial de php
 
ORM Doctrine
ORM DoctrineORM Doctrine
ORM Doctrine
 
Lab
LabLab
Lab
 
Taller ruby
Taller rubyTaller ruby
Taller ruby
 
Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
 
U0108985
U0108985U0108985
U0108985
 
Introduccion a Doctrine 2 ORM
Introduccion a Doctrine 2 ORMIntroduccion a Doctrine 2 ORM
Introduccion a Doctrine 2 ORM
 
Programacion en python_1
Programacion en python_1Programacion en python_1
Programacion en python_1
 

Destacado

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
 
презентация 2009 Pavlovsky Posad
презентация 2009 Pavlovsky Posadпрезентация 2009 Pavlovsky Posad
презентация 2009 Pavlovsky PosadIvanVR
 
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
 
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
 
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
 
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
 
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
 

Destacado (9)

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
 
Shodab
ShodabShodab
Shodab
 
презентация 2009 Pavlovsky Posad
презентация 2009 Pavlovsky Posadпрезентация 2009 Pavlovsky Posad
презентация 2009 Pavlovsky Posad
 
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
 
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)
 
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)
 
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
 
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
 

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
 
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
 
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
 
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 Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Ronald Cuello
 
Persistencia de objetos con Hibernate
Persistencia de objetos con HibernatePersistencia de objetos con Hibernate
Persistencia de objetos con HibernateMauro Gomez Mejia
 
Blind X Path Injection
Blind X Path InjectionBlind X Path Injection
Blind X Path InjectionChema Alonso
 
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
 
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
 
Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetosJorge Ercoli
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magentoOnestic
 

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
 
Presentación appy/pod
Presentación appy/podPresentación appy/pod
Presentación appy/pod
 
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)
 
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
 
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
 
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 Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
 
Persistencia de objetos con Hibernate
Persistencia de objetos con HibernatePersistencia de objetos con Hibernate
Persistencia de objetos con Hibernate
 
Blind X Path Injection
Blind X Path InjectionBlind X Path Injection
Blind X Path Injection
 
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
 
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
 
Partesdeeclipse
PartesdeeclipsePartesdeeclipse
Partesdeeclipse
 
Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetos
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
Oc2008 Dojo Y Jee
Oc2008   Dojo Y JeeOc2008   Dojo Y Jee
Oc2008 Dojo Y Jee
 
Cap10 ficheros
Cap10 ficherosCap10 ficheros
Cap10 ficheros
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
Serializacion
SerializacionSerializacion
Serializacion
 

Más de Alejandro 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
 
Crapcha Sv1.0 Slide Share
Crapcha Sv1.0   Slide ShareCrapcha Sv1.0   Slide Share
Crapcha Sv1.0 Slide ShareAlejandro Ramos
 

Más de Alejandro Ramos (13)

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
 
Crapcha Sv1.0 Slide Share
Crapcha Sv1.0   Slide ShareCrapcha Sv1.0   Slide Share
Crapcha Sv1.0 Slide Share
 

Último

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
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
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
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
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 

Último (20)

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
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
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
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
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 

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
  • 7.
  • 9.
  • 10.
  • 11.
  • 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')]
  • 21.
  • 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
  • 27.
  • 28.
  • 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
  • 33.
  • 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
  • 35.
  • 36.
  • 37.
  • 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
  • 41.
  • 42.
  • 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/
  • 44.
  • 45.
  • 46.
  • 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