Una vez que hemos visto en la primera parte lo que son "leaks", "weaknesses", y en que consiste "weaponizar" una "feature" para convertir una característica en un "bug", vamos a continuar con la siguiente parte de los conceptos que necesitamos para armar la demo final. Se trata de ver en que consiste el WebScrapping, cómo lo utilizamos para técnicas OSINT, o como lo utilizan para otros ejemplos la industria FinTech o los WebScalppers, y cómo se puede hacer "Client-Side".
De nuevo, perdonad por el "mumbo jumbo", pero al final veremos que todo es mucho más sencillo de lo que parece al principio todos estos términos "anglos".
WebScraping
La definición de Wikipedia en español de Web Scraping es bastante acertada. Se trata de hacer peticiones a una web para, analizando los resultados, extraer los datos que allí se encuentran. Por ejemplo, hacer peticiones a todas las páginas de perfiles de usuarios en una plataforma, y hacer una base de datos con los nombres, apellidos o la información que te de esa página web.
Figura 13: Pentesting con FOCA Silver Edition |
En el mundo del OSINT (Open Source INTelligence) hacer WebScrapping es fundamental, y nosotros lo hemos utilizado muchas veces para hacer trabajos como el de Dirty Business Card - que no deja de ser un ejercicio de OSINT por muchos sitios de la red), o para nuestra querida FOCA, donde hacemos WebScraping en los resultados de Google, de Bing, de Robtex, o para encontrar los directorios de una web y los enlaces a documentos ofimáticos.
WebScalpers, FinTech y e-Commerce
Las técnicas de WebScraping son muy utilizadas para construir aplicaciones sobre los datos que se muestra en aplicaciones web. Es una forma de acceder a datos y automatizar funciones. En el mundo de las entradas de espectáculos y el negocio de la reventa, aparecieron los WebScalpers, que utilizaban WebScraping para automatizar procesos de compra un producto muy deseado - las entradas premium de un concierto o el nuevo iPhone - y ponerlo automáticamente a la venta en el mercado de reventa.
Esto hace que cuando salen a la venta las entradas de ese grupo tan importante, se acaben en unos minutos. No es que todo el mundo esté ahí esperando. Ni mucho menos, es que el mercado de la re-venta ha utilizado herramientas para "rapar al cero" (cuero cabelludo "Scalp") de entradas la web donde se vendían. Es decir, el del negocio de la reventa ha apostado por sacar un margen generando escasez de esas entradas, y para ello, en la mayoría de los casos, utiliza herramientas que se basan en hacer WebScraping a la página de venta de entradas y automatizarlo.
Esto no es nada nuevo, y en el mundo FinTech, donde las entidades bancarias no estaban dando APIs para que los clientes pudieran acceder a sus datos, comenzaron a construir sus servicios sobre las bancas online de los usuarios, accediendo con credenciales correctas y haciendo WebScraping de los resultados que daba la aplicación web del banco al usuario. Hoy en día ya tienen la posibilidad de acceder mediante APIs, pero al principio, toda la construcción de servicios se hacia sobre WebScraping.
Al final, hacer WebScraping no es un delito. Lo que es importante es tener claro cuáles son los datos a los que accedes y almacenas, pues hay una legislación para ello, y el GDPR explica claramente si puedes o no acceder a ellos y si puedes o no almacenarlos. Ahí es donde está el punto importante.
Figura 16: Libro Open Source INTelligence (OSINT): Investigar personas e Identidades en Internet de Vicente Aguilera y Carlos Seisdedos en 0xWord |
Otro claro ejemplo de uso de WebScraping son los que utilizan los e-commerce, con los programas de afiliados, con el movimiento de artículos. Hay empresas que integran productos de muchos e-commerce para hacer negocios de Drop-Shipping, es decir, de reventa de productos de otros, simplemente haciendo carga automática de ellos extrayéndolos de diferentes páginas web donde se venden, y para ello se usan también las técnicas de WebScraping.
WebScraping Server-Side & Client-Side en WhatsApp
En todos los casos anteriores hemos estado hablando de WebScraping pensando en su mayoría en datos que pedimos a un servidor y los analizamos. En el caso de WhatsApp, que es de lo que vamos a hablar, sería similar a tener WhatsApp Web e iniciar sesión. Después, deberíamos analizar todas las respuestas y podríamos automatizar comandos.
WhatsApp-Web.JS
Esto es lo que hace, por ejemplo, WhatsApp-Web.JS de Pedro. S. López, que utiliza Puppeter - una popular herramienta de los profesionales de QA (Quality Assurance) para hacer "Test Automation", es decir para probar una nueva característica en una herramienta.
En este caso, WhatsApp-Web.JS utiliza una versión del navegador que controla vía Puppeter con una sesión autenticada de un usuario, y sobre ella permite automatizar el uso de WhatsApp para realizar un montón de funciones, como las que veis en esta lista de opciones.
Una maravilla para poder controlar desde un script en tu equipo todo que quieras hacer en tu WhatsApp Web.
WanaaSap: El plugin malicioso de WhatsApp Web
En nuestro caso con WannaSap, que fue creado como ejemplo para hacer un gusano tipo WannaCry para robar cuentas de WhatsApp utilizando un esquema de ingeniera social masivo automatizado, nosotros hicimos algo similar, pero optamos por un esquema basado en infectar un navegador con un plugin malicioso que esperaba cualquier sesión de WhatsApp Web.
Una vez que ese plugin malicioso del navegador detectaba que se había iniciado una sesión de WhatsApp Web, reportaba al panel de control la instancia infectada, y permitía que se lanzara el ataque de ingeniera social, así como la recolección de datos de ese WhatsApp. En este caso, estábamos accediendo al DOM del navegador, y haciendo WebScraping del resultado para extraer los datos.
El esquema de ataque que realizaba, y que puedes ver en la conferencia de Social Worms: WannaSap & WannaGram, es el que en esta tertulia se intenta explicar (sin mucho éxito). Se trata de robar una cuenta de WhatsApp, y desde ella, a todos los contactos intentar robarle la cuenta.
Para ello, el atacante intenta iniciar sesión en WhatsApp con el número de teléfono de uno de los contactos de la víctima actual, el SMS de verificación le llega por SMS al contacto, y desde el WhatsApp de la víctima actual se intenta engañar para que te dé el código con ingeniería social.
Figura 22: Demo de robo de cuentas con WannaSap
En ambos casos, como podemos ver, estamos utilizando WebScrapping sobre WhatsApp Web para poder automatizar funciones, y crear esquemas de ataque que "Weaponizen Features", pero podemos darle un paso más allá, y construir sobre estas
¡Saludos Malignos!
******************************************************************************************
******************************************************************************************
Autor: Chema Alonso (Contactar con Chema Alonso)
No hay comentarios:
Publicar un comentario