WhatsApp HACKEADO , aparece WhatsAppSniffer

Hoy vamos a hablar de una herramienta para sniffear todo lo que whatsapp manda/recibe en la red creada a partir del estudio realizado Alberto Ortega en su post 'WhatsApp y su seguridad, ¿pwn3d?'

¿Qué es Whatsapp?

Whatsapp es un servicio de mensajería instantánea disponible para cualquier smartphone actual y que usa el protocolo xmpp para la transmisión de datos.

¿Como funciona whatsapp?
Como los chicos de securitybydefault nos comentaban en el otro post, whatsapp tiene como destino el puerto 443(HTTPS) aunque todo viaja bajo texto plano.

Whatsapp usa el protocolo XMPP(una tecnología de comunicación en tiempo real muy potente y utilizada actualmente). Un claro ejemplo del uso de XMPP lo podemos encontrar en el tuenti chat sin ir muy lejos.
Los datos de XMPP son enviados a bin-short.whatsapp.net bajo el puerto 5222.

¿Un momento, seguro que van en texto plano?... Así cualquier desalmado puede leer mis mensajes cuando estoy en una red wifi..

Exacto, todos los datos son enviados bajo texto plano, una vulnerabilidad que fue descubierta hace meses y reportada pero a la que whatsapp no hizo caso.



Pero es bastante incómodo tener que estár atendiendo a 80 paquetes para leer dos mensajes y dos números de teléfono... ¿no hay otra forma más comoda?
Porsupuesto, actualmente estoy desarrollando WhatsAppSniffer(que nombre más original) que muestra en consola todas las conversaciones, identificadores y demás que pasan por la red cuando se está usando whatsapp.

He decidido programarlo usando winpcap(aunque no sería posible de no ser gracias a Thor) y he usado como lenguaje ANSI C.

¿Y donde podría usar esta herramienta? Situémonos... estamos en una biblioteca, wifi público y está llena de personas que por no gastar el ancho de banda de 3G están atendiendo a usar whatsapp en el wifi.. Simplemente arrancaríamos la herramienta y dejaríamos que broten las conversaciones :).. en un aeropuerto, en un bar (así consigues el numero de esa rubia que tanto miras en lugar de atender a la coca-cola)...

¿Pero como usamos WhatsAppSniffer?

Arranca el programa, selecciona un adaptador que se pueda poner en modo promiscuo introduciendo su número y pulsa enter.
WhatsAppSniffer esperará a que los paquetes comiencen a pasar y los irá mostrando en pantalla con sus respectivos datos.

Nota: En caso de que no logre detectar ningún paquete debes de cerrar la herramienta y previamente forzar el modo monitor de tu tarjeta, yo lo he estado haciendo con cain para ir probando.




De momento he decidido dejar una versión BETA de WhatsAppSniffer. Todavía hay que ajustar un poco el filtrado de los paquetes, solucionar algún error y hacer que permita enviar mensajes desde el propio sniffer a partir de un userid.


Descarga WhatsAppSniffer - 4.71 kb
Descarga SourceCode - 81.83 kb

Continuaré desarrollando la herramienta para mejorar el filtrado... realmente no hay un "patrón" de datos en los paquetes que me permita sacar los datos de forma limpia siempre... de modo que necesitaré un poco más de tiempo hasta sacar algo a lo que se pueda llamar Sniffer... :)