miércoles, mayo 08, 2019

Dirty Business Card Reader: Más detalles para que te hagas tu PoC

Dentro del equipo de "Ideas Locas" estamos trabajando en una pequeña herramienta para explicar la importancia de la privacidad de las personas y el control de los datos que nuestro jefe bautizó como Dirty Business Card Reader en un alarde de imaginación y arte. Como ya hemos contado en otras ocasiones, se trata de una aplicación web que permite procesar los datos de una tarjeta de visita, algo muy utilizado en el mundo de los negocios, y a partir de ellos obtener información de cuentas asociadas utilizando info-leaks & data leaks de múltiples servicios en cuestión de segundos.

Figura 1: Dirty Business Card Reader: Más detalles para que te hagas tu PoC

No vamos a pararnos aquí a dar una introducción extensa de la herramienta, ya que lo hace de manera muy completa Chema Alonso en otro articulo y ya os hablé yo de algunos cambios, pero os dejo los enlaces para que los podáis leer con calma:
- Dirty Business Card: ¿Cuánto está de sucia tu tarjeta de visita?
- Dirty Business Card: Curricula Module
Así que hechas las presentaciones, vamos a explicar un poco más del proyecto en concreto y algunos cambios que hemos ido añadiendo.

¿Qué datos se utilizan?

Para conseguir información sobre nuestro objetivo, el motor busca todo lo que puede a partir de la información que se entrega con la tarjeta de visita, tales como el nombre y los apellidos, el número de teléfono, la dirección de e-mail o los nombres de usuarios en  redes sociales que cada vez son más comunes, como el (@name) de Twitter. Es decir, los datos más típicos de una tarjeta de visita que nos suele facilitar el empleado de una empresa para futuros contactos.

Figura 2: Reconocimiento de datos en la tarjeta de visita usando  OCR

La herramienta  Dirty Business Card Reader permite extraer automáticamente los datos a través de un sistema de un proceso de OCR (Optical Character Recognition) basado en técnicas de Deep Learning usando los Cognitive Services de Google Cloud tal y como os contamos en un post y un webcast de LUCA que dio nuestro compañero Lucas (No, Telefónica no puso el nombre de la unidad de Big Data & AI en su honor)

¿En qué canales se busca información?

Los servicios de los que se van a hacer uso son muy variados y los vamos ampliando día a día. En esta versión que tenemos creada ahora para hacer las demos de concienciación, podemos destacar las siguientes fuentes de información que son usadas:
Google Hacking.

• Registros en Webs, como las páginas de citas o compra/venta.

• Cuentas comprometidas (HaveIBeenPwnd, …)

• Historiales de carreras de running 
• Use your imagination 
Al final, todo lo que se os ocurra puede servir para recolectar información y sacar conclusiones, como por ejemplo el lugar de residencia de un empleado, información de su currículo, información pública en redes sociales, etcétera. Cuanto mejor seas con el Hacking con Buscadores, mejor que mejor.

Figura 3: Manual de Hacking con Google, Bing, Shodan y Robtex

El verdadero potencial de la herramienta reside en el sistema de plug-ins para ampliar los canales de información existentes. Gracias a esto se puede añadir fácilmente nuevos info-leaks que se encuentren abstrayéndose el sistema de la implementación.


Figura 4: Demo de Dirty Business Card Reader

Cada uno de los plug-in toma como datos de entrada los antes mencionados y tiene que devolver un diccionario con el formato estándar de la herramienta. La forma de conseguir esa información está autocontenida en cada servicio permitiendo así un bajo acoplamiento del código y dando versatilidad en la implementación para la extracción del data leak.

Cambios recientes

Os dejo una lista de los últimos cambios que hemos ido añadiendo a este motor que empezó como una PoC para hacer las demos, y va creciendo para hacer nuevas demostraciones.
  • Buscador de Google: para extraer enlaces de los sitios relevantes para nuestras búsquedas. Ya se vio un ejemplo de uso que le damos en artículo publicado sobre el Módulo de Curricula, donde intentamos extraer los CV de cierta persona (o como se ve en la imagen siguiente, para búsqueda de pisos), otra de las opciones que se ofrece es sacar el perfil de LinkedIn.
Figura 5: Módulo de anuncios de inmuebles, lo que indica el "patrimonio" inmovilizado
  • Verificación de resultados para evitar Falsos Positivos: Hemos añadido una nueva funcionalidad para dar la fiabilidad de los resultados. La búsqueda en la red de manera automática puede devolver ciertos falsos positivos, los resultados variaran de fiabilidad según los datos de entrada, y el servicio, no es lo mismo buscar información a partir de nombre y apellido que a partir de una dirección de e-mail, etcétera.
Figura 6: Verificación de resultados (Reliability)
  • Se ha añadido la posibilidad de detectar si un usuario está registrado en ciertas páginas web de venta o búsqueda de trabajo, como son Wallapop o Infojobs.
Próximos pasos en el proyecto

Con el crecimiento de la herramienta, y el aumento del número de los servicios que se analizan, la búsqueda por la red se va haciendo más pesada, por lo que se han pensado una serie de novedades para mejorar el rendimiento de la aplicación que una vez que se terminen compartiremos con vosotros, para que dejaros información de lo que se ha conseguido. El objetivo es que os sea útil por si queréis hacer un servicio similar.
• Menú interactivo para filtrar los servicios de búsqueda: Así podemos limitar nuestros resultados a los servicios que nos interesen. 

• Ejecución de servicios en segundo plano: Crear hilos para ejecutar búsquedas en paralelo y mejorar tiempos. 

• Timeout para servicios: Determinar un tiempo de espera antes de descartar la búsqueda de un servicio para no frenar las respuestas.
Por otro lado, se ha estandarizado la API del backend con el objetivo de convertirlo en un servicio autónomo que pueda ser consumido por diversos frontales (aplicación web, apps móviles…), ya que todo lo que ampliamos este proyecto se integra dentro de los servicios de CyberThreats en ElevenPaths.


Figura 7:  Gráfico interactivo de resultados

Como vemos, a partir de una simple tarjeta de visita se puede extraer mucha información de la red y sacar muchas conclusiones que cualquier ciberdelincuente puede aprovechar. En general las personas no son conscientes de la información que se encuentra en Internet, en otras es un tema que importa más bien poco… Nuestra recomendación es que revises los datos que tienes expuestos y reduce los riesgos de ‘regalar’ información que no debería ser pública.

Autores: Josué Encinar García (@JosueEncinar) & Lucas Fernández Aragón (@lucferbux), Security Researchers en ElevenPaths y en el equipo de Ideas Locas de la unidad CDO de Telefónica.

4 comentarios:

  1. Con el crecimiento de la herramienta, y el aumento del número de los servicios que se analizan, la búsqueda por la red se va haciendo más pesada, por lo que se han pensado una serie de novedades para mejorar el rendimiento de la aplicación que una vez que se terminen compartiremos con vosotros, para que dejaros información de lo que se ha conseguido. El objetivo es que os sea útil por si queréis hacer un servicio similar.
    Read more at thanh lap doanh nghiep tu nhan

    ResponderEliminar
  2. Saludos desde Cali Colombia Chema y saludos a todo tu equipo de trabajo;
    Me encanta ver tus conferencias en YouTube.
    Tus herramientas son eficaces y te agradezco de corazón que nos enseñes como protegerse en el universo de la Triple W :)

    ResponderEliminar
  3. Me interesa el uso de la aplicación.
    Buenisimo

    ResponderEliminar