SlideShare uma empresa Scribd logo
1 de 70
APPLIED CRYPTOGRAPHY

Dime un algoritmo para cifrar
la base de datos                     FAILS


                                   #Rooted2012
                Base64 !


                                    Yago Jesus / @YJesus
TODO VIP (Cosas pendientes por hacer)



1- Dar una charla en Rootedcon

2- Besar por primera vez a una chica humana

3- Viajar a Moscú


4- Conducir un F1

5- Hacer que SbD tenga mas visitas que 'el lado del mal'
Presentación

$ whois YagoJesus

Domain name : YagoJesus

Record expires on :??-??-??
Record created on :10-08-1977

Administrative Contact: Yjesus@security-projects.com
Twitter: @Yjesus
Blog: www.securitybydefault.com
Homepage: www.security-projects.com
Algunas cosas que he hecho

                     A nivel profesional

•    Despliegue de la PKI Dni-e
•    Diseño aplicativo para cifrado de dispositivos móviles
•    Responsable área Seguridad en proyecto sector
     defensa

                        Como Hobby

•    'Unhide': Herramienta forense
•    'Patriot NG': Herramienta anti-malware
DISCLAIMER


                  De que NO va esta charla



•    DivertidaZZzzZZ explicaciones sobre P y Q

•    Factorización de números primos

•    Colisiones

•    Ataques de cumpleaños
'Cryptography is typically bypassed, not penetrated'



                                        -Adi Shamir
Criptografía aplicada

  •    Una vez elegidos los
       algoritmos criptográficos toca
       diseñar la arquitectura y hacer
       la implementación.

  •    Estas fases son las mas críticas
       y donde se cometen mas
       errores

  •    Incluso aunque la tecnología y
       algoritmia escogida sean
       robustas, un mal diseño da al
       traste con todo
CONTENIDO DE LA CHARLA



•    Comunicaciones seguras

•    Entidades de certificación (CAs)

•    Certificados digitales SSL

•    Certificados digitales en software


•    SmartCards
COMUNICACIONES
SEGURAS(?)
Comunicaciones Seguras




•    Cuando se desea enviar información
     sensible se emplean comunicaciones
     seguras

•    Existen sistemas basados en VPN con
     autenticación mutua

•    O simplemente envíos encapsulados
     bajo protocolo SSL
Comunicaciones Seguras
Wazzup WhatsApp !

                        •    Sistema de envío de mensajes
                             para dispositivos móviles

                        •    Disponible en casi cualquier
                             plataforma (Android, IOS,
                             Symbian)

                        •    Ampliamente difundido en
                             España

                        •    Proceso de alta de usuarios
                             'oscuro'
Comunicaciones Seguras
Wazzup WhatsApp !




             Verificación por auto-envío de sms



                     MD5         ads0ersdssds

             Creación contraseña aleatoria



                           SSL


               https://xmpp-reg.whatsapp.net
Comunicaciones Seguras
Wazzup WhatsApp !

  Ataque 'Man In The Middle' AKA Remedios Cervantes




                ¡¡ Que mal rollo Whatsapp !!
Comunicaciones Seguras
Wazzup WhatsApp !

Primer intento: MitM clásico




                                             #FAIL !
Comunicaciones Seguras
Wazzup WhatsApp !




                     •    WhatsApp VERIFICA que el
                          certificado emitido provenga de
                          una CA de confianza

                     •    Adicionalmente, comprueba que
                          exista una cadena de
                          certificados CA --> CA Sub -->
                          Certificado
Comunicaciones Seguras
Wazzup WhatsApp !



              Lo que espera WhatsApp




                                       xmpp-reg.whatsapp.net
Comunicaciones Seguras
Wazzup WhatsApp !



              Lo que nosotros queremos




                                  LOW ASSURANCE SSL

                                                      xmpp-reg.whatsapp.net
Comunicaciones Seguras
Wazzup WhatsApp !




    ROOT CA




                        SUB CA




                                     xmpp-reg.whatsapp.net
Comunicaciones Seguras
Wazzup WhatsApp !



                                  Cargamos el certificado de
                                  nuestra CA en el keystore




                                Lanzamos un ataque ARP Spoof




                                    Capturamos la petición
Comunicaciones Seguras
Wazzup WhatsApp !


     POST /client/iphone/
     ae5cba216aec3b0dfbe449ec219c24b.php
     HTTP/1.1
     Content-Length: 61
     Content-Type: application/x-www-form-urlencoded;
     charset=UTF-8
     Host: xmpp-reg.whatsapp.net
     Connection: Keep-Alive
     User-Agent: WhatsApp/2.6.4531 Android/2.2 Device/
     unknown-sdk


     cc=34&me=682334455&udid=5284047f4ffb4e04824a2fd1d
     1f0cd62&bb=1
Entidades de certificación
         (CAs)
Entidades de certificación (CAs)




•    Son el garante de la seguridad de las
     comunicaciones en Internet

•    Deben pasar un exhaustivo proceso
     para ser admitidas por Microsoft o
     Mozilla

•    Deben cumplir estrictas políticas de
     emisión de certificados
Entidades de certificación (CAs)


Shit Happens
Entidades de certificación (CAs)

    ¿En manos de quién está la seguridad
    en Internet?

    •    130 Entidades con CAs reconocidas por Microsoft


    •    44 Países


    •    CAs de países NO democráticos (China, Tunez)


    •    CAs de paraísos fiscales (Bermudas, Singapur)


Problema: Cualquiera puede emitir certificados para :
Entidades de certificación (CAs)
10 CAs reconocidas por Microsoft




                                                             Nikto



                                   ¡¡ 198 VULNERABILIDADES !!
Entidades de certificación (CAs)


Realmente necesito confiar en :

•    Japanese Government (Japón)


•    China Internet Network Information Center (China)


•    Hongkong Post (Hong Kong)


•    U.S. Government (EEUU)


•    Autoridad de Certificacion Raiz del Estado Venezolano


 ... Y otros muchos ejemplos más
• 
Entidades de certificación (CAs)
Entidades de certificación (CAs)




SSL Cop 1.0


•    Permite bloquear CAs en función de su procedencia
     geográfica

•    Windows / Explorer / Chrome

•    Futuras versiones: Firefox / Linux
CERTIFICADOS SSL
El axioma del Candado SSL = Confianza


Cómo funciona SSL

                           undominio.com
El axioma del Candado SSL = Confianza


Un certificado digital SSL:


Asegura la identidad de un sitio web




 Certifica la seguridad del contenido
• 
El axioma del Candado SSL = Confianza
El axioma del Candado SSL = Confianza

¿Que hay que hacer para obtener un
certificado digital SSL?

Tener acceso a una de estas cuentas de correo del
dominio:

•    admin@
•    administrator@
•    hostmaster@
•    info@
•    root@
•    ssladmin@
•    sysadmin@
•    webmaster@
El axioma del Candado SSL = Confianza

El caso VODAFAIL
                             Vodafone ofrece a sus
                             clientes la posibilidad de
                             registrar una cuenta de
                             correo como por ejemplo:

                             Carlos.garcia@vodafone.es

                             Y también disponible:


                             ssladmin@vodafone.es
El axioma del Candado SSL = Confianza

El caso VODAFAIL




                                 ¡ Gracias Comodo por
                                 simplificar tanto el
                                 proceso !
El axioma del Candado SSL = Confianza

El caso VODAFAIL
El axioma del Candado SSL = Confianza

Más sitios vulnerables
El axioma del Candado SSL = Confianza



  ¿Puedo conseguir un
  certificado SSL para
  un dominio
  ‘TypoSquatting’ que
  albergue PHISHING ?




                         #SaberYGanar
El axioma del Candado SSL = Confianza
https://www.payopal.net
El axioma del Candado SSL = Confianza
https://www.payopal.net

 https://www.payopal.net
El axioma del Candado SSL = Confianza

     Consideraciones finales



•     Los certificados SSL 'normales' son claramente una
      falacia

•     Existen otro tipo de certificados denominados 'de
      validación extendida' (EV) que requieren una auditoría
      previa para su obtención

•     Precio de un certificado SSL normal= 10$
•     Precio de un certificado EV = 1.000$
Certificados digitales en
         Software
Certificados digitales en software



•     La generación de claves se realiza
      mediante un elemento software (sistema
      operativo, navegador web ...)

•     La custodia de las claves privadas está
      protegida por software

•     S/MIME

•     Certificados personales E-Administración
Certificados digitales en software



PKCS #12




                                      PIN
                               (Intentos ilimitados)
Certificados digitales en software

                             Brute12

  Herramienta para hacer 'brute forcing' de ficheros
  • 

  PKCS#12




Http://www.security-projects.com/?Brute12
Certificados digitales en software
Certificados digitales en software

Generación de claves en navegador
Certificados digitales en software

Generación de claves en navegador



 Niveles de seguridad en Windows para custodia de claves
 privadas:

 Bajo (Solo XP): La clave privada se puede usar a
 discreción sin notificación o conocimiento del usuario

 Medio: Para usar la clave privada es necesario que el
 usuario pulse 'OK'

 Alto: Para hacer uso de la clave privada hay que introducir
 una contraseña
Certificados digitales en software

Generación de claves en navegador


ActiveX Xenroll (Windows XP)


put_GenKeyFlags
      CRYPT_USER_PROTECTED --> nivel medio
      CRYPT_FORCE_KEY_PROTECTION_HIGH --> nivel medio


ActiveX Certenroll (Windows Vista / 7)

put_KeyProtection
      XCN_NCRYPT_UI_PROTECT_KEY_FLAG --> nivel medio
      XCN_NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG --> nivel alto
Certificados digitales en software


FNMT: Insecure By Default

                         •    Entidad pública de certificación

                         •    Más de 2.500.000 de
                              certificados emitidos

                         •    Toda la 'E-Admistración' es
                              accesible con sus certificados

                         •    Comúnmente empleados para la
                              declaración de la Renta
Certificados digitales en software


FNMT: Insecure By Default

 Durante la generación de claves hay dos elementos
 inseguros en el proceso:

 1- La clave privada queda marcada como 'exportable'
 2- El nivel de seguridad elegido en Windows es 'medio'
Certificados digitales en software

FNMT: Insecure By Default

 Recapitulando:

 Claves exportables   + Nivel 2 de seguridad
 ¡¡ Estamos a un click de las claves privadas !!
Certificados digitales en software

 FNMT: Insecure By Default

                           CertDump

  Herramienta de auditoría de contenedores criptográficos
  • 

  en Windows

  Permite extraer las claves privadas exportables con nivel
  • 

  de seguridad 1 y 2

  Hace un 'bypass' del nivel de seguridad 2
  • 


  'auto-aceptando' el popup llamando a la función
  SendInput() que permite enviar pulsaciones de teclas


Http://www.security-projects.com/?CertDump
Certificados digitales en software

FNMT: Insecure By Default
SmartCards
SmartCards



•    La generación de claves se realiza
     enteramente en el dispositivo
     Hardware

•    Para hacer uso de la clave privada se
     exige un PIN

•    Las claves privadas NO son
     exportables ni recuperables
SmartCards


•    Pese a que una solución SmartCard resulta inviolable
     desde el punto de vista criptográfico, el entorno sigue
     siendo vulnerable

•    La interactuación con la tarjeta se realiza con medios
     gestionados por el sistema operativo (Teclado)

•    Las SmartCards no tienen forma de verificar si están
     siendo empleadas con intervención humana o no

•    Windows es un sistema operativo 'rico' en APIs para
     automatizar procesos gráficos
SmartCards
Ataque al DNI-e

                  •    Proyecto pionero en despliegue
                       masivo de SmartCards a nivel
                       ciudadano

                  •    Más de 23.000.000 de DNIs
                       electrónicos expedidos

                  •    Numerosas iniciativas han
                       promovido su uso regalando
                       lectores

                  •    Firma digital = firma manuscrita
SmartCards
Ataque al DNI-e
                      Robo de PIN




            Petición web reutilizando el PIN




              Robo de datos confidenciales
SmartCards
Ataque al DNI-e
                  Robando el PIN (Keylogger)



                         •     Las operaciones de firma digital
                               con el DNI-e requieren
                               introducir un PIN en una
                               ventana similar a esta

                         •     Ni el DNI-e ni el software que lo
                               acompaña habilita defensa anti
                               'keyloggers'
SmartCards
Ataque al DNI-e
                     Robando el PIN (Keylogger)




     Fingerprinting DNI-E
SmartCards
Ataque al DNI-e
                     Robando el PIN (Keylogger)


 •    Empleando la función FindWindow() podemos localizar
      cualquier ventana por su 'caption'

 •    La función GetAsyncKeyState() permite capturar las
      pulsaciones del teclado

 •    Una vez localizada la ventana del PIN, podemos
      capturar el PIN leyendo las pulsaciones del teclado
SmartCards
Ataque al DNI-e
                  Robando el PIN (Phishing)




                                         Fake Window
SmartCards
Ataque al DNI-e

                  Esperando a que el PC esté inactivo




            GetLastInputInfo()
SmartCards
Ataque al DNI-e

                  Threads para rellenar ventanas




              FindWindow()




                                           SendInput()
SmartCards
Ataque al DNI-e

                  Objeto OLE Internet Explorer




                         InternetExplorer.Application
SmartCards
Ataque al DNI-e
                      Lanzando una petición desatendida



 •    Haciendo uso de la función GetLastInputInfo() podemos
      saber cuando el equipo permanece inactivo

 •    Empleando el objeto OLE InternetExplorer.Application
      podemos usar Internet Explorer de forma desatendida

 •    Navegamos hacia una web que requiera DNI-e

 •    Cuando aparezca el popup enviamos el PIN capturado
      empleando SendInput()
SmartCards

Ataque al DNI-e
                     Ideas malévolas

 •    Obtener los datos fiscales


 •    Modificar los datos fiscales

 •    Solicitar una beca fraudulentamente

 •    Firmar un E-Contrato

 •    Acceder a banca Online y hacer operaciones
md5sum{ ¿Dudas? }
sha1sum{ ¡¡ Gracias !! }




        @YJesus

Mais conteúdo relacionado

Mais procurados

Backtrack 5 wireless penetration testing castellano
Backtrack 5 wireless penetration testing castellanoBacktrack 5 wireless penetration testing castellano
Backtrack 5 wireless penetration testing castellano
Elias Santos
 

Mais procurados (7)

Estrategias de Ciberseguridad para enfrentar Amenzas Emergentes
Estrategias de Ciberseguridad para enfrentar Amenzas EmergentesEstrategias de Ciberseguridad para enfrentar Amenzas Emergentes
Estrategias de Ciberseguridad para enfrentar Amenzas Emergentes
 
Be Aware Webinar - Como symantec puede ayudar cuando existe una brecha de se...
 Be Aware Webinar - Como symantec puede ayudar cuando existe una brecha de se... Be Aware Webinar - Como symantec puede ayudar cuando existe una brecha de se...
Be Aware Webinar - Como symantec puede ayudar cuando existe una brecha de se...
 
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
 
Backtrack 5 wireless penetration testing castellano
Backtrack 5 wireless penetration testing castellanoBacktrack 5 wireless penetration testing castellano
Backtrack 5 wireless penetration testing castellano
 
Auditoría wireless
Auditoría wirelessAuditoría wireless
Auditoría wireless
 
Summer boot camp sciende umh
Summer boot camp sciende umhSummer boot camp sciende umh
Summer boot camp sciende umh
 
Abraham Pasamar & Carlos Fernández - Purple brain, purple brain ... [rooted2019]
Abraham Pasamar & Carlos Fernández - Purple brain, purple brain ... [rooted2019]Abraham Pasamar & Carlos Fernández - Purple brain, purple brain ... [rooted2019]
Abraham Pasamar & Carlos Fernández - Purple brain, purple brain ... [rooted2019]
 

Destaque

Manu Quintans y Frank Ruiz - All Your Crimeware Are Belong To Us! [RootedCON ...
Manu Quintans y Frank Ruiz - All Your Crimeware Are Belong To Us! [RootedCON ...Manu Quintans y Frank Ruiz - All Your Crimeware Are Belong To Us! [RootedCON ...
Manu Quintans y Frank Ruiz - All Your Crimeware Are Belong To Us! [RootedCON ...
RootedCON
 
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]
RootedCON
 

Destaque (11)

José Miguel Esparza y Mikel Gastesi - Social Engineering in Banking Trojans: ...
José Miguel Esparza y Mikel Gastesi - Social Engineering in Banking Trojans: ...José Miguel Esparza y Mikel Gastesi - Social Engineering in Banking Trojans: ...
José Miguel Esparza y Mikel Gastesi - Social Engineering in Banking Trojans: ...
 
Guillermo Grande y Alberto Ortega - Building an IP reputation engine, trackin...
Guillermo Grande y Alberto Ortega - Building an IP reputation engine, trackin...Guillermo Grande y Alberto Ortega - Building an IP reputation engine, trackin...
Guillermo Grande y Alberto Ortega - Building an IP reputation engine, trackin...
 
Pedro Sánchez - Hospital Central. Historia de una extorsión [RootedCON 2012]
Pedro Sánchez - Hospital Central. Historia de una extorsión [RootedCON 2012]Pedro Sánchez - Hospital Central. Historia de una extorsión [RootedCON 2012]
Pedro Sánchez - Hospital Central. Historia de una extorsión [RootedCON 2012]
 
Modulo 5
Modulo 5Modulo 5
Modulo 5
 
Manu Quintans y Frank Ruiz - All Your Crimeware Are Belong To Us! [RootedCON ...
Manu Quintans y Frank Ruiz - All Your Crimeware Are Belong To Us! [RootedCON ...Manu Quintans y Frank Ruiz - All Your Crimeware Are Belong To Us! [RootedCON ...
Manu Quintans y Frank Ruiz - All Your Crimeware Are Belong To Us! [RootedCON ...
 
Eloi Sanfélix y Javier Moreno - Hardware hacking on your couch [RootedCON 2012]
Eloi Sanfélix y Javier Moreno - Hardware hacking on your couch [RootedCON 2012]Eloi Sanfélix y Javier Moreno - Hardware hacking on your couch [RootedCON 2012]
Eloi Sanfélix y Javier Moreno - Hardware hacking on your couch [RootedCON 2012]
 
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
 
Chema Alonso y Manu "The Sur" - Owning “bad” guys {and mafia} with Javascript...
Chema Alonso y Manu "The Sur" - Owning “bad” guys {and mafia} with Javascript...Chema Alonso y Manu "The Sur" - Owning “bad” guys {and mafia} with Javascript...
Chema Alonso y Manu "The Sur" - Owning “bad” guys {and mafia} with Javascript...
 
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]
 
Juan Garrido - Corporate Forensics: Saca partido a tu arquitectura[RootedCON ...
Juan Garrido - Corporate Forensics: Saca partido a tu arquitectura[RootedCON ...Juan Garrido - Corporate Forensics: Saca partido a tu arquitectura[RootedCON ...
Juan Garrido - Corporate Forensics: Saca partido a tu arquitectura[RootedCON ...
 
Carlos Díaz y Fco. Jesús Gómez - CMD: Look who's talking too [RootedCON 2012]
Carlos Díaz y Fco. Jesús Gómez - CMD: Look who's talking too [RootedCON 2012]Carlos Díaz y Fco. Jesús Gómez - CMD: Look who's talking too [RootedCON 2012]
Carlos Díaz y Fco. Jesús Gómez - CMD: Look who's talking too [RootedCON 2012]
 

Semelhante a Yago Jesús - Applied Cryptography FAILs [RootedCON 2012]

Infraestructura PKI
Infraestructura PKIInfraestructura PKI
Infraestructura PKI
dsantosc
 
Retos adm electr_y_voto_electronico
Retos adm electr_y_voto_electronicoRetos adm electr_y_voto_electronico
Retos adm electr_y_voto_electronico
domingosuarez
 
Conozca y detecte los nuevos ataques cibernéticos apt a los que se expone su ...
Conozca y detecte los nuevos ataques cibernéticos apt a los que se expone su ...Conozca y detecte los nuevos ataques cibernéticos apt a los que se expone su ...
Conozca y detecte los nuevos ataques cibernéticos apt a los que se expone su ...
Jose Molina
 
Seguridad de usuario en el acceso a internet 1
Seguridad de usuario en el acceso a internet 1Seguridad de usuario en el acceso a internet 1
Seguridad de usuario en el acceso a internet 1
Cein
 
Que es Hosting
Que es HostingQue es Hosting
Que es Hosting
sac001dark
 

Semelhante a Yago Jesús - Applied Cryptography FAILs [RootedCON 2012] (20)

Firma Digital - Certificados SSL (Diego Laborero - MacroSeguridad)
Firma Digital - Certificados SSL (Diego Laborero - MacroSeguridad)Firma Digital - Certificados SSL (Diego Laborero - MacroSeguridad)
Firma Digital - Certificados SSL (Diego Laborero - MacroSeguridad)
 
Infraestructura PKI
Infraestructura PKIInfraestructura PKI
Infraestructura PKI
 
Instalar un certificado ssl en WordPress
Instalar un certificado ssl en WordPressInstalar un certificado ssl en WordPress
Instalar un certificado ssl en WordPress
 
Retos adm electr_y_voto_electronico
Retos adm electr_y_voto_electronicoRetos adm electr_y_voto_electronico
Retos adm electr_y_voto_electronico
 
seguridad en pymes
seguridad en pymesseguridad en pymes
seguridad en pymes
 
tipos de seguridad
tipos de seguridadtipos de seguridad
tipos de seguridad
 
Conozca y detecte los nuevos ataques cibernéticos apt a los que se expone su ...
Conozca y detecte los nuevos ataques cibernéticos apt a los que se expone su ...Conozca y detecte los nuevos ataques cibernéticos apt a los que se expone su ...
Conozca y detecte los nuevos ataques cibernéticos apt a los que se expone su ...
 
Presentación David Kummers - eCommerce Day Bogotá 2015
Presentación David Kummers - eCommerce Day Bogotá 2015 Presentación David Kummers - eCommerce Day Bogotá 2015
Presentación David Kummers - eCommerce Day Bogotá 2015
 
La problemática de la identificación de los participantes en las plataformas ...
La problemática de la identificación de los participantes en las plataformas ...La problemática de la identificación de los participantes en las plataformas ...
La problemática de la identificación de los participantes en las plataformas ...
 
Protocolos de seguridad informática
Protocolos de seguridad informáticaProtocolos de seguridad informática
Protocolos de seguridad informática
 
Vpn
VpnVpn
Vpn
 
STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)
STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)
STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)
 
Ramón Pinuaga - Authenticode para malotes [rooted2017]
Ramón Pinuaga - Authenticode para malotes [rooted2017]Ramón Pinuaga - Authenticode para malotes [rooted2017]
Ramón Pinuaga - Authenticode para malotes [rooted2017]
 
Seguridad de usuario en el acceso a internet 1
Seguridad de usuario en el acceso a internet 1Seguridad de usuario en el acceso a internet 1
Seguridad de usuario en el acceso a internet 1
 
6.owasp day costa_rica_didier
6.owasp day costa_rica_didier6.owasp day costa_rica_didier
6.owasp day costa_rica_didier
 
Webinar Gratuito: Atacar Redes WEP con Kali Linux
Webinar Gratuito: Atacar Redes WEP con Kali LinuxWebinar Gratuito: Atacar Redes WEP con Kali Linux
Webinar Gratuito: Atacar Redes WEP con Kali Linux
 
Limahack 2009 - SSL no esta roto ... o si ?
Limahack 2009 - SSL no esta roto ... o si ?Limahack 2009 - SSL no esta roto ... o si ?
Limahack 2009 - SSL no esta roto ... o si ?
 
Que es Hosting
Que es HostingQue es Hosting
Que es Hosting
 
Conexión inversa. Análisis Forense en medios de pago.
Conexión inversa. Análisis Forense en medios de pago.Conexión inversa. Análisis Forense en medios de pago.
Conexión inversa. Análisis Forense en medios de pago.
 
Sonic wall net_sec_ sol_overview_2017_customer_short_v1.0
Sonic wall net_sec_ sol_overview_2017_customer_short_v1.0Sonic wall net_sec_ sol_overview_2017_customer_short_v1.0
Sonic wall net_sec_ sol_overview_2017_customer_short_v1.0
 

Mais de RootedCON

Mais de RootedCON (20)

Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro VillaverdeRooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
 
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
 
Rooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amadoRooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amado
 
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
 
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
 
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
 
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
 
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguerRooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
 
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemyRooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
 
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
 
Rooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molinaRooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molina
 
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
 
Rooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopezRooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopez
 
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valeroRooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
 
Rooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jaraRooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jara
 
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
 
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
 
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yusteRooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
 
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_moralesRooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
 

Yago Jesús - Applied Cryptography FAILs [RootedCON 2012]

  • 1. APPLIED CRYPTOGRAPHY Dime un algoritmo para cifrar la base de datos FAILS #Rooted2012 Base64 ! Yago Jesus / @YJesus
  • 2. TODO VIP (Cosas pendientes por hacer) 1- Dar una charla en Rootedcon 2- Besar por primera vez a una chica humana 3- Viajar a Moscú 4- Conducir un F1 5- Hacer que SbD tenga mas visitas que 'el lado del mal'
  • 3. Presentación $ whois YagoJesus Domain name : YagoJesus Record expires on :??-??-?? Record created on :10-08-1977 Administrative Contact: Yjesus@security-projects.com Twitter: @Yjesus Blog: www.securitybydefault.com Homepage: www.security-projects.com
  • 4. Algunas cosas que he hecho A nivel profesional •  Despliegue de la PKI Dni-e •  Diseño aplicativo para cifrado de dispositivos móviles •  Responsable área Seguridad en proyecto sector defensa Como Hobby •  'Unhide': Herramienta forense •  'Patriot NG': Herramienta anti-malware
  • 5. DISCLAIMER De que NO va esta charla •  DivertidaZZzzZZ explicaciones sobre P y Q •  Factorización de números primos •  Colisiones •  Ataques de cumpleaños
  • 6. 'Cryptography is typically bypassed, not penetrated' -Adi Shamir
  • 7. Criptografía aplicada •  Una vez elegidos los algoritmos criptográficos toca diseñar la arquitectura y hacer la implementación. •  Estas fases son las mas críticas y donde se cometen mas errores •  Incluso aunque la tecnología y algoritmia escogida sean robustas, un mal diseño da al traste con todo
  • 8. CONTENIDO DE LA CHARLA •  Comunicaciones seguras •  Entidades de certificación (CAs) •  Certificados digitales SSL •  Certificados digitales en software •  SmartCards
  • 10. Comunicaciones Seguras •  Cuando se desea enviar información sensible se emplean comunicaciones seguras •  Existen sistemas basados en VPN con autenticación mutua •  O simplemente envíos encapsulados bajo protocolo SSL
  • 11. Comunicaciones Seguras Wazzup WhatsApp ! •  Sistema de envío de mensajes para dispositivos móviles •  Disponible en casi cualquier plataforma (Android, IOS, Symbian) •  Ampliamente difundido en España •  Proceso de alta de usuarios 'oscuro'
  • 12. Comunicaciones Seguras Wazzup WhatsApp ! Verificación por auto-envío de sms MD5 ads0ersdssds Creación contraseña aleatoria SSL https://xmpp-reg.whatsapp.net
  • 13. Comunicaciones Seguras Wazzup WhatsApp ! Ataque 'Man In The Middle' AKA Remedios Cervantes ¡¡ Que mal rollo Whatsapp !!
  • 14. Comunicaciones Seguras Wazzup WhatsApp ! Primer intento: MitM clásico #FAIL !
  • 15. Comunicaciones Seguras Wazzup WhatsApp ! •  WhatsApp VERIFICA que el certificado emitido provenga de una CA de confianza •  Adicionalmente, comprueba que exista una cadena de certificados CA --> CA Sub --> Certificado
  • 16. Comunicaciones Seguras Wazzup WhatsApp ! Lo que espera WhatsApp xmpp-reg.whatsapp.net
  • 17. Comunicaciones Seguras Wazzup WhatsApp ! Lo que nosotros queremos LOW ASSURANCE SSL xmpp-reg.whatsapp.net
  • 18. Comunicaciones Seguras Wazzup WhatsApp ! ROOT CA SUB CA xmpp-reg.whatsapp.net
  • 19. Comunicaciones Seguras Wazzup WhatsApp ! Cargamos el certificado de nuestra CA en el keystore Lanzamos un ataque ARP Spoof Capturamos la petición
  • 20. Comunicaciones Seguras Wazzup WhatsApp ! POST /client/iphone/ ae5cba216aec3b0dfbe449ec219c24b.php HTTP/1.1 Content-Length: 61 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Host: xmpp-reg.whatsapp.net Connection: Keep-Alive User-Agent: WhatsApp/2.6.4531 Android/2.2 Device/ unknown-sdk cc=34&me=682334455&udid=5284047f4ffb4e04824a2fd1d 1f0cd62&bb=1
  • 22. Entidades de certificación (CAs) •  Son el garante de la seguridad de las comunicaciones en Internet •  Deben pasar un exhaustivo proceso para ser admitidas por Microsoft o Mozilla •  Deben cumplir estrictas políticas de emisión de certificados
  • 23. Entidades de certificación (CAs) Shit Happens
  • 24. Entidades de certificación (CAs) ¿En manos de quién está la seguridad en Internet? •  130 Entidades con CAs reconocidas por Microsoft •  44 Países •  CAs de países NO democráticos (China, Tunez) •  CAs de paraísos fiscales (Bermudas, Singapur) Problema: Cualquiera puede emitir certificados para :
  • 25. Entidades de certificación (CAs) 10 CAs reconocidas por Microsoft Nikto ¡¡ 198 VULNERABILIDADES !!
  • 26. Entidades de certificación (CAs) Realmente necesito confiar en : •  Japanese Government (Japón) •  China Internet Network Information Center (China) •  Hongkong Post (Hong Kong) •  U.S. Government (EEUU) •  Autoridad de Certificacion Raiz del Estado Venezolano ... Y otros muchos ejemplos más • 
  • 28. Entidades de certificación (CAs) SSL Cop 1.0 •  Permite bloquear CAs en función de su procedencia geográfica •  Windows / Explorer / Chrome •  Futuras versiones: Firefox / Linux
  • 30. El axioma del Candado SSL = Confianza Cómo funciona SSL undominio.com
  • 31. El axioma del Candado SSL = Confianza Un certificado digital SSL: Asegura la identidad de un sitio web Certifica la seguridad del contenido • 
  • 32. El axioma del Candado SSL = Confianza
  • 33. El axioma del Candado SSL = Confianza ¿Que hay que hacer para obtener un certificado digital SSL? Tener acceso a una de estas cuentas de correo del dominio: •  admin@ •  administrator@ •  hostmaster@ •  info@ •  root@ •  ssladmin@ •  sysadmin@ •  webmaster@
  • 34. El axioma del Candado SSL = Confianza El caso VODAFAIL Vodafone ofrece a sus clientes la posibilidad de registrar una cuenta de correo como por ejemplo: Carlos.garcia@vodafone.es Y también disponible: ssladmin@vodafone.es
  • 35. El axioma del Candado SSL = Confianza El caso VODAFAIL ¡ Gracias Comodo por simplificar tanto el proceso !
  • 36. El axioma del Candado SSL = Confianza El caso VODAFAIL
  • 37. El axioma del Candado SSL = Confianza Más sitios vulnerables
  • 38. El axioma del Candado SSL = Confianza ¿Puedo conseguir un certificado SSL para un dominio ‘TypoSquatting’ que albergue PHISHING ? #SaberYGanar
  • 39. El axioma del Candado SSL = Confianza https://www.payopal.net
  • 40. El axioma del Candado SSL = Confianza https://www.payopal.net https://www.payopal.net
  • 41. El axioma del Candado SSL = Confianza Consideraciones finales •  Los certificados SSL 'normales' son claramente una falacia •  Existen otro tipo de certificados denominados 'de validación extendida' (EV) que requieren una auditoría previa para su obtención •  Precio de un certificado SSL normal= 10$ •  Precio de un certificado EV = 1.000$
  • 43. Certificados digitales en software •  La generación de claves se realiza mediante un elemento software (sistema operativo, navegador web ...) •  La custodia de las claves privadas está protegida por software •  S/MIME •  Certificados personales E-Administración
  • 44. Certificados digitales en software PKCS #12 PIN (Intentos ilimitados)
  • 45. Certificados digitales en software Brute12 Herramienta para hacer 'brute forcing' de ficheros •  PKCS#12 Http://www.security-projects.com/?Brute12
  • 47. Certificados digitales en software Generación de claves en navegador
  • 48. Certificados digitales en software Generación de claves en navegador Niveles de seguridad en Windows para custodia de claves privadas: Bajo (Solo XP): La clave privada se puede usar a discreción sin notificación o conocimiento del usuario Medio: Para usar la clave privada es necesario que el usuario pulse 'OK' Alto: Para hacer uso de la clave privada hay que introducir una contraseña
  • 49. Certificados digitales en software Generación de claves en navegador ActiveX Xenroll (Windows XP) put_GenKeyFlags CRYPT_USER_PROTECTED --> nivel medio CRYPT_FORCE_KEY_PROTECTION_HIGH --> nivel medio ActiveX Certenroll (Windows Vista / 7) put_KeyProtection XCN_NCRYPT_UI_PROTECT_KEY_FLAG --> nivel medio XCN_NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG --> nivel alto
  • 50. Certificados digitales en software FNMT: Insecure By Default •  Entidad pública de certificación •  Más de 2.500.000 de certificados emitidos •  Toda la 'E-Admistración' es accesible con sus certificados •  Comúnmente empleados para la declaración de la Renta
  • 51. Certificados digitales en software FNMT: Insecure By Default Durante la generación de claves hay dos elementos inseguros en el proceso: 1- La clave privada queda marcada como 'exportable' 2- El nivel de seguridad elegido en Windows es 'medio'
  • 52. Certificados digitales en software FNMT: Insecure By Default Recapitulando: Claves exportables + Nivel 2 de seguridad ¡¡ Estamos a un click de las claves privadas !!
  • 53. Certificados digitales en software FNMT: Insecure By Default CertDump Herramienta de auditoría de contenedores criptográficos •  en Windows Permite extraer las claves privadas exportables con nivel •  de seguridad 1 y 2 Hace un 'bypass' del nivel de seguridad 2 •  'auto-aceptando' el popup llamando a la función SendInput() que permite enviar pulsaciones de teclas Http://www.security-projects.com/?CertDump
  • 54. Certificados digitales en software FNMT: Insecure By Default
  • 56. SmartCards •  La generación de claves se realiza enteramente en el dispositivo Hardware •  Para hacer uso de la clave privada se exige un PIN •  Las claves privadas NO son exportables ni recuperables
  • 57. SmartCards •  Pese a que una solución SmartCard resulta inviolable desde el punto de vista criptográfico, el entorno sigue siendo vulnerable •  La interactuación con la tarjeta se realiza con medios gestionados por el sistema operativo (Teclado) •  Las SmartCards no tienen forma de verificar si están siendo empleadas con intervención humana o no •  Windows es un sistema operativo 'rico' en APIs para automatizar procesos gráficos
  • 58. SmartCards Ataque al DNI-e •  Proyecto pionero en despliegue masivo de SmartCards a nivel ciudadano •  Más de 23.000.000 de DNIs electrónicos expedidos •  Numerosas iniciativas han promovido su uso regalando lectores •  Firma digital = firma manuscrita
  • 59. SmartCards Ataque al DNI-e Robo de PIN Petición web reutilizando el PIN Robo de datos confidenciales
  • 60. SmartCards Ataque al DNI-e Robando el PIN (Keylogger) •  Las operaciones de firma digital con el DNI-e requieren introducir un PIN en una ventana similar a esta •  Ni el DNI-e ni el software que lo acompaña habilita defensa anti 'keyloggers'
  • 61. SmartCards Ataque al DNI-e Robando el PIN (Keylogger) Fingerprinting DNI-E
  • 62. SmartCards Ataque al DNI-e Robando el PIN (Keylogger) •  Empleando la función FindWindow() podemos localizar cualquier ventana por su 'caption' •  La función GetAsyncKeyState() permite capturar las pulsaciones del teclado •  Una vez localizada la ventana del PIN, podemos capturar el PIN leyendo las pulsaciones del teclado
  • 63. SmartCards Ataque al DNI-e Robando el PIN (Phishing) Fake Window
  • 64. SmartCards Ataque al DNI-e Esperando a que el PC esté inactivo GetLastInputInfo()
  • 65. SmartCards Ataque al DNI-e Threads para rellenar ventanas FindWindow() SendInput()
  • 66. SmartCards Ataque al DNI-e Objeto OLE Internet Explorer InternetExplorer.Application
  • 67. SmartCards Ataque al DNI-e Lanzando una petición desatendida •  Haciendo uso de la función GetLastInputInfo() podemos saber cuando el equipo permanece inactivo •  Empleando el objeto OLE InternetExplorer.Application podemos usar Internet Explorer de forma desatendida •  Navegamos hacia una web que requiera DNI-e •  Cuando aparezca el popup enviamos el PIN capturado empleando SendInput()
  • 68. SmartCards Ataque al DNI-e Ideas malévolas •  Obtener los datos fiscales •  Modificar los datos fiscales •  Solicitar una beca fraudulentamente •  Firmar un E-Contrato •  Acceder a banca Online y hacer operaciones
  • 70. sha1sum{ ¡¡ Gracias !! } @YJesus