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

Windows Server 2008 & Windows 7
Windows Server 2008 & Windows 7Windows Server 2008 & Windows 7
Windows Server 2008 & Windows 7Chema Alonso
 
Client side attacks in web applications
Client side attacks in web applicationsClient side attacks in web applications
Client side attacks in web applicationsEventos Creativos
 
Evolución de las soluciones antimalware
Evolución de las soluciones antimalwareEvolución de las soluciones antimalware
Evolución de las soluciones antimalwareEventos Creativos
 
La seguridad sí importa: Windows Live & IE9
La seguridad sí importa: Windows Live & IE9La seguridad sí importa: Windows Live & IE9
La seguridad sí importa: Windows Live & IE9Eventos Creativos
 
Gestión seguridad de la navegación por internet
Gestión seguridad de la navegación por internetGestión seguridad de la navegación por internet
Gestión seguridad de la navegación por internetEventos Creativos
 
MetaShield Protector & FOCA 2.0
MetaShield Protector & FOCA 2.0MetaShield Protector & FOCA 2.0
MetaShield Protector & FOCA 2.0Chema Alonso
 
Seguridad y auditoría en entorno microsoft
Seguridad y auditoría en entorno microsoftSeguridad y auditoría en entorno microsoft
Seguridad y auditoría en entorno microsoftEventos Creativos
 
El Malware de hoy en día, pero a día de hoy
El Malware de hoy en día, pero a día de hoyEl Malware de hoy en día, pero a día de hoy
El Malware de hoy en día, pero a día de hoyEventos Creativos
 
Nuevas amenazas en dispositivos móviles
Nuevas amenazas en dispositivos móvilesNuevas amenazas en dispositivos móviles
Nuevas amenazas en dispositivos móvilesEventos Creativos
 
Nuevas amenazas en dispositivos móviles
Nuevas amenazas en dispositivos móvilesNuevas amenazas en dispositivos móviles
Nuevas amenazas en dispositivos móvilesEventos Creativos
 
Windows Server 2008 R2 Brand Cache
Windows Server 2008 R2 Brand CacheWindows Server 2008 R2 Brand Cache
Windows Server 2008 R2 Brand CacheChema Alonso
 
DUST: Sistemas RSS a prueba de balas
DUST: Sistemas RSS a prueba de balasDUST: Sistemas RSS a prueba de balas
DUST: Sistemas RSS a prueba de balasEventos Creativos
 
¿Sueñan los crackers con ordenadores cuánticos
¿Sueñan los crackers con ordenadores cuánticos¿Sueñan los crackers con ordenadores cuánticos
¿Sueñan los crackers con ordenadores cuánticosEventos Creativos
 

Destacado (20)

Windows Server 2008 & Windows 7
Windows Server 2008 & Windows 7Windows Server 2008 & Windows 7
Windows Server 2008 & Windows 7
 
Client side attacks in web applications
Client side attacks in web applicationsClient side attacks in web applications
Client side attacks in web applications
 
Seguridad en tu red
Seguridad en tu redSeguridad en tu red
Seguridad en tu red
 
Evolución de las soluciones antimalware
Evolución de las soluciones antimalwareEvolución de las soluciones antimalware
Evolución de las soluciones antimalware
 
La seguridad sí importa: Windows Live & IE9
La seguridad sí importa: Windows Live & IE9La seguridad sí importa: Windows Live & IE9
La seguridad sí importa: Windows Live & IE9
 
Gestión seguridad de la navegación por internet
Gestión seguridad de la navegación por internetGestión seguridad de la navegación por internet
Gestión seguridad de la navegación por internet
 
MetaShield Protector & FOCA 2.0
MetaShield Protector & FOCA 2.0MetaShield Protector & FOCA 2.0
MetaShield Protector & FOCA 2.0
 
Seguridad y auditoría en entorno microsoft
Seguridad y auditoría en entorno microsoftSeguridad y auditoría en entorno microsoft
Seguridad y auditoría en entorno microsoft
 
La dura vida del Pentester
La dura vida del PentesterLa dura vida del Pentester
La dura vida del Pentester
 
Rooted2010 Otp
Rooted2010 OtpRooted2010 Otp
Rooted2010 Otp
 
El Malware de hoy en día, pero a día de hoy
El Malware de hoy en día, pero a día de hoyEl Malware de hoy en día, pero a día de hoy
El Malware de hoy en día, pero a día de hoy
 
Terminal Hackplications
Terminal HackplicationsTerminal Hackplications
Terminal Hackplications
 
Bindiffing patches
Bindiffing patchesBindiffing patches
Bindiffing patches
 
Nuevas amenazas en dispositivos móviles
Nuevas amenazas en dispositivos móvilesNuevas amenazas en dispositivos móviles
Nuevas amenazas en dispositivos móviles
 
Nuevas amenazas en dispositivos móviles
Nuevas amenazas en dispositivos móvilesNuevas amenazas en dispositivos móviles
Nuevas amenazas en dispositivos móviles
 
Windows Server 2008 R2 Brand Cache
Windows Server 2008 R2 Brand CacheWindows Server 2008 R2 Brand Cache
Windows Server 2008 R2 Brand Cache
 
Hacking Scada
Hacking ScadaHacking Scada
Hacking Scada
 
DUST: Sistemas RSS a prueba de balas
DUST: Sistemas RSS a prueba de balasDUST: Sistemas RSS a prueba de balas
DUST: Sistemas RSS a prueba de balas
 
¿Sueñan los crackers con ordenadores cuánticos
¿Sueñan los crackers con ordenadores cuánticos¿Sueñan los crackers con ordenadores cuánticos
¿Sueñan los crackers con ordenadores cuánticos
 
Foca reporting.
Foca reporting.Foca reporting.
Foca reporting.
 

Similar a Csi: siempre quisiste ser forense

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 Csi: siempre quisiste ser forense (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 Eventos Creativos

La informática se creó en las calles: Microhistorias de Apple y Microsoft
La informática se creó en las calles: Microhistorias de Apple y MicrosoftLa informática se creó en las calles: Microhistorias de Apple y Microsoft
La informática se creó en las calles: Microhistorias de Apple y MicrosoftEventos Creativos
 
Pentesting con metasploit framework
Pentesting con metasploit frameworkPentesting con metasploit framework
Pentesting con metasploit frameworkEventos Creativos
 
Despliegue empresarial de smartphones mdm
Despliegue empresarial de smartphones   mdmDespliegue empresarial de smartphones   mdm
Despliegue empresarial de smartphones mdmEventos Creativos
 
Atacando iphone a través de wireless y javascript botnet
Atacando iphone a través de wireless y javascript botnetAtacando iphone a través de wireless y javascript botnet
Atacando iphone a través de wireless y javascript botnetEventos Creativos
 
Ataque a redes de datos IPv6 con Evil Foca
Ataque a redes de datos IPv6 con Evil FocaAtaque a redes de datos IPv6 con Evil Foca
Ataque a redes de datos IPv6 con Evil FocaEventos Creativos
 
Análisis forense de dispositivos android 03
Análisis forense de dispositivos android 03Análisis forense de dispositivos android 03
Análisis forense de dispositivos android 03Eventos Creativos
 
Análisis forense de dispositivos android 02
Análisis forense de dispositivos android 02Análisis forense de dispositivos android 02
Análisis forense de dispositivos android 02Eventos Creativos
 
Análisis forense de dispositivos android 01
Análisis forense de dispositivos android 01Análisis forense de dispositivos android 01
Análisis forense de dispositivos android 01Eventos Creativos
 
Análisis forense de dispositivos ios
Análisis forense de dispositivos iosAnálisis forense de dispositivos ios
Análisis forense de dispositivos iosEventos Creativos
 
Arquitectura, aplicaciones y seguridad en ios
Arquitectura, aplicaciones y seguridad en iosArquitectura, aplicaciones y seguridad en ios
Arquitectura, aplicaciones y seguridad en iosEventos Creativos
 
Jailbreak y rooting más allá de los límites del dispositivo
Jailbreak y rooting más allá de los límites del dispositivoJailbreak y rooting más allá de los límites del dispositivo
Jailbreak y rooting más allá de los límites del dispositivoEventos Creativos
 
I os en el entorno corporativo
I os en el entorno corporativoI os en el entorno corporativo
I os en el entorno corporativoEventos Creativos
 
Análisis forense de tarjetas sim, smartcards, etc
Análisis forense de tarjetas sim, smartcards, etcAnálisis forense de tarjetas sim, smartcards, etc
Análisis forense de tarjetas sim, smartcards, etcEventos Creativos
 
Firma digital y biométrica en dispositivos móviles
Firma digital y biométrica en dispositivos móvilesFirma digital y biométrica en dispositivos móviles
Firma digital y biométrica en dispositivos móvilesEventos Creativos
 
Fraude en tecnológias móviles
Fraude en tecnológias móvilesFraude en tecnológias móviles
Fraude en tecnológias móvilesEventos Creativos
 

Más de Eventos Creativos (20)

La informática se creó en las calles: Microhistorias de Apple y Microsoft
La informática se creó en las calles: Microhistorias de Apple y MicrosoftLa informática se creó en las calles: Microhistorias de Apple y Microsoft
La informática se creó en las calles: Microhistorias de Apple y Microsoft
 
Windows server 2012 para it
Windows server 2012 para itWindows server 2012 para it
Windows server 2012 para it
 
Pentesting con metasploit framework
Pentesting con metasploit frameworkPentesting con metasploit framework
Pentesting con metasploit framework
 
Malware en android
Malware en androidMalware en android
Malware en android
 
Despliegue empresarial de smartphones mdm
Despliegue empresarial de smartphones   mdmDespliegue empresarial de smartphones   mdm
Despliegue empresarial de smartphones mdm
 
Atacando iphone a través de wireless y javascript botnet
Atacando iphone a través de wireless y javascript botnetAtacando iphone a través de wireless y javascript botnet
Atacando iphone a través de wireless y javascript botnet
 
Ataque a redes de datos IPv6 con Evil Foca
Ataque a redes de datos IPv6 con Evil FocaAtaque a redes de datos IPv6 con Evil Foca
Ataque a redes de datos IPv6 con Evil Foca
 
Windows 8
Windows 8Windows 8
Windows 8
 
Análisis forense de dispositivos android 03
Análisis forense de dispositivos android 03Análisis forense de dispositivos android 03
Análisis forense de dispositivos android 03
 
Análisis forense de dispositivos android 02
Análisis forense de dispositivos android 02Análisis forense de dispositivos android 02
Análisis forense de dispositivos android 02
 
Análisis forense de dispositivos android 01
Análisis forense de dispositivos android 01Análisis forense de dispositivos android 01
Análisis forense de dispositivos android 01
 
Análisis forense de dispositivos ios
Análisis forense de dispositivos iosAnálisis forense de dispositivos ios
Análisis forense de dispositivos ios
 
Arquitectura, aplicaciones y seguridad en ios
Arquitectura, aplicaciones y seguridad en iosArquitectura, aplicaciones y seguridad en ios
Arquitectura, aplicaciones y seguridad en ios
 
Jailbreak y rooting más allá de los límites del dispositivo
Jailbreak y rooting más allá de los límites del dispositivoJailbreak y rooting más allá de los límites del dispositivo
Jailbreak y rooting más allá de los límites del dispositivo
 
I os en el entorno corporativo
I os en el entorno corporativoI os en el entorno corporativo
I os en el entorno corporativo
 
Análisis forense de tarjetas sim, smartcards, etc
Análisis forense de tarjetas sim, smartcards, etcAnálisis forense de tarjetas sim, smartcards, etc
Análisis forense de tarjetas sim, smartcards, etc
 
Lo que las apps esconden
Lo que las apps escondenLo que las apps esconden
Lo que las apps esconden
 
Firma digital y biométrica en dispositivos móviles
Firma digital y biométrica en dispositivos móvilesFirma digital y biométrica en dispositivos móviles
Firma digital y biométrica en dispositivos móviles
 
Nfc en móviles
Nfc en móvilesNfc en móviles
Nfc en móviles
 
Fraude en tecnológias móviles
Fraude en tecnológias móvilesFraude en tecnológias móviles
Fraude en tecnológias móviles
 

Último

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
 
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
 
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
 
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
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
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
 
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
 
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
 
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
 
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
 
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
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
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
 

Último (16)

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
 
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
 
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
 
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...
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
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)
 
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
 
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
 
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
 
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
 
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
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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
 
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
 

Csi: siempre quisiste ser forense

  • 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