Desde principios de 2018, la aplicación de mensajería propiedad de Facebook, WhatsApp, cuenta con más de 1.500 millones de usuarios, con más de 1.000 millones de grupos y 65.000 millones de mensajes enviados cada día. El gran uso de la aplicación hace que el potencial de estafas en línea, rumores y noticias falsas sea enorme.
El cifrado "end-to-end" de WhatsApp es seguro
El cifrado de punto a punto de WhatsApp se base en el protocolo de Open Whisper Systems. Está empresa creo la aplicación Signal de la que Snowden recomendaba su uso. Pero el cifrado de WhatsApp no se basa tanto en Signal como creemos, la empresa Open Whisper Systems comentó que el cifrado se basaría en el de TextSecure que un servicio que utiliza una clave de cifrado única para cada dispositivo.Los mensajes originales no se pueden modificar, pero los usuarios dan por hecho que las citas los replican con fidelidad, así que se puede usar FakesApp para hacer que otras personas manden textos que, en realidad, no escribieron.
Dikla Barda, Roman Zaikin y Oded Vanunu, tres investigadores de CheckPoint, pusieron su punto de mira precisamente en este proceso de cifrado. Lo que encontraron es que WhatsApp utiliza protobuf2 (un mecanismo de serialización de Google) para el cifrado de mensajes.
Los investigadores afirmaron que les llamó la atención el cifrado usado por WhatsApp, y trataron de hacerle ingeniería inversa. Así, después de descifrarlo descubrieron que WhatsApp usa el protocolo protobuf2. Después, pasaron los datos de protobuf 2 a JSON para ver los parámetros que se envían y manipularlos.
Los investigadores aprovecharon el intercambio de claves que se produce al iniciar WhatsApp Web, y capturaron los parámetros que se pasan durante la lectura del código QR generado para obtener toda la información necesaria para el descrifrado de mensajes.
Antes de generar el código QR, WhatsApp Web genera es una clave pública y privada que se utiliza para cifrado y descifrado.
Los mensajes contienen, entre otros parámetros:
- conversation: El contenido del mensaje.
- participant: Miembro del grupo que manda el mensaje.
- fromMe: Si el mensaje ha sido enviado por el propio usuario.
- remoteJid: Contanto o grupo al que se en vía el mensaje.
- id: Identificador de los datos tal como se almacena en la base de datos interna.
- Cambiar la identidad del emisor de un mensaje en un grupo, incluso no siendo miembro del mismo: En este caso, se puede manipular el campo "participant" a un usuario o un teléfono.
- Cambiar la respuesta de alguien: En este caso, se crea una respuesta ficticia en un chat, lo que permite escribir mensajes en chats propios haciéndose pasar por el interlocutor. Esto pued ser usado para "poner palabras en boca de otros".
- Mandar mensajes "trampa": Mandar un mensaje a un grupo que solo verá uno de los miembros. En este caso, se manipula la base de datos de mensajes guardada en ‘/data/data/com.whatsapp/databases/msgstore.db Es especialmente útil para realizar ingeniería social y hacer que un miembro del grupo revele secretos.
La vulnerabilidad fue reportada al equipo de WhatsApp, aunque no parece haber respuesta del mismo. La extensión de Burp Suite puede encontrarse en este repositorio de Github:
Vídeo demostración:
Fuentes:
https://unaaldia.hispasec.com/2018/08/poniendo-palabras-en-boca-de-otros-con.html
No hay comentarios:
Publicar un comentario