SlideShare una empresa de Scribd logo
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
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
!2
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
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!3
¿	
  POR	
  QUE	
  TANTA	
  
MENSAJERÍA	
  
INSTANTÁNEA	
  ?
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!4
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!5
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!6
- 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
!7
Tenemos:
WAUTH 2 : Cifrado, XMPP y Anonimato
WAUTH 1.2 : Cifrado, XMPP y Anonimato
WhatsApp : Ficheros (audio, fotos, vídeo etc).
NPI si acabará funcionando
Snapchat (Shmoocon : EPIC Fails de IM)
WhatsApp Crash y Modificar Remitente
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!8
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!9
- 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 auto-
destrucción de las fotos, una vez el
destinatario las ha visto.
¿	
  QUÉ	
  ES	
  SNAPCHAT	
  ?
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!10
ESTADÍSTICAS
ALGUNAS	
  ESTADÍSTICAS
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!11
- 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.
ALGUNAS	
  LECCIONES	
  DE	
  SEGURIDAD
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!12
- Utilizaremos /ph/retry en favor de /ph/upload + /ph/send:
Qué cuenta??teamsnapchat
ENVIANDO	
  SNAPS
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!13
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!14
- 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
!15
- "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 ?
Construímos nuestro script para enviar imágenesCapturar y repetir las peticiones http
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!16
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!17
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!18
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!19
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!20
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!21
- 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.	

!
- No existen versiones para
Windows, Mac, Linux.
¿	
  QUÉ	
  ES	
  WHATSAPP	
  ?
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!22
FACEBOOK	
  COMPRA	
  WHATSAPP	
  …
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!23
…	
  Y	
  ALGUNAS	
  COSAS	
  NO	
  CAMBIAN
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!24
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
!25
CRECIMIENTO	
  METEÓRICO
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!26
- 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.) :)	

!
- 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
ALGUNOS	
  PROBLEMAS	
  DE	
  SEGURIDAD
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!27
- 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.
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!28
E-Mail with fake WhatsApp notification
Android Game Steals WhatsApp Conversations
StealGenie: Spy and Dump Instant Messengers data
Fake Spy App on Smartphones
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!29
- 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.
¿	
  CÓMO	
  FUNCIONA	
  WHATSAPP	
  ?
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!30
- 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
!31
- 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
!32
57:41 => WA
01: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:features
f8:04
f8:03:70:31:ca => 0x70 => message_acks 0x31 => enable 0xca => TRUE
f8:01:9c => 0x9c => receipt_acks
f8:03:e4:cb:0c => 0xe4 => w:profile:picture 0xcb => type 0x0c => all
f8: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: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” />
AUTENTICACIÓN	
  WAUTH	
  1.2
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!33
- El acceso de un nuevo dipositivo se produce de la siguiente manera:
CANAL HTTPS
INTERCAMBIO CLAVE
RECEPCIÓN CLAVE
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!34
PROBLEMAS	
  DE	
  WAUTH	
  1.2
c1 = m1 ⊕ k
c2 = m2 ⊕ k
c1 ⊕ c2 = m1 ⊕ m2
m1 = c1 ⊕ k
m2 = c2 ⊕ k
REUSED KEY ATTACK
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!35
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
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)
WAUTH 2
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)	

…
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!36
- 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
!37
¿	
  POR	
  QUÉ	
  ?
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!38
ATACANDO	
  EL	
  CLIENTE
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!39
FALSEANDO	
  REMITENTES
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!40
- 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
CIFRADO	
  ADICIONAL
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!41
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!42
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!43
- 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
SERVIDOR	
  PROPIO	
  DE	
  XMPP
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!44
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!45
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
!46

Más contenido relacionado

PPTX
Alberto Cita - Skype Sin Levita. Un análisis de seguridad y privacidad [Roote...
PDF
Pablo González & Juan Antonio Calles – Cyberwar: Looking for… touchdown! [Roo...
PDF
Jorge Ramió - RSA cumple 36 años y se le ha caducado el carné joven [Rooted C...
PPT
2014-03 - RootedCon 2014 - Secure Communication System
PPTX
Layakk - Atacando 3G Vol. 2 [rootedvlc2]
PPTX
Jorge Bermúdez - Botnets y troyanos: los artículos 197 y 264 CP llevados a la...
PPTX
Jose M Mejia - Usando computación paralela GPU en malware y herramientas de h...
PDF
Aladdin Gurbanov – Magnetic Road [Rooted CON 2014]
Alberto Cita - Skype Sin Levita. Un análisis de seguridad y privacidad [Roote...
Pablo González & Juan Antonio Calles – Cyberwar: Looking for… touchdown! [Roo...
Jorge Ramió - RSA cumple 36 años y se le ha caducado el carné joven [Rooted C...
2014-03 - RootedCon 2014 - Secure Communication System
Layakk - Atacando 3G Vol. 2 [rootedvlc2]
Jorge Bermúdez - Botnets y troyanos: los artículos 197 y 264 CP llevados a la...
Jose M Mejia - Usando computación paralela GPU en malware y herramientas de h...
Aladdin Gurbanov – Magnetic Road [Rooted CON 2014]

Destacado (20)

PDF
Chema Alonso - Dorking, Pentesting & Hacking con Android Apps [rootedvlc2]
PDF
Pau Oliva – Bypassing wifi pay-walls with Android [Rooted CON 2014]
PPTX
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
PPTX
Pablo San Emeterio - How to protect your hot pics with WHF [RootedSatellite V...
PPTX
Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...
PDF
Cesar Lorenzana & Javier Rodríguez – Por qué lo llaman APT´s, cuando lo que q...
PDF
Raul Siles - iOS: Regreso al futuro [Rooted CON 2014]
PDF
David Pérez y José Pico - I wanna jam it wid you [RootedSatellite Valencia]
PPTX
Leonardo Nve - Explotando cambios en servidores DNS [RootedSatellite Valencia]
PPTX
RootedSatellite Valencia - Charla inaugural [RootedSatellite Valencia]
PPTX
Cesar Lorenzana - Picoletos en Rootedland [RootedSatellite Valencia]
PPTX
Manu Quintans & Frank Ruiz – 50 shades of crimeware [Rooted CON 2014]
PDF
Lorenzo Martínez - Cooking an APT in the paranoid way [RootedSatellite Valen...
PPTX
Roberto Baratta – Monetización de seguridad: de más con menos a más con nada ...
PPTX
Juan Vazquez & Julián Vilas – Tú a Barcelona y yo a Tejas, a patadas con mi S...
PPTX
Vicente Díaz - Birds, bots and machines - Fraud in Twitter and how to detect ...
PPT
Joaquín Moreno Garijo – Forense a bajo nivel en Mac OS X [Rooted CON 2014]
PPT
Alfonso Muñoz – Ocultación de comunicaciones en lenguaje natural [Rooted CON ...
PPTX
Conferencia de apertura [Rooted CON 2014]
PDF
Hugo Teso - Profundizando en la seguridad de la aviación [Rooted CON 2014]
Chema Alonso - Dorking, Pentesting & Hacking con Android Apps [rootedvlc2]
Pau Oliva – Bypassing wifi pay-walls with Android [Rooted CON 2014]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Pablo San Emeterio - How to protect your hot pics with WHF [RootedSatellite V...
Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...
Cesar Lorenzana & Javier Rodríguez – Por qué lo llaman APT´s, cuando lo que q...
Raul Siles - iOS: Regreso al futuro [Rooted CON 2014]
David Pérez y José Pico - I wanna jam it wid you [RootedSatellite Valencia]
Leonardo Nve - Explotando cambios en servidores DNS [RootedSatellite Valencia]
RootedSatellite Valencia - Charla inaugural [RootedSatellite Valencia]
Cesar Lorenzana - Picoletos en Rootedland [RootedSatellite Valencia]
Manu Quintans & Frank Ruiz – 50 shades of crimeware [Rooted CON 2014]
Lorenzo Martínez - Cooking an APT in the paranoid way [RootedSatellite Valen...
Roberto Baratta – Monetización de seguridad: de más con menos a más con nada ...
Juan Vazquez & Julián Vilas – Tú a Barcelona y yo a Tejas, a patadas con mi S...
Vicente Díaz - Birds, bots and machines - Fraud in Twitter and how to detect ...
Joaquín Moreno Garijo – Forense a bajo nivel en Mac OS X [Rooted CON 2014]
Alfonso Muñoz – Ocultación de comunicaciones en lenguaje natural [Rooted CON ...
Conferencia de apertura [Rooted CON 2014]
Hugo Teso - Profundizando en la seguridad de la aviación [Rooted CON 2014]
Publicidad

Similar a Pablo San Emeterio López & Jaime Sánchez – WhatsApp, mentiras y cintas de video [Rooted CON 2014] (20)

PDF
Whatsapp: mentiras y cintas de video RootedCON 2014
PDF
Plataformas de mensajería y riesgos asociados: caso WhatsApp
PDF
Defeating WhatsApp’s Lack of Privacy
PDF
Defeating whats app’s lack of privacy
PDF
Seguridad y ataques de im en entornos corporativos
PDF
Seguridad y ataques de im en entornos corporativos
PDF
Linkants
PDF
Investigacion sobre apps
PPT
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...
PDF
Apps móviles - ONO Meeting Point
PPTX
Deber del skipe
PDF
Buscando personas desaparecidas con osint y dante's gates
PPTX
RUTH_MERY_CARO_VEGA[1].pptx
PPTX
C1657 AC1 presentaciónpp2manuellagunah.Internet
PDF
Cv Alonso Salas
DOCX
Herramientas de Multimedia (Redes Sociales y servicios de mensajería instantá...
PPTX
Proyecto PAGINA FUTBOL
PDF
Comunicación en la era Whatsapp
PPTX
Reto: Denuncia la Corrupción
Whatsapp: mentiras y cintas de video RootedCON 2014
Plataformas de mensajería y riesgos asociados: caso WhatsApp
Defeating WhatsApp’s Lack of Privacy
Defeating whats app’s lack of privacy
Seguridad y ataques de im en entornos corporativos
Seguridad y ataques de im en entornos corporativos
Linkants
Investigacion sobre apps
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...
Apps móviles - ONO Meeting Point
Deber del skipe
Buscando personas desaparecidas con osint y dante's gates
RUTH_MERY_CARO_VEGA[1].pptx
C1657 AC1 presentaciónpp2manuellagunah.Internet
Cv Alonso Salas
Herramientas de Multimedia (Redes Sociales y servicios de mensajería instantá...
Proyecto PAGINA FUTBOL
Comunicación en la era Whatsapp
Reto: Denuncia la Corrupción
Publicidad

Más de RootedCON (20)

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

Último (20)

PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
clase auditoria informatica 2025.........
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
modulo seguimiento 1 para iniciantes del
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PDF
Maste clas de estructura metálica y arquitectura
PDF
MANUAL de recursos humanos para ODOO.pdf
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PPTX
Sesion 1 de microsoft power point - Clase 1
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PDF
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
TRABAJO DE TECNOLOGIA.pdf...........................
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
clase auditoria informatica 2025.........
Presentacion de Alba Curso Auditores Internos ISO 19011
Documental Beyond the Code (Dossier Presentación - 2.0)
Propuesta BKP servidores con Acronis1.pptx
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
modulo seguimiento 1 para iniciantes del
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Historia Inteligencia Artificial Ana Romero.pptx
Maste clas de estructura metálica y arquitectura
MANUAL de recursos humanos para ODOO.pdf
Power Point Nicolás Carrasco (disertación Roblox).pptx
informe_fichas1y2_corregido.docx (2) (1).pdf
Sesion 1 de microsoft power point - Clase 1
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf

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

  • 1. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March WhatsApp: mentiras y cintas de vídeo Jaime Sánchez (@segofensiva) Pablo San Emeterio (@psaneme)
  • 2. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !2 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
  • 3. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !3 ¿  POR  QUE  TANTA   MENSAJERÍA   INSTANTÁNEA  ?
  • 4. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !4
  • 5. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !5
  • 6. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !6 - 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
  • 7. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !7 Tenemos: WAUTH 2 : Cifrado, XMPP y Anonimato WAUTH 1.2 : Cifrado, XMPP y Anonimato WhatsApp : Ficheros (audio, fotos, vídeo etc). NPI si acabará funcionando Snapchat (Shmoocon : EPIC Fails de IM) WhatsApp Crash y Modificar Remitente
  • 8. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !8
  • 9. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !9 - 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 auto- destrucción de las fotos, una vez el destinatario las ha visto. ¿  QUÉ  ES  SNAPCHAT  ?
  • 10. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !10 ESTADÍSTICAS ALGUNAS  ESTADÍSTICAS
  • 11. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !11 - 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. ALGUNAS  LECCIONES  DE  SEGURIDAD
  • 12. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !12 - Utilizaremos /ph/retry en favor de /ph/upload + /ph/send: Qué cuenta??teamsnapchat ENVIANDO  SNAPS
  • 13. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !13
  • 14. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !14 - 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?
  • 15. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !15 - "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 ? Construímos nuestro script para enviar imágenesCapturar y repetir las peticiones http
  • 16. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !16
  • 17. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !17
  • 18. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !18
  • 19. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !19
  • 20. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !20
  • 21. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !21 - 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. ! - No existen versiones para Windows, Mac, Linux. ¿  QUÉ  ES  WHATSAPP  ?
  • 22. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !22 FACEBOOK  COMPRA  WHATSAPP  …
  • 23. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !23 …  Y  ALGUNAS  COSAS  NO  CAMBIAN
  • 24. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !24 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
  • 25. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !25 CRECIMIENTO  METEÓRICO
  • 26. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !26 - 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.) :) ! - 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 ALGUNOS  PROBLEMAS  DE  SEGURIDAD
  • 27. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !27 - 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.
  • 28. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !28 E-Mail with fake WhatsApp notification Android Game Steals WhatsApp Conversations StealGenie: Spy and Dump Instant Messengers data Fake Spy App on Smartphones
  • 29. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !29 - 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. ¿  CÓMO  FUNCIONA  WHATSAPP  ?
  • 30. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !30 - 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.
  • 31. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !31 - 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>
  • 32. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !32 57:41 => WA 01: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:features f8:04 f8:03:70:31:ca => 0x70 => message_acks 0x31 => enable 0xca => TRUE f8:01:9c => 0x9c => receipt_acks f8:03:e4:cb:0c => 0xe4 => w:profile:picture 0xcb => type 0x0c => all f8: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: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” /> AUTENTICACIÓN  WAUTH  1.2
  • 33. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !33 - El acceso de un nuevo dipositivo se produce de la siguiente manera: CANAL HTTPS INTERCAMBIO CLAVE RECEPCIÓN CLAVE
  • 34. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !34 PROBLEMAS  DE  WAUTH  1.2 c1 = m1 ⊕ k c2 = m2 ⊕ k c1 ⊕ c2 = m1 ⊕ m2 m1 = c1 ⊕ k m2 = c2 ⊕ k REUSED KEY ATTACK
  • 35. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !35 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 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) WAUTH 2 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) …
  • 36. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !36 - 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
  • 37. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !37 ¿  POR  QUÉ  ?
  • 38. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !38 ATACANDO  EL  CLIENTE
  • 39. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !39 FALSEANDO  REMITENTES
  • 40. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !40 - 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 CIFRADO  ADICIONAL
  • 41. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !41
  • 42. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !42
  • 43. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !43 - 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 SERVIDOR  PROPIO  DE  XMPP
  • 44. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !44
  • 45. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !45
  • 46. Rooted CON 2014 6-7-8 Marzo // 6-7-8 March !46