miércoles, marzo 11, 2015

Whatsapp Intelligence: Whatsapp como fuente OSINT [3 de 3]

Si sumamos la información que un empleado vierte en su WhatsApp con fotos y mensajes de estados, al final podemos analizar el estado de ánimo de una empresa en un posible esquema de APT analizando las emociones que tiene su personal. Pero no solo eso, antes de un posible ataque o de una intrusión física por medio de técnicas de ingeniería social se podría saber cómo se encuentran hoy los guardias de seguridad y las personas de la recepción. ¿Cuántas veces has ido a una recepción de una empresa o la garita de seguridad y has visto a los empleados que allí trabajan enviando mensajes con el Whtasapp?

Figura 19: Preparar el ataque a una empresa con el WhatsApp de sus empleados

Realizando consultas sobre la base de datos que hubiéramos construido de una empresa, podrían buscarse usuarios que transmitan sentimientos como el amor, algo que se repite como ya hemos visto en algunos ejemplos, la tristeza, la pena, el cansancio, el desencanto con su trabajo, con los jefes o directamente con la empresa donde están. ¿No sería fácil elegir el turno de seguridad adecuado para hacer la intrusión basándonos solo en el estado de ánimo de las personas que en él trabajan?

Figura 20: usuarios que expresan amor en sus estados

Respecto a las posibilidades para explotar la información de la última hora en línea para cada usuario, además de mantener un registro constante y periódico de sus conexiones, me pareció interesante analizar también el nivel de dependencia que los usuarios tienen de Whatsapp. Para esto existen muchas aproximaciones.

Una de ellas, bastante simple es realizar una consulta que obtenga los números de teléfono para aquellos usuarios, que de todas las veces que la herramienta haya registrado esta información, nunca hayan dejado de estar en línea más de 2 horas - este umbral es evidentemente adaptable - respecto de la hora que se hace la consulta, dejando un margen de error de X días para no perder usuarios que un determinado día puedan dejar de conectarse por circunstancias excepcionales.
SELECT number,count(*) FROM `lastseen` where days = 0 and hours < '02:00:00' group by number having count(*) > (SELECT floor(count(*)/count(distinct number))-5 from lastseen)
Figura 21: Usuarios que tiene excesiva dependencia de WhatsApp

Realizando esa consulta, se obtienen por ejemplo una serie de números de teléfono, entre los que se encuentra el mío que también incluí entre la lista de targets. Si observamos el detalle de todas las veces que yo mismo he estado en línea, vemos que en todas las ocasiones me he conectado alguna vez en las dos horas anteriores a la hora de la ejecución de Whatsapp Intelligence salvo un día que transcurrieron casi 3 horas, que casualmente coincidió con un día que estaba viajando en avión. Por ejemplos como este es interesante considerar ajustar los parámetros de la consulta y el margen de error en función del objetivo que se persiga en cada caso.

Opciones de privacidad en WhatsApp

Es necesario aclarar que para para aquellos usuarios que hagan uso de las funcionalidades que Whatsapp pone a su disposición para bloquear el acceso a la foto de perfil solo para contactos conocidos, así como restringir la visualización del estado o la última hora en línea, algo se puede saltar.  Es posible averiguar la última hora en línea comprobando constantemente si un usuario está en línea hasta que aparezca con el evento onGetPresence, como también hacen las herramientas Whatsapp Tracker o WhatSpy-Public, aunque si se abusa de este método se corre el peligro de que nuestra cuenta sea baneada.

Figura 22: Opciones de privacidad de WhatsApp

Para acceder a la fotografía, como ya se contó en la parte anterior, se puede utilizar el bug de las fotos en la versión de WhatsApp Web. Por último, con el estado no hay mucho que hacer. Si se obtiene un estado nulo, es que el número que usamos no está entre sus contactos, así que habría que buscar otra estrategia.

Posibles casos de ataque potenciales

Como se puede ver por todos los ejemplos que he ido exponiendo a lo largo de este artículo, a día de hoy con un sencillo script que haga uso de API's como Whatsapi o Yowsup, alguien que quiera obtener información sensible de una empresa podría utilizar Whatsapp como fuente OSINT con tan sólo disponer de nuestro número de teléfono. Este número, que a pesar de que es un dato privado, es posible de obtener con herramientas como Whatsapp Discover en las redes WiFi de las cafeterías cercanas a la empresa o en los lugares habituales de los empleados. Ya explicaba el Maligno hace tiempo que para hacer un buen pentesting a una empresa antes había que hacer un Wardriving por la zona, en este caso para obtener de las redes WiFi los números de WhatsApp a meter en tu monitor de WhatsApp Intelligence.

También es muy fácil obtener números de teléfono de usuarios de Whatsapp en la red, haciendo un poco de hacking con buscadores, pues a día de hoy son muchos los usuarios que ofrecen Whatsapp como vía de contacto en portales de anuncios, alquileres, o similares, y no digamos ya si al final acaban en los programas de contactos.

Figura 23: Usuarios que facilitan su número de Whatsapp en milanuncios

Por otro lado, existe todo un horizonte de posibilidades para continuar explotando de manera automatizada la información que se obtiene con Whatsapp Intelligence. Desde intentar correlar las fotos de perfil de los usuarios con posibles perfiles en redes sociales buscando estas imágenes con la API de Google, hasta procesar la información de los emoticonos Emoji que los usuarios incluyen en sus estados, que se corresponden con caracteres Unicode.


Figura 24: Demo de WhatsApp Discover en Mundo Hacker

Todo esto sin olvidar que además de lo que hemos visto en este artículo, analizando el resto del tráfico presente en una captura de paquetes donde se haya obtenido el número de un usuario con Whatsapp Discover también se puede obtener más información interesante, como este ejemplo que enseñé en la demo que hice en Mundo Hacker donde se puede ver el caso de un usuario que en una red WiFi pública de un hotel, que además de chatear por Whatsapp estaba consultando perfiles de Tinder (la famosa aplicación móvil para ligar), teniendo la posibilidad de obtener tanto su foto de perfil de Whatsapp e identificarlo, así como las fotos de los perfiles de Tinder que estaba visualizando.

Figura 25: Herramienta de Eleven Paths para monitorizar Telegram

El volumen de información que se puede sacar de WhatsApp es grande, ya que se puede monitorizar hasta cuando un empleado llega tarde al trabajo o está viviendo en otra franja horaria - está de viaje -, pero si completamos esta base de datos con otros servicios como Telegram que también permite monitorizar los mismos datos, u otras redes sociales como Twitter, al final se tiene mucha información de una empresa por lo que sus empleados emiten por ellas.

Autor: Deepak Daswani
Sitio web: http://deepakdaswani.es
Twitter: @dipudaswani

****************************************************************************************
- Whatsapp Intelligence: Whatsapp como fuente OSINT [1 de 3]
- Whatsapp Intelligence: Whatsapp como fuente OSINT [2 de 3]
- Whatsapp Intelligence: Whatsapp como fuente OSINT [3 de 3]
****************************************************************************************

No hay comentarios:

Entrada destacada

Cibercriminales con Inteligencia Artificial: Una charla para estudiantes en la Zaragoza

Hoy domingo toca ir a participar en un evento, con una charla y una pequeña demo. Ahora mismo sí, así que el tiempo apremia, os dejo una cha...

Entradas populares