defeating whats app’s lack of privacy

42
DEFEATING WHATSAPP’S Defeating ` s Lack of Privacy

Upload: jeysonh

Post on 08-Jul-2015

690 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Defeating whats app’s lack of privacy

DEFEATING WHATSAPP’S

Defeating`s

Lack of Privacy

Page 2: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

¿  QUIENES  SOMOS  ?Jaime Sánchez

- Security Researcher- Executive MBA, CISSP, CISA y CISM- Ponente en Rootedcon, Nuit du Hack, BH Arsenal, Defcon, DeepSec, BH Sao Paulo etc.- Twitter : @segofensiva- http://www.seguridadofensiva.com

Pablo San Emeterio- Ingeniero Informático / I+D Optenet- Master de Seguridad y Auditoría por la UPM, CISA y CISM- Ponente en Rootedcon, NoConName y CiberSeg- Digamos que le gusta el WhatsApp :)- Twitter : @psaneme

Page 3: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

FELICIDADES  PABLO!  :)

Page 4: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

- WhatsApp es una aplicación de mensajería multiplataforma que permite enviar y recibir mensajes a través Internet de manera gratuita.

- Ha sustituido a los servicios tradicionales de mensajes cortos o sistema de mensajería multimedia.

- Disponible para los sistemas operativos iOS, Android, Windows Phone, BlackBerry OS y Symbian.

- No existen versiones para Windows, Mac, Linux. Sin embargo existen emuladores para Android permiten el uso de WhatsApp en Windows, Mac o un Navegador web e implementaciones abiertas en python (Yowsup) y php (WhatsAPI).

- Se sincroniza automáticamente con la agenda.

WHATSAPP

Page 5: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

DATOS  Y  ESTADÍSTICAS

Page 6: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

DATOS  Y  ESTADÍSTICAS

Más usuarios que Twitter ...

Page 7: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

HISTORIAL  DE  ERRORES  SEGURIDAD

- Mensajes en claro (WhatsApp Sniffer)

- Password MD5 basado en IMEI o MAC del teléfono utilizado (espía y suplantación de usuarios)

- Almacenamiento de cualquier contenido en sus servidores (virus, html etc.) :)

- Vulnerabilidad crítica que permitía tomar el control de cualquier cuenta, leer mensajes de otro usuario o enviarlo en su nombre

- Almacenamiento en claro de la base de datos

- WhatsApp Status: permitía cambiar el estado de cualquier usuario del que se conociera el número de teléfono

Page 8: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

HISTORIAL  DE  ERRORES  SEGURIDAD

- El 13 de Enero de 2012 la aplicación fue retirada 4 días de la App Store

- Aparición de Priyanka para Android

- 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

- etc.

Page 9: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

PROHIBICIONESArabia Saudí ha amenazado con prohibir aplicaciones como Skype, WhatsApp o Viber si no alcanza un acuerdo con las compañías propietarias para poder controlar esas tecnologías de comunicación, informó hoy el diario saudí Al Hayat.

La Comisión saudí de Comunicaciones, responsable de la organización de las telecomunicaciones y tecnologías informáticas en el país, ha pedido a las compañías de comunicación que se pongan en contacto con los propietarios de esas aplicaciones y estudien la posibilidad de aplicar la ley local de seguridad.

Page 10: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

PROHIBICIONESEl gobierno de la provincia de Sind en Pakistán ha develado su plan de un bloqueo de tres meses sobre aplicaciones de mensajería como Viber, WhatsApp, Tango, Skype y otras aplicaciones de llamadas y mensajería basadas en Voice Over Internet Protocol en lo que los funcionarios llaman una “interrupción de las actividades terroristas y criminales en la provincia, especialmente en las áreas urbanas”.

El ministro de información de Sind, Sharjeel Memon, compartió esta noticia en una rueda de prensa [en] el jueves 4 de octubre de 2013 en la ciudad portuaria sureña de Karachi. El gobierno de Sind está esperando aprobación del gobierno federal en Islamabad.

Page 11: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

ESPIONAJE- 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

Page 12: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

¿Será WhatsApp una de estas empresas?

La Agencia Nacional de Seguridad estadounidense (NSA) espió 60 millones y medio de llamadas en España tan sólo

entre el mes de diciembre de 2012 y principios de enero de este año.

El pinchazo incluiría tanto llamadas telefónicas como comunicaciones en internet: correos

electrónicos, mensajes en redes sociales, etc

Page 13: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

LA  IDEA

Page 14: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

- El principal objetivo de esta investigación es añadir una nueva capa de seguridad y privacidad que garantice que en el intercambio de información entre los integrantes de una conversación tanto la integridad como la confidencialidad no puedan verse afectados por un atacante externo.

- Se han definido diferentes pruebas de concepto sobre una jerarquía de niveles de seguridad:

* El primer nivel de seguridad implica el cifrado, mediante clave privada, de los mensajes y los datos intercambiados entre dos usuarios.

* En un segundo nivel, se dota de cierto nivel de anonimato a la conversación, mediante la utilización de otras cuentas y proxys / nodos intermedios.

* Por último, se establece un tercer nivel al modificar el funcionamiento interno de la aplicación, utilizando los servidores de la aplicación como apoya para engañar a la aplicación y poder usar un servidor externo que queramos que gestione nuestros mensajes.

OBJETIVOS

Page 15: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

- Esta técnica ha sido desarrollada para poder ser utilizada de forma completamente transparente para el usuario.

- Para ello es necesario disponer de un teléfono rooteado, o en caso de otras plataformas se ha desarrollado una plataforma basada en Raspberry que actuará como punto de acceso automatizado o se puede utilizar la una VPN.

OBJETIVOS

Page 16: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

INSIDE  THE  WORLD  OF  WHATSAPP

Page 17: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

FUNXMPP- 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=”[email protected]”         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.

- ¿Cómo lo han hecho?

Page 18: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

FORMATO  Y  CONVERSIONES- 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.

Page 19: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

BYTES- 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=”[email protected]”          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>

Page 20: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

57:41 => WA01:02 => 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:featuresf8:04f8:03:70:31:ca" => 0x70 => message_acks 0x31 => enable 0xca => TRUEf8:01:9c => 0x9c => receipt_acksf8:03:e4:cb:0c" => 0xe4 => w:profile:picture 0xcb => type 0x0c => allf8:03:b9:7c:ca " => 0xb9 => status 0x7c => notification 0xca => TRUE

" <stream:features>" " <message_acks enable=TRUE />" " <receipt_acks />" " <w:profile:picture type=ALL />" " <status notification=TRUE />" </stream:features>

f8:08:10:6d:ec:da:fc:0b:33:34:36:38:35:30:32:36:33:37:31: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” />

LOGIN

Page 21: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

AUTENTICACIÓN  Y  CIFRADO- El acceso de un nuevo dipositivo se produce de la siguiente manera:

1) El teléfono envía su número via HTTPS a una URL solicitando un código2) El teléfono recibe el código vía SMS3) El código es utilizado, de nuevo sobre HTTPS, para obtener el password

- Para acceder al sistema, el teléfono enviará:<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" user="XXXXXXXXXXXX" mechanism="WAUTH-1" />

- El servidor responderá con un desafío:<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">YYYYYYYYYYYYYYYYYYYY</challenge>

- 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:xmpp-sasl">ZZZZZZZZZZZZZ</response>

- A partir de este momento, los mensajes van cifrados.

Page 22: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

De los creadores de: - Nunca corras con unas tijeras en la mano - Nunca corras cerca de una piscina - Nunca corras cerca de una piscina con unas tijeras en lamano

Llega:

NUNCA utilices el mismo keystream de RC4 para cifrar dos mensajes

diferentes ...

Page 23: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

ARE  MY  MESSAGES  SECURE  ?

- 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 ?

Page 24: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

CADA  VEZ  QUE  ALICE  CIFRA  UN  MENSAJE

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 ⊕ kc2 = m2 ⊕ k

c1 ⊕ c2 = m1 ⊕ m2

m1 = c1 ⊕ km2 = c2 ⊕ k

REUSED KEY ATTACK

,  DIOS  MATA  UN  GATITO  ...

Page 25: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

ATACANDO  EL  CIFRADO  EN  WHATSAPP- Tenemos m1 ⊕ m2 (por la propiedad conmutativa hemos eliminado k de la ecuación).

- Utilizando Crib-Dragging:1) Deduciremos una palabra que aparezca en los mensajes2) Codificamos esta palabra a hexadecimal3) Haremos el XOR de ambos mensajes cifrados4) Realizamos un XOR de la palabra en hexadecimal(paso 2) en cada posición delresultado del XOR de ambos textos cifrados(paso 3)5) Cuando consideremos que el resultado anterior es texto legible, consideramos la palabra válida y aumentamos nuestra búsqueda6) Si el resultado no es texto legible, probamos con la siguiente posición.

- Es importante hacer un análisis en base al idiomaoriginal de los mensajes en claro.

- Gracias a un análisis de frecuencias, utilizaremos laspalabras más frecuentes para realizar nuestro ataque.

Page 26: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

Orden! Frec.absoluta ! Frec.normalizada 1.! de! 9,999,518 ! 65545.55 2.! la! 6,277,560 ! 41148.59 3.! que !4,681,839 ! 30688.85 4.! el! 4,569,652 ! 29953.48 5.! en! 4,234,281 ! 27755.16 6.! y! 4,180,279 ! 27401.19 7.! a! 3,260,939 ! 21375.03 8.! los! 2,618,657 ! 17164.95 9.! se! 2,022,514 ! 13257.31 10.! del! 1,857,225 ! 12173.87 11.! las! 1,686,741 ! 11056.37 12.! un! 1,659,827 ! 10879.95 13.! por! 1,561,904 ! 10238.07 14.! con !1,481,607 ! 9711.74 15.! no! 1,465,503 ! 9606.18 16.! una !1,347,603 ! 8833.36 17.! su! 1,103,617 ! 7234.06 18.! para!1,062,152 ! 6962.26 19.! es! 1,019,669 ! 6683.79 20.! al! 951,054! 6234.03 21.! lo! 866,955! 5682.77 22.! como 773,465! 5069.96 23.! más ! 661,696! 4337.33 24.! o! 542,284! 3554.60 25.! pero! 450,512! 2953.04 26.! sus ! 449,870! 2948.84 27.! le! 413,241! 2708.74 28.! ha! 380,339! 2493.07 29.! me ! 374,368! 2453.93 30.! si! 327,480! 2146.58

31.! sin! 298,383! 1955.86 32.! sobre 289,704! 1898.97 33.! este! 285,461! 1871.16 34.! ya! 274,177! 1797.19 35.! entre 267,493! 1753.38 36.! cuando 257,272! 1686.38 37.! todo! 247,340! 1621.28 38.! esta! 238,841! 1565.57 39.! ser! 232,924! 1526.78 40.! son ! 232,415! 1523.45 41.! dos ! 228,439! 1497.38 42.! también 227,411! 1490.64 43.! fue! 223,791! 1466.92 44.! había 223,430! 1464.55 45.! era! 219,933! 1441.63 46.! muy ! 208,540! 1366.95 47.! años 203,027! 1330.81 48.! hasta 202,935! 1330.21 49.! desde 198,647! 1302.10 50.! está! 194,168! 1272.74 51.! mi! 186,360! 1221.56 52.! porque 185,700! 1217.23 53.! qué ! 184,956! 1212.36 54.! sólo! 170,552! 1117.94 55.! han ! 169,718! 1112.47 56.! yo! 167,684! 1099.14 57.! hay ! 164,940! 1081.16 58.! vez! 163,538! 1071.97 59.! puede 161,219! 1056.76 60.! todos 158,168! 1036.77

Fuente: http://corpus.rao.es/frec/1000_formas.TXT

Page 27: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

"WhatsApp takes security seriously and is continually thinking of ways to improve our product. While we appreciate feedback, we're concerned that the blogger's story describes a scenario that is more theoretical in nature. Also stating that all conversations should be considered compromised is inaccurate" the company said.

WTF!Respuesta oficial a https://blog.thijsalkema.de/blog/2013/10/08/piercing-through-whatsapp-s-encryption/

Page 28: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

MORE  THEORICAL  IN  NATURE  ...

Page 29: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

ANONIMATO

Page 30: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

NUMEROS  VIRTUALES

Page 31: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

ENVIARTEMI  DNI  ??

Page 32: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

CIFRADOADICIONAL

Page 33: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

FUNCIONAMIENTO- 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ÓNEN TIEMPO REAL

Page 34: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

- El mensaje “Ola. Q ase” se envía desde el cliente. Nuestro programa detecta el envío de un texto en claro, y utilizando la clave de sesión de RC4 usada por WhatsApp, descifra el mensaje y extrae el texto. Una vez el texto está en claro, lo cifra con nuestro algoritmo y clave, y vuelve a encapsularlo en el formato original cifrandolo de nuevo con RC4 para no romper el funcionamiento de WhatsApp:

- Eliminamos HMAC en el decodificado y volvemos a calcularlo para el envío. Finalmente, el mensaje que abandonará nuestro teléfono móvil. Podemos ver como el nuevo mensaje es diferente al original al llevar una nueva capa de cifrado implementada por nosotros:

MENSAJE  ENVIADO

to

to

HMAC

HMAC

Page 35: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

- El proceso de recepción se realiza de forma inversa al de envío.- En la captura podemos observar como recibimos un mensaje, aparentemente normal, de WhatsApp, con la diferencia de que al descifrarlo con la clave RC4, el texto que nos encontramos es completamente ilegible.:

- Utilizando la misma clave privada y algoritmo, nuestro programa se encargará de descifrar el mensaje de texto y volver a componer el mensaje original con el cifrado RC4 para que nuestro WhatsApp sea capaz de procesarlo.- El mensaje final podemos ver que es ‘completamente’ legible “aqi cifrandi msnjes”.

MENSAJE  RECIBIDO

HMAC

HMAC

Page 36: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

SIN  DESCIFRAR,  YOU  GONNA  GET  ...

Page 37: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

SERVIDORESEXTERNOS

Page 38: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

OCULTANDO  NUESTROS  MENSAJES

- 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 DEMENSAJERÍA XMPP

Page 39: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

ENRUTANDO  LOS  MENSAJES- Se analiza el mensaje “Ola q ase Whatsapeas o q ase” y se procede a decifrar el mensaje enviado por el cliente de WhatsApp.

- Se extrae el mensaje en texto claro y se empaqueta para enviar al servidor XMPP:<destinatario>¿<message_id>¿<mensaje_a_enviar>

- Inmediatamente se procede a enviar sustituir el texo original del mensje por el caracter de relleno que hayamos decidido utilizar.

- De esta forma conseguimos que a través de los servidores de mensajería de WhatsApp sólo pasen caracteres de relleno y nunca el texto original.

- Este paso es necesario para poder recibir correctamente el mensaje en el WhatsApp de destino.

to

HMAC

Page 40: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

EL  SERVIDOR  XMPP- Los mensajes llegan al servidor XMPP:

- Por si queda alguna duda, los mensajes recompuestos corresponden a los enviados desde nuestro móvil:

- Finalmente en el destinatario se recibirá el mensaje de los servidores de WhatsApp con los caracteres de relleno.

- Automáticamente procederá a bloquear el mensaje y consultará al servidor XMPP si existe algún mensaje con el correspondiente <message_id>, para proceder a reensamblarlo y hacerselo llegar al cliente.

Page 41: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013

POR  WHATSAPP  SÓLO  SE  VE  ...

Page 42: Defeating whats app’s lack of privacy

Defeating WhatsApp’s Lack of Privacy

NoConName 2013