Buscar este blog

sábado, 22 de diciembre de 2012

5 tipos de ataques a Whatsapp

Es constante el que se informe sobre nuevos riesgos a la hora de utilizar WhatsApp. La aplicación va actualizándose constantemente tanto en IOS como en Android.
Vamos a enumerar los cinco ataques más importantes que han reportado distintos investigadores:

LOS ATAQUES

  1. El número telefónico se puede obtener sin permiso o conocimiento del usuario, empleando técnicas de "sniffing" en una red (sobre todo WiFi pública).
  2. El número telefónico de todos los contactos se puede obtener sin permiso del usuario, también empleando técnicas de sniffing.
  3. La cuenta del usuario es la misma que el número telefónico (incluyendo código de país). Por ejemplo, una cuenta en México, para un teléfono en la Ciudad de Guadalajara, tendría el formato: 5233xxxxxxxx
  4. La contraseña se puede derivar fácilmente, a partir de conocer la Dirección MAC del dispositivo IOS (por ejemplo, usando técnicas de scanning), o el IMEI en Android (obtenido mediante acceso físico al dispositivo, o por filtración de alguna aplicación).
  5. Es posible tomar el control remoto de una cuenta, conociendo el usuario y contraseña. Por supuesto, este es el riesgo más alto, porque recordemos que la Personificación (tomar la identidad de otro individuo), es una de las tácticas más frecuentes usadas en espionaje corporativo y ataques cibernéticos por Ingeniería Social.

LAS PRUEBAS

1. ¿El número telefónico se puede sniffear? Para verificar el primer ataque, se conecta un Android a una red WiFi abierta. Desde una PC conectada a la misma red, se usa Cain & Abel para interceptar las comunicaciones y Wireshark para sniffearlas:

ataque-whatsapp-1 

Resultado: este riesgo sigue vigente. Aunque las comunicaciones aparentemente son encriptadas con SSL, en realidad WhatsApp sigue transmitiendo el número telefónico en texto simple. En la parte inferior derecha de la imagen puede observar el número telefónico de Android (5213XXXXXXXX).
Esta información se puede localizar rápidamente, empleando la funcionalidad "Find Packet" de Wireshark. Simplemente se indica la palabra "Android" o "iphone" como criterio de búsqueda.

2. ¿Se puede sniffear el número telefónico de todos los contactos? Para verificar este riesgo, efectué búsquedas exhaustivas en todas las comunicaciones que había capturado con Wireshark, tratando de localizar los números telefónicos de mis contactos que tengo registrados en WhatsApp:

ataque-whatsapp-2 

Resultado: no se ha localizado ninguno. Es decir, ya no se puede obtener la lista de los contactos.

3 y 4. ¿Se puede derivar fácilmente la Cuenta y Contraseña? Para verificar este riesgo, usé el cliente whatsapp.php, incluido en el software WhatsAPI. Lo instalé en Ubuntu 12.04, ejecutando los siguientes comandos:
apt-get install -y git php5
git clone git://github.com/venomous0x/WhatsAPI.git
cd WhatsAPI
Nota: WhatsAPI ya no está disponible en el sitio oficial. Sin embargo, todavía se encuentra en GitHub. Es posible que esta versión también desaparezca pronto, porque los autores fueron contactados por WhatsApp, solicitando que la removieran.
Otra Nota: WhatsAPI acaba de reaparecer en el sitio oficial, y va a continuar su desarrollo. Parece que el autor y los abogados de WhatsApp llegaron a algún tipo de acuerdo.
Después, edité el cliente whatsapp.php, indicando la cuenta ($sender) y contraseña ($imei) de mi teléfono (simulando como si un "hacker" las hubiera obtenido previamente, sniffeando la red WiFi).

ataque-whatsapp-3
Posteriormente, intenté enviar un mensaje a otro de mis celulares, que también está registrado en WhatsApp:

ataque-whatsapp-4 

Resultado: este riesgo sigue vigente. La cuenta y contraseña siguen generándose igual. WhatsApp no indicó ningún error.
En comparación, si la cuenta o contraseña fueran incorrectas, aparece el siguiente mensaje:

ataque-whatsapp-5 

5. ¿Se puede tomar el control remoto de una cuenta? Para probar el último riesgo, simplemente observamos si la solicitud anterior fue exitosa:

ataque-whatsapp-6 

Como puede notar, existe un mensaje de falla, indicando que nuestra petición fue rechazada.
Es decir, aunque se obtenga la cuenta y contraseña, YA NO ES POSIBLE tomar el control de las comunicaciones de esa persona. WhatsApp respondió con el error "not-authorized", y el mensaje nunca me llegó al teléfono de prueba.
CONCLUSIONES
Las versiones actualizadas de WhatsApp en iPhone y Android solucionaron la mayoría de los ataques. Sin embargo, sigue siendo posible obtener el número telefónico de una persona sin su autorización o conocimiento, simplemente "sniffeandola" cuando se encuentre en una red WiFi. Dependiendo de las circunstancias, esto puede ser un riesgo alto.
En cuanto a tomar el control remoto, es posible que la prueba no funcionara porque WhatsApp aplica algún nuevo tipo de revisión adicional, que todavía no está incluida en el cliente whatsapp.php.

3 comentarios:

  1. Joder tío, me he quedado muerto con los ataques de whatsapp.... hoy en día no puedes sentirte seguro :(

    ResponderEliminar
  2. josé no para nada que te pueden sacar a menos que estes en alguna cagada, es muy complicado como para perder el tiempo con la info que se puede sacar

    ResponderEliminar
  3. Me gustaria saber como hacer. Un virus que formatee el telf para enviar por wassap

    ResponderEliminar