martes, julio 26, 2022

(Web)ScrAPIficar & Weaponizar WhatsApp (4 de 4)

Para la última parte de este artículo sobre (Web)ScraAPIficar & Weaponizar WhatsApp, vamos a ver un par de detalles importantes, las conclusiones del trabajo y, como no, os dejaré la charla completa que impartí en OpenExpo Europe para que la podáis ver, si no lo habéis hecho ya, de una sola vez en media hora, que al final, es más sencillo escuchar y ver una charla que leerse estas cuatro partes del artículo.

Figura 33: (Web)ScrAPIficar & Weaponizar WhatsApp (4 de 4)

Como hemos visto en el artículo anterior, la idea de este proyecto es poder, en primer lugar, crear APIs sobre "leaks" que están en la aplicación de WhatsApp, pero que no están disponibilizados por ningún sitio para poder crear scripts, como el caso de saber si un contacto está "Online" o no en un instante de tiempo, obtener las alertas de seguridad del chat, o la información del nombre de usuario de la cuenta.

WhatsINT

Además de poder crear estas APIs - todas usando WebScraping - lo siguiente es poder "Weaponizar" esquemas de ataque como el robo de cuentas con ingeniería social, la creación de un gusano tipo WannaSap, el ataque de D.o.S., el envío de enlaces para robar los nombres de los contactos de la agenda cuando funcionaba, o el descubrimiento de la ubicación de una persona enviando una falsa canción de Spotify, así como hacerlo para todos los contactos con los estados o desbloquear cuentas con grupos.

Figura 34: Configuración insegura de foto de perfil en WhatsApp

Al final, las técnicas de OSINT, cuando son para investigar personas o entidades, pueden tirar de WhatsINT con este tipo de herramientas. Por ejemplo, como última demostración con otro caso, hemos hecho el script para saber si una cuenta tiene disponible su foto de perfil para usuarios que no son sus contactos, como podéis ver en el vídeo. 

Figura 35: Comprobación de visibilidad de foto de perfil de WhatsApp

Este caso es perfecto para nuestro Dirty Business Card, ya que no necesitas que te tenga él como contacto para comprar si su perfil de WhatsApp tiene esta configuración abierta con la información de su perfil. La vida te da sorpresas.

ScrAPIficar

El siguiente aspecto que merece la pena resaltar es que estas técnicas de WebScrAPIficar tienen sentido cuando tengamos una aplicación web, como es el caso de WhatsApp Web, pero lo cierto es que no es absolutamente necesario nada de eso, y se puede hacer exactamente con cualquier "leak" o "feature" de cualquier App Client-Side, ya sea en un dispositivo móvil o en una aplicación de escritorio.

Figura 36: Ultima Conexión de un contacto en WhatsApp Desktop

Esto se lo conocen muy bien nuestros amigos de Quality Assurance, que se pasan el día entero automatizando scripts que tocan botones y capturan datos de los interfaces de las aplicaciones, para sacar resultados sobre los tests automáticos que se realizan en cada versión. Para explicar esto, el último ejemplo que hemos traído muestra como se puede ScrAPIficar WhatsApp - en este caso sin "web" de por medio - el "leak" de si una cuenta está Online o su Last-Seem.

Figura 37: Ejemplo de Script con API sobre WhatsApp Desktop

Como podéis ver en el vídeo, utilizamos WhatsApp Desktop para Windows que se maneja con un programa residente. En el script escrito en Pyhton llamado Win32.py estamos solicitando vía API saber cuándo un número de teléfono está Online o cuándo fue su Last Seen en la plataforma. 

Figura 38: Script en Python monitorizando las conexiones a través
de API hecha sobre WhatsApp Desktop

Para realizar este trabajo, nuestro programa residente en Windows hace clic en las diferentes ubicaciones de la pantalla de WhatsApp Desktop, introduce el número de teléfono a buscar, etcétera.

Figura 39: El agente maneja WhatsApp Desktop en Windows

Y luego, para hacer el Scraping, toma una captura de pantalla, corta la sección de la imagen dónde está el dato que queremos obtener, y lo convierte a texto con Tesseract-OCR.

Figura 40: El agente hace Scraping con Teseract-OCR

De esta forma, con una estructura muy similar al WebScraping, hacemos Scraping del interfaz de usuario de WhatsApp Desktop que luego se puede utilizar para crear APIs que se sirvan a todos los scripts de WhatsINT que se quieran construir. 

WhatsApp Code-Verify

Antes de terminar, una pequeña referencia a Code Verify que básicamente es una herramienta en la que Meta pasa a Cloud Flare una lista con los hashes de todos los recursos que utiliza WhatsApp WebCloud Flare comprueba su seguridad, y los carga en el navegador del cliente vía la extensión a Code Integrity.  Cuando en  el navegador, el usuario se descarga los ficheros de WhatsApp Web desde MetaCode Verify comprueba que los hashes de ese fichero están intactos. 

Si esto es así, la extensión, te dará un bonito tic de color verde que garantiza que, Code Verify ha validado los hashes con la información que ha recibido vía canal paralelo desde Cloud Flare, y tendrás una capa más de seguridad para proteger tu WhatsApp Web.  Y si esto es así, entonces olvídate de poder utilizar el concepto del plugin malicioso en una máquina que lo tenga. Lógicamente, para nuestro entorno, el lugar donde instalamos el plugin que usamos para manipular WhatsApp Web es nuestro y no le instalamos Code Verify. Pero si usas mucho WhatsApp Web, tal vez te venga bien proteger tu entorno.

Conclusiones

Al final, lo que te permite tener un entorno como éste es la posibilidad de rápidamente:
  • APIficar o WebScrapificar un leak de WhatsApp o cualquier otra herramienta cliente.
  • Integrar en tus plataformas de OSINT o CiberINT todo tipo de leak que aparezcan e WhatsApp o cualquier otra plataforma, tengan API o no la tengan.
  • Weaponizar esquemas de ataque mediante el uso de leaks o solo de features del propio producto.
Es decir, que no exista una API no es una limitación que evite que los analistas de seguridad, los pentesters o los hackers exploten hasta el último detalle de la tecnología en la consecución de un objetivo concreto.

Charla final

Y para termina, os dejo la charla tal y como la di en OpenExpo Europe, donde presenté todo esto - un poco más rápido y con un poco menos de detalle - pero en la que vas a poder ver todos los conceptos hilados por mí de una forma más cómoda y rápida.

Figura 42: (Web)ScrAPIficar & Weaponizar WhatsApp.

La charla era solo de 30 minutos, pero espero que os guste u os inspire para hacer alguna cosa curiosa con vuestras herramientas o investigaciones. 

¡Saludos Malignos!

******************************************************************************************
******************************************************************************************

Autor: Chema Alonso (Contactar con Chema Alonso)  


No hay comentarios:

Publicar un comentario