Whatsapp: mentiras y cintas de video RootedCON 2014

50 %
50 %
Information about Whatsapp: mentiras y cintas de video RootedCON 2014
Technology

Published on March 9, 2014

Author: segofensiva

Source: slideshare.net

Description

La vigilancia ha emergido como un fenómeno global desde finales de 1940, Internet y la tecnología móvil han sido desarrolladas en un clima de paz que hace imposible garantizar la privacidad y nadie debe esperarla, aunque los usuarios suelen pensar que existe por defecto. Esto nos hace preguntarnos, ¿Cuan fuerte es la seguridad de las actuales plataformas de mensajería instantánea? ¿Se preocupan de nuestra privacidad y seguridad? Hablaremos de la seguridad en plataformas de mensajería móvil y nos centraremos en WhatsApp.

WhatsApp no es tan conocido como Facebook o Twitter, pero recientemente ha anunciado que ha sobrepasado los 350 millones de usuarios activos al mes. La historia de WhatsApp esta llena de errores de seguridad, desde mandar los mensajes en claro, pasando por utilizar usuarios y passwords fácilmente adivinables e imposibles de modificar, hasta permitir el almacenamiento de todo tipo de ficheros de manera anónima en sus servidores, entre otras muchas.

Esto nos ha llevado a profundizar en la investigación de WhatsApp, descubriendo nuevas vulnerabilidades (que afectan tanto al cliente como al protocolo de mensajería) y creando un sistema que securice las conversaciones mediante varias capas de seguridad.

Además, dado que las manifestaciones realizadas por correo electrónico, WhatsApp y demás, son medios de reproducción de la palabra, la imagen y el sonido, éstos podrían ser medios de prueba válidos en derecho y, por tanto, con eficacia probatoria para sustentar o no una demanda judicial. Estos medios de prueba han sido claves en procesos judiciales, tanto en territorio nacional como internacional, y demostraremos que, ya que WhatsApp no almacena las conversaciones en sus servidores, es posible su alteración a voluntad del atacante, de forma indetectable para las actuales técnicas de análisis forense.

WhatsApp: mentiras y cintas de vídeo Jaime Sánchez (@segofensiva) Pablo San Emeterio (@psaneme) Rooted CON 2014 6-7-8 Marzo // 6-7-8 March

JAIME SÁNCHEZ - Ingenierio Informático & Security Researcher - Executive MBA, CISSP, CISA y CISM - Ponente en Rootedcon, Nuit du Hack, BH Arsenal, Defcon, Derbycon, NoConName, DeepSec, BH Sao Paulo, Shmoocon etc. - Twitter: @segofensiva - http://www.seguridadofensiva.com ! PABLO SAN EMETERIO - Ingeniero Informático - Trabaja en el departamento I+D de Optenet - Master de Seguridad y Auditoría por la UPM, CISA y CISM - Ponente en Rootedcon, NoConName, Shmoocon, CiberSeg - Experiencia anterior investigando en WhatsApp - Twitter: @psaneme !2 Rooted CON 2014 6-7-8 Marzo // 6-7-8 March

¿  POR  QUE  TANTA   MENSAJERÍA   INSTANTÁNEA  ? Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !3

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !4

- Hoy en día existen muchas aplicaciones conocidas: - Pero, ¿son sus comunicaciones seguras?. Algunos de los problemas de seguridad más comunes de estos sistemas son: - Robo de Indentidad - Acoso - Falta de cifrado - SPAM - Almacenamiento remoto de malware - Ataques de Denegación de Servicio Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !5

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !6

¿  QUÉ  ES  SNAPCHAT  ? - Snapchat es una aplicación para móviles, que puedes descargar en tu iPhone o Android, para ¿chatear? con amigos a través de fotos y vídeos (con la posibilidad de usar etiquetas). ! - Vamos, como un WhatsApp (que ya sabéis que nos gusta) en el que no se puede enviar texto, sólo ficheros multimedia. ! - Una de las cosas más importantes de Snapchat es que la características de autodestr ucción de las fotos, una vez el destinatario las ha visto. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !7

ALGUNAS  ESTADÍSTICAS ESTADÍSTICAS Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !8

ALGUNAS  LECCIONES  DE  SEGURIDAD - Crees que es seguro enviar esas fotos embarazosas a través de Snapchat? PIÉNSALO DE NUEVO. ! - SnapHack: una aplicación que permite reabrir y guardar mensajes de Snapchat, sin que el remitente sepa que se han almacenado - Dump de 4.16 millones de usuarios y números de telefóno de usuarios de Snapchat publicados en el sitio web snapchatdb.info, después del public disclosure del funcionamiento de la API. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !9

ENVIANDO  SNAPS - Utilizaremos /ph/retry en favor de /ph/upload + /ph/send: teamsnapchat Qué cuenta?? Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !10

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !11

- Parece que los parámetros req_token & username no fueron importantes para Snapchat hasta la noche de reyes de 2014.. ! - Nosotros nos dimos cuenta 3 días después y preguntamos :( ! ! ! ! ! - Actualmente, no es posible realizar la suplantación de esta forma. ¿ALGUNA OTRA GRAN IDEA? Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !12

- "We want to apologize for any unwanted Snaps and let you know our team is working on resolving the issue”, dijo Snapchat en un post en su blog. ! - Pero es aún posible enviar mensajes de spam a los 4.6 millones de usuarios de la base de datos publicada. ! - ¿ Cuanto tiempo es válido el parámetro req_token ? Capturar y repetir las peticiones http Rooted CON 2014 6-7-8 Marzo // 6-7-8 March Construímos nuestro script para enviar imágenes !13

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !14

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !15

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !16

Y  EL  PROBLEMA  DONDE  ESTÁ  ? Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !17

LA  SOLUCIÓN  … Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !18

- Viber, lanzada inicialmente para iPhone en 2010, compite en forma directa con WhatsApp, Line y WeChat, entre otras aplicaciones de mensajería, además de Skype. ! - Cuenta con 280 millones de usuarios a nivel global, con presencia en más de 200 países y disponibilidad en más de treinta idiomas. ! - Fue comprada por Rakuten Inc. (una empresa especializada en ventas online )por 900 millones de dólares. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !19

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !20

40.449196,-­‐3.558827 Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !21

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !22

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !23

¿  QUÉ  ES  WHATSAPP  ? - WhatsApp es una aplicación de mensajería multiplatafor ma que permite enviar y recibir mensajes a través Internet de manera gratuita. ! - Ha sustituido a los ser vicios tradicionales de mensajes cortos o sistema de mensajería multimedia. ! - No existen versiones para Windows, Mac, Linux. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !24

FACEBOOK  COMPRA  WHATSAPP  … Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !25

…  Y  ALGUNAS  COSAS  NO  CAMBIAN Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !26

ENTENDIENDO  EL  MOVIMIENTO - Porque lo social en el móvil no es lo social en el PC - Si no puedes con el enemigo, compralo! - Facebook pierde usuarios en los grandes mercados a un ritmo alarmante Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !27

CRECIMIENTO  METEÓRICO Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !28

- Problemas de cifrado: - Primero porque no había - Clave de sesión basada en IMEI / MAC del teléfono ! - Almacenamiento de contenido en sus servidores - WhatsApp Voyeur: Obtener datos del perfil de un usuario, sin necesidad de usar tu teléfono móvil ! - No se necesita autorización para enviar mensajes, por lo que cualquier usuario/bot puede enviarte spam. ! - Problemas actuales con el cifrado RC4 Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !29

StealGenie: Spy and Dump Instant Messengers data Android Game Steals WhatsApp Conversations Rooted CON 2014 6-7-8 Marzo // 6-7-8 March E-Mail with fake WhatsApp notification Fake Spy App on Smartphones !30

¿  CÓMO  FUNCIONA  WHATSAPP  ? - WhatsApp utiliza una versión propia/modificada de XMPP (RFC 6120 y RFC 6121) llamada FunXMPP. ! - Sin entrar en más detalles técnicos, es un protocolo de mensajería que utiliza como sintaxis el lenguaje XML: ! ! <message from=”01234567890@s.whatsapp.net”         id=”1339831077-7”         type=”chat”         timestamp=”1339848755”>    <notify xmlns=”urn:xmpp:whatsapp”            name=”NcN” />    <request xmlns=”urn:xmpp:receipts” />    <body>Hello</body> </message> - Al ser una aplicación para móviles, la gente de WhatsApp ha intentado reducir el tamaño de los mensajes y la carga del protocolo a lo mínimo. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !31

- Todas las palabras reservadas utilizadas, han sido sustituídas por un byte, logrando reducir considerablemente la carga. ! - FunXMPP utilizada una tabla de conversión para prácticamente todas las palabras reservadas. ! - Basándonos en esto, utilizando bytes con el formato xnn (nn representa un número hexadecimal), el ejemplo anterior quedaría: ! ! <x5d x38=”01234567890@x8a”      x43=”1339831077-7”      xa2=”x1b”      x9d=”1339848755”>   <x65 xbd=”xae”         x61=”NcN” />   <x83 xbd=”xad” />   <x16>Hello</x16> </x5d> - Como podemos ver, las variables no pueden ser sustituídas por representaciones tipo byte al no ser palabras fijas/reservadas. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !32

- Byte xfc: sequencia de caracteres ASCII que será utilizada como valor. La longitud de la cadena se encuentra en el siguiente byte (longitud máxima de 255). - Byte xfd: sequencia de caracteres ASCII, con la diferencia de que la longitud viene expresada en los siguientes tres bytes (longitud máxima de 16777215). - Byte xf8 y xf9: representación de tipo especial ‘lista’. El número de elementos se encuentra a continuación. ! Los objetos se cuentan de la siguiente forma: !   1      2             3 <message from=”01234567890@s.whatsapp.net”          4      5         id=”1339831077-7”           6    7         type=”chat”             8           9         timestamp=”1339848755”>    <notify xmlns=”urn:xmpp:whatsapp”     |            name=”NcN” />                 |  10    <request xmlns=”urn:xmpp:receipts” /> |    <body>Hello</body>                    | </message> Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !33

AUTENTICACIÓN  WAUTH  1.2 ! ! ! 57:41 01:02 => => WA PROTOCOL VERSION 1.2 f8:05:01:c8:ab:a5:fc:12:69:50:68:6f:6e:65:2d:32:2e:31:30:2e:32:2d:35:32:32:32:00:00 0x01 => stream:stream 0xc8 => to 0xab: s.whatsapp.net 0xa5 => resource 0xfc => String 12caracteres => iPhone-2.10.2-5222 <stream:stream to=”s.whatsapp.net” resource=”iPhone-2.10.2-5222” /> f8:02:bb => 0xbb => stream:features f8:04 f8:03:70:31:ca => 0x70 => message_acks f8:01:9c => 0x9c => receipt_acks f8:03:e4:cb:0c => 0xe4 => w:profile:picture f8:03:b9:7c:ca => 0xb9 => status <stream:features> <message_acks enable=TRUE /> <receipt_acks /> <w:profile:picture type=ALL /> <status notification=TRUE /> </stream:features> 0x31 => enable 0xca => TRUE 0xcb => type 0x7c => notification 0x0c => all 0xca => TRUE f8:08:10:6d:ec:da:fc:0b:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:X:e8:cf 0x10 => auth 0x6d => mechanism 0xec => WAUTH-1  user => 34XXXXXXXXX 0x31 => enable 0xe8 => xmlns 0xcf => urn:ietf:params:xml:ns:xmpp-sasl <auth mechanism=”WAUTH-1” user=”XXXXXXXXXXX” xmlns=”urn:ietf:params:xml:ns:xmpp-sasl” /> Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !34

- El acceso de un nuevo dipositivo se produce de la siguiente manera: CANAL HTTPS RECEPCIÓN CLAVE INTERCAMBIO CLAVE - El cliente, para responder al desafío, generará una clave usando PKBDF2 (16 iteraciones) con el password, el desafío recibido como salt, y utilizará SHA1 como función hash. Se utilizarán los 20 primeros bytes generados del tipo <numero teléfono> || <20 bytes de respuesta> || UNIX timestamp: <response xmlns="urn:ietf:params:xml:ns:xmppsasl">ZZZZZZZZZZZZZ</response> Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !35

- El algoritmo de cifrado utilizado por WhatsApp es RC4, diseñado por Ron Rivest de la RSA Security en 1987, utilizando la misma clave de cifrado en ambos sentidos. ! - Es el Stream Cipher más utilizado y fue excluído de los estandares de alta seguridad. Consiste en 2 algoritmos: Key Scheduling Algorithm (KSA) y Pseudo-Random Generation Algorithm (PRGA). ¿ Y dónde dices que está el problema ? Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !36

Alice quiere enviar los mensajes cifrados de m1 y m2 a Bob sobre un canal público e inseguro. Alice y Bob comparten la clave k. Dado que Alice es extremadamente vaga (y no tiene conocimientos de stream ciphers), decide utilizar la misma clave para cifrar los dos mensajes. ! Alicía envía a Bob los mensajes cifrados c1 = m1 ⊕ k y c2 = m2 ⊕ k a Bob por el canal inseguro, y Eve intercepta estos mensajes y calcula c1 ⊕ c2 = m1 ⊕ m2 c1 = m1 ⊕ k c2 = m2 ⊕ k m1 = c1 ⊕ k m2 = c2 ⊕ k REUSED KEY ATTACK c1 ⊕ c2 = m1 ⊕ m2 Rooted CON 2014 6-7-8 Marzo // 6-7-8 March

MORE  THEORICAL   IN  NATURE  ... Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !38

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !39

LO  QUE  DE  VERDAD  OS  IMPORTA  … Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !40

WAUTH-­‐2  vs  WAUTH-­‐1 - En cada sesión de WhatsApp hay 4 claves: - Cifrado RC4: cliente -> servidor - Cifrado RC4: servidor -> cliente - HMAC mensajes de cliente - HMAC mensajes de servidor WAUTH 1 WAUTH 2 1. Las 4 claves son iguales (problemas de cifrado RC4) ! ! 2. Cálculo de HMAC utilizando todos los bytes de los mensajes ! 3. ¿Cómo genera las claves? password + challenge (PKBDF2 16 vueltas) Rooted CON 2014 6-7-8 Marzo // 6-7-8 March 1. Las 4 claves son diferentes 2. Cálculo de HMAC se hace utilizando los bytes de los mensajes concatenandoles el numero de mensaje por el que vamos ( por ejemplo 00 00 00 03 si es el tercer mensaje que envío ) ! 3.¿Cómo genera las claves? password + challenge+0x01 (PKBDF2 2 vueltas) password + challenge+0x02 (PKBDF2 2 vueltas) … !41

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !42

- Los informes y documentos filtrados por Edward Snowden en junio de 2013 indican que PRISM se emplea como un medio para la vigilancia a fondo de las comunicaciones y otras informaciones almacenadas ! - Los datos que supuestamente la NSA es capaz de obtener gracias a PRISM incluyen correos electrónicos, vídeos, chat de voz, fotos, direcciones IP, notificaciones de inicio de sesión, transferencia de archivos y detalles sobre perfiles en redes sociales ! - Empresas de Internet como Microsoft, Google, Yahoo, Dropbox, Apple y Facebook se han visto implicadas. ! - Los objetivos son aquellos ciudadanos que vivan fuera de Estados Unidos, aunque también se incluyen a los ciudadanos estadounidenses Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !43

CRASH! Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !44

MALICIOUS THREATS, VULNERABILITIES AND DEFENSES IN WHATSAPP AND MOBILE I.M. PLATFORMS ATTACKING  WHATSAPP’S  ENCRYPTION - From here, the task becomes separating the two plaintexts from one another (plaintext attack or Crib-Dragging), following the steps bellow: 1) Guess a word that might appear in one of the messages 2) Encode the word from step 1 to a hex string 3) XOR the two cipher-text messages 4) XOR the hex string from step 2 at each position of the XOR of the two cipher-texts (from step 3) 5) When the result from step 4 is readable text, we guess the English word and expand our crib search. 6) If the result is not readable text, we try an XOR of the crib word at the next position. ! CIFRADO   ADICIONAL - To do this, we have to do a little guessing about the plaintexts themselves. ! - The idea is to use a Frecuency Analysis based on the original language used in the plaintext. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March SHMOOCON 2014

CIFRADO  ADICIONAL - Hemos comprobado que el cifrado utilizado para salvaguardar la información y la privacidad de nuestras conversaciones es fácil de romper. ! - ¿ Qué podemos hacer ? Interceptaremos el mensaje de WhatsApp antes de que salga. Descifraremos el mensaje original con nuestra clave y le aplicaremos un algoritmo de cifrado, y después volveremos a cifrarlo con el algoritmo y clave original para no romper la aplicación. ! - Nuestro esquema de funcionamiento de ahora en adelante será: MODIFICACIÓN
 EN TIEMPO REAL Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !46

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !47

MALICIOUS THREATS, VULNERABILITIES AND DEFENSES IN WHATSAPP AND MOBILE I.M. PLATFORMS SERVIDOR   EXTERNO   XMPP Rooted CON 2014 6-7-8 Marzo // 6-7-8 March SHMOOCON 2014

SERVIDOR  PROPIO  DE  XMPP - El anterior método nos permitirá cifrar nuestros mensajes para que otros atacantes capaces de interceptar nuestro tráfico no sean capaces de adivinar el contenido de los mensajes. ! - Pero, ¿ y si queremos que el tráfico directamente no pase por los servidores de WhatsApp ? SERVIDOR DE MENSAJERÍA XMPP Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !49

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !50

ANONIMATO Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !51

ANONIMIZADOR  DE  CONVERSACIONES - Ocultaremos los identificadores que permiten localizar y rastrear nuestra cuenta. ! - La técnica se basa en diferentes saltos intermedios. ! - Yowsup es una API en Python que te permite utilizar WhatsApp desde la línea de comandos, con las mismas funcionalidad que el cliente oficial. ! - Nos permite protegernos de la extracción de información (metadatos de la NSA?). NÚMEROS VIRTUALES Rooted CON 2014 6-7-8 Marzo // 6-7-8 March

NOTIFICACIONES   PUSH Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !53

FALSEANDO
 REMITENTES Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !54

MUCHAS GRACIAS !! Jaime Sánchez (@segofensiva) Pablo San Emeterio (@psaneme) Rooted CON 2014 6-7-8 Marzo // 6-7-8 March

Add a comment

Related presentations

Related pages

WhatsApp Remote Crash - RootedCON 2014 - YouTube

... mentiras y cintas de vídeo" en RootedCON 2014. ... Vídeo de la charla"WhatsApp: mentiras y cintas de vídeo ... a suggested video will ...
Read more

Pablo San Emeterio & Jaime S ánchez - WhatsApp, mentiras ...

... WhatsApp, mentiras y cintas de video [Rooted CON 2014] Rooted CON. ... WhatsApp y demás, son medios de reproducción de la palabra, ...
Read more

Slides de nuestra charla "Whatsapp: mentiras y cintas de ...

... Whatsapp: mentiras y cintas de video" en RootedCON 2014 Ya ha finalizado la edición de RootedCON 2014, ... WhatsApp: mentiras y cintas de ...
Read more

Rooted CON 2016 - EN - Rooted CON 2014

Rooted CON 2014 took place during the days 6, ... WhatsApp, mentiras y cintas de video : Antonio Ramos: ... Tú a Barcelona y yo Tejas, ...
Read more

Pablo San Emeterio López & Jaime Sánchez – WhatsApp ...

Pablo San Emeterio López & Jaime Sánchez – WhatsApp, mentiras y cintas de video [Rooted CON 2014] Nov 28, 2014 Technology rootedcon
Read more

Exploit-ID » WhatsApp < v2.11.7 – Remote Crash

... # http://www.seguridadofensiva.com/2014/04/crash-en-whatsapp-para-iphone-en ... whatsapp-mentiras-y-cintas-de-video-rootedcon-2014 ...
Read more

WhatsApp < 2.11.7 - Remote Crash - Exploits Database by ...

... slides of the research/talk at RootedCON 2014 at: # http://www.slideshare.net/segofensiva/whatsapp-mentiras-y-cintas-de-video-rootedcon-2014 ...
Read more

Rooted CON 2016 - ES - Home

Rooted CON 2014; Rooted CON 2015 ... RootedCON Valencia 9 y 10 de ... todo el contenido referente a las ediciones de RootedCON y RootedSatellite. Videos de ...
Read more