miércoles, septiembre 17, 2014

Cómo crear mensajes falsos de WhatsApp en un iPhone

Si tienes pareado un equipo con un iPhone, ese equipo tiene acceso a todo (o casi todo) lo que haya en ese terminal. Se puede acceder a los datos de Facebook y sacar la sesión para acceder a la cuenta, se puede extraer la base de datos de WhatsApp para buscar los mensajes borrados, se puede por supuesto espiar el WhatsApp silenciosamente, se puede acceder a las fotos en un proceso de juice jacking, se puede hacer jailbreak y meter un troyano al iPhone de forma automática, se puede manipular WhatsApp, Telegram o Twitter para que no se borren nunca los mensajes o se pueden manipular las bases de datos para crear mensajes falsos.

Esto es algo que se conoce desde hace tiempo y se cuenta en detalle en el libro de Hacking iPhone, aunque aún hay gente que no ha entendido esto. Para demostrar lo sencillo que es de hacer creamos una pequeña herramienta que se llama WhatsApp Injector - que no hemos publicado -, y que permite crear conversaciones falsas a la carta usando un equipo pareado para generar falsos rumores, motivar animadversión hacia personas o conseguir engañar a un periodista con un falso mensaje - por poner un ejemplo -.  Aquí tenéis una rápida demostración que hice ayer en el programa de radio de La Mañana con Javi Nieves.


Figura 1: Vídeo de la demostración de cómo crear mensajes falsos en WhatsApp para iPhone

Hacer este proceso es sencillo si el equipo está pareado con el terminal, es decir, si se ha seleccionado en las nuevas versiones de iOS 7.X la opción de "confiar en este equipo". Si ha sido así, desde el equipo se puede acceder a la base de datos de WhatsApp y escribir los registros que se desee.

Para la prueba de concepto, la herramienta WhatsApp Message Injector que ha programado nuestro compañero Ioseba Palop funciona como un servicio de Windows. Se queda residente en el equipo esperando a que se conecte un iPhone para escribir en su base de datos de WhatsApp la conversación seleccionada. Para ello, el escenario de ataque es el siguiente:

Paso 1: Creación de la conversación de WhatsApp en el equipo pareado

Este ataque podría estar pensado en entornos de pareja donde ambos tienen pareado el terminal iPhone en el mismo equipo, o en entornos de trabajo donde los trabajadores conectan el iPhone al equipo de la empresa. 

Si haces esto, es decir, si pareas tu terminal iPhone con el equipo del trabajo le estas dando acceso a tu Facebook, WhatsApp, Gmail, Fotografías, vídeos, etcétera al equipo IT de la empresa. ¡Piensa en ello!

Figura 2: Creación de conversación falsa en WhatsApp Message Injector

En ese equipo se abre la herramienta WhatsApp Message Injector y se crea la conversación que se quiere meter en la base de datos de WhatsApp. La herramienta permite seleccionar la fecha exacta y el estado que se quiere para el mensaje, es decir, podemos elegir si aparecerá como enviado, enviado y recibido, no enviado, recibido, además de la hora exacta y el remitente o destinatario del mensaje.

Paso 2: Dejar la trampa preparada

Una vez creada la conversación se cierra la herramienta. El resto será esperar a que se conecte el dispositivo iPhone de la víctima para que el servicio de Windows inyecte la conversación. Esta conversación se colocará correctamente, enlazándose en el hilo completo de la conversación, es decir, si la fecha está entre dos mensajes, entonces quedará correctamente colocado. El resto es esperar.

Cuando se conecte, como la base de datos de WhatsApp en iPhone no está cifrada, bastará con hacer las consultas SQL adecuadas a la base de datos SQLite de WhatsApp. Esto ya se vio en el artículo que explicaba cómo se hacía un D.O.S. a WhatsApp.

Paso 3: Se conecta el equipo y se inyecta la conversación

Nada más enchufarse el terminal iPhone al equipo con WhatsApp Message Inyector, el servicio escribirá en la base de datos de WhastApp todo el mensaje, haciendo creer a la víctima que ha recibido esos mensajes. Como broma pesada puede estar bien, pero ojo con esto que te puede hacer un lío gordo.

Figura 3: Conversación de WhatsApp que se ha creado en la base de datos.

En este caso se puede ver cómo el cuarto mensaje se creo con un time-stamp anterior al mensaje de "Voy!" y WhatsApp Message Injector lo puso en su lugar correspondiente. Si el número de teléfono estuviera en los Contactos, entonces aparecería su foto y su nombre. Si hubiera una conversación previa auténtica, los mensajes se intercalan en al ubicación correspondiente.

Al final, los mensajes de WhatsApp, de Telegram, de Skype, de Twitter, etcétera, se guardan en bases de datos locales, y si tienes acceso al dispositivo es trivial manipularlos con herramientas como estas o manualmente con un editor de bases de datos, así que ojo con tragarte cualquier cosa de estas. Y por supuesto, el - o los - equipo/s que tengas pareado/s con tu terminal iPhone o iPad puede/n robarte todos los datos. Ojo con ello.

Saludos Malignos!

10 comentarios:

Alfredo dijo...

Tu blog es una pasada Chema! Le hablé de ti a mi hermano que es ingeniero de seguridad en microsoft en Madrid y resulta que te conoció en una conferencia jajaja. Eres un crack tío, ojalá sigas así mucho tiempo porque de verdad que se disfruta leyendo tu blog.

Shelby dijo...

Hola Chema, un gusto siempre leer tus artículos, al leer este tema solo se me pudo ocurrir, crear una conversacion incriminatoria, de ahi mi duda. ¿Cómo un informático forense podría distinguir entre una conversación real y una artificial? No sé mucho en materia legal pero sé que en muchos paises toman los sms y chats con evidencia incriminatoria, por eso mi pregunta.

Saludos

Yo mismo dijo...

Quizás sea una pregunta estúpida. ¿Qué seguridad adicional proporciona el encriptado del terminal que permite Android frente a este tipo de ataques?

Anónimo dijo...

¿only in the same network?

Anónimo dijo...

hola..una consulta..me llegaron msjes whatsapp con puntos intercalados ej" hola.si.bien.tengo,un.problema.etc" la promera mitad de la frase en azul y luego en negro...y logicamente como esta con puntos y presionas trata de abrir un pagina web...

LX dijo...

Hola, quería hacer una consulta un tanto extravagante:

¿Podría usarse ese sistema para falsear una conversación de What'sApp en tiempo real? Quiero decir, haciendo pensar a la otra persona que en realidad está hablando con alguien.
Se me ocurre teniendo infectado el ordenador que está pareado con el iPhone y al que este está conectado, aunque el escenario no está del todo definido: por ejemplo, a no ser que escribiésemos a un número de móvil al que tenemos acceso no podríamos leer los mensajes ni por tanto continuar la conversación de un modo coherente. Lo que también pienso es hacer pensar a la persona dueña del iPhone que su terminal está "poseído", al ver cómo manda mensajes de What'sApp sin si quiera teclearlos (lo haría el que controla e inyecta el código al ordenador).

¿Alguna idea o sugerencia?

Picaraf18 F18 dijo...

Como puedo demostrar En un juicio que los whatssap son falsos ??

Anónimo dijo...

Con esta app puedes crear chat falsos de whatsapp, publicaciones falsas de instagram, facebook, twitter...puedes hasta elegir quien le da me gusta! muy divertida!
https://play.google.com/store/apps/details?id=com.fake.chatpost

Saint Paul dijo...

Hola picara, en un juicio? Por que razon exactamente?

Saint Paul dijo...
Este comentario ha sido eliminado por el autor.

Entrada destacada

Navaja Negra: La CON de Albacete el 29 de Septiembre @navajanegra_ab @elevenpaths @0xWord

Es la sexta edición de esta CON que comenzó hace ya más de un lustro en la ciudad de Albacete , reúne el próximo 29 de Septiembre a una b...

Entradas populares