jueves, diciembre 03, 2015

"Desenmascarar" cuentas de Twitter a través de Sinfonier

Cuando hablamos de que todo el mundo publica información personal nos viene a la cabeza Facebook o Twitter, estas dos redes tienen la facilidad de exponer nuestros puntos de vista u opiniones de manera muy rápida, pero también tiene un problema, que los usuarios que están detrás de estas cuentas algunas veces - sobre todo cuando tienen alguna actividad "peligrosa" - suelen ser bastante anónimos, falsean los datos o los tienen como privados para que solo un grupo de amigos restringido puedan verlos.

Figura 1: Cómo "desenmascarar" cuentas de Twitter a través de Sinfonier

¿Qué es lo que hemos intentado en Sinfonier? Relacionar varias redes sociales para comprobar si los datos facilitados son reales, crear vínculos entre las cuentas para después poder identificar al usuario a través de descuidos en cuentas relacionadas o ver si las relaciones con personas son iguales o distintas entre las diferentes redes sociales. Al final, con esta información se puede llegar a hacer el doxing de una persona, para acabar en a una cuenta que contenga asociado un número de teléfono o una dirección de correo electrónico atribuible a una identidad real, en lugar de una cuenta ficticia en una red social.

Para conseguir este objetivo vamos a utilizar otras redes sociales para lograr crear estas relaciones. Como fuente inicial de información utilizaremos el Spout de Twitter que tenemos disponible en Sinfonier, pero podríamos empezar por otra red social. En este caso se supone que se quiere sacar toda la información asociada a una cuenta de Twitter de la que no se sabe quién está detrás. En los Tweets que nos vaya devolviendo pueden aparecer enlaces a otras redes a través de las URLs publicadas, en este caso nos centraremos en dos: Youtube y Soundcloud.

Figura 2: Información de la API de Youtube

En primer lugar, ¿por qué YouTube? muy sencillo, te proporciona toda la información que tiene disponible y además con un número de peticiones a la API muy por encima de lo normal  - 50 millones de peticiones a día -. Además te permite también hacer búsquedas complejas de vídeos. Con todo esto, tenemos una mina de oro de información disponible. Si quieres monitorizar un canal concreto puedes hacerlo con los módulos (Spouts) que hemos creado son los siguientes:

Figura 3: Spouts para Youtube en Sinfonier

Estos dos módulos son de búsqueda y se diferencian en la cantidad de parámetros que se le introducen. Los valores de entrada son los siguientes. Para más información Developers Youtube:
query - El parámetro que especifica el término de consulta que se debe buscar.
type - channel | video | playlist
order - date | relevance | rating | title | videoCount | viewCount
apiKey - Nuestra apiKey
MaxResults - Hasta un máximo de 50 por página
frequency - Segundos entre cada petición
safeSearch - moderate | none | strict
publishedAfter - publicado despues de (YYYY-MM-DDTHH:MM:SSZ)
publishedBefore - publicado antes de (YYYY-MM-DDTHH:MM:SSZ)
videoDuration - any | long | medium | short
location - Define un área geográfica circular y también restringe la búsqueda a los vídeos que especifican, en sus metadatos, una ubicación geográfica que cae dentro de esa área. Ejemplo (37.42307=-122.08427)
locationRadius - El valor del parámetro debe ser un número de punto flotante, seguido de una unidad de medida. Unidades de medida válidos son m, km, pies, y mi. Por ejemplo 5km.
Por otro lado los siguientes módulos nos dan la capacidad de poder buscar todos los detalles relacionados con un canal o vídeo.

Figura 4: Bolts de extracción de información de YouTube en Sinfonier

Con estos módulos podemos crear las relaciones de las que hemos hablado anteriormente, a partir de un vídeo podemos ver quien lo ha subido o si tiene comentarios, a su vez este canal puede tener más vídeos, o podemos ver que resultados nos devuelve YouTube al hacer una búsqueda de vídeos relacionados, las posibilidades son enormes.

Pero, ¿cómo podemos saltar de uno a otro? Pues gracias a que en la respuesta que nos devuelve cada Bolt nos proporciona esa información. Esta sería la respuesta de YoutubeVideoInfo: Como vemos, tenemos el channelId con el que preguntar por la información usando el módulo de YoutubeChanneInfo.

Figura 5: Información extraída de Youtube

Y en este nos aparece otro identificador importante, con el cual vamos a dar el salto a otra red social, Google+.

Figura 6: Datos de la cuenta Google+

Ahora que tenemos el identificador, simplemente usamos el nuevo módulo para Google+ que recoge la información de un usuario y la podríamos contrastar con la encontrada anteriormente.

Figura 7: Bolts para Google+ en Sinfonier

La información que nos devuelve puede ser de lo más extensa, dependiendo de lo que el usuario haya dejado público o se haya olvidado de eliminar en la cuenta que ya no recordaba.

Figura 8: Información relativa a Blogger

Incluso en estos datos o en los recogidos por ejemplo en comentarios de YouTube podemos encontrarnos con enlaces a blogs de blogger. Para estos casos hemos preparado cinco módulos para extraer información. Con toda esta información nos podemos crear un mapa de entidades virtuales y relacionarlas.
Figura 9: Bolts para Blogger en Sinfonier

Otro caso interesante es el de SoundCloud, una red social donde lo que se comparte es música, y esta aparece también publicitada en tweets que hemos recogido anteriormente, por lo que podríamos buscar también información en otra red social a partir de esos elementos de enlace que nos aparecen en las URL de tweets al igual que en YouTube.

Para esta red social tenemos un par de módulos que nos darán la información que contenga la canción que se ha publicitado y la de usuario que la sube, más información en developers SoundCloud.

Figura 10: Módulos para SoundCloud en Sinfonier

Y como podemos ver la cantidad de información que generamos y lo conectada que está, pudiendo crear un modelo para una o un grupo de personas con parámetros similares. En la siguiente imagen vemos a modo de ejemplo la información a partir de un tweet.

Figura 11: Mapa de relaciones sociales creado a partir de una cuenta de Twitter

Como podéis ver la información es mucha y muy variada. Además, si esto lo automatizamos podemos lograr muchos más perfiles y además relacionados y centrarlos en una temática, dependiendo de la fuente de información inicial, todo ello en Tiempo Real.

Figura 12: Dashboard de vigilancia de actividad en redes sociales creado con Sinfonier

El gráfico anterior es un ejemplo de la salida de todo esto sobre un dashboard que creamos para el último MeetUP de Sinfonier sobre Ciberterrorismo. Con él hemos creado un mapa de relaciones de redes sociales al que podríamos sumar la información de la geolocalización de los tweets, la información de los metadatos de las imágenes vinculadas, o lo que se quisiera. Toda la información sería útil para intentar descubrir quién está detrás de una determinada cuenta de Twitter o quiénes son sus contactos. Detrás está corriendo una topología similar a la siguiente:

Figura 13: Topología de Sinfonier para la creación de este Dashboard

Como hemos dicho, este trabajo lo presentamos @pejema44 y @Macario8 y esperamos que os guste y podáis sugerirnos nuevas ideas para implementar o redes sociales de las que extraer y relacionar información. Recordad que ahora tenéis activo un concurso en el Sinfonier Community Contest por el que podéis ganar 3.000 USD por vuestra topología de ciberseguridad o por vuestro Bolt. En la Comunidad de Eleven Paths tenéis toda la información disponible sobre el concurso y además podréis preguntar y aportar en la sección dedicada a Sinfonier donde esperamos que puedas resolver tus dudas con el uso de esta tecnología. Por supuesto, lo mejor es que te leas el libro de Sinfonier para la generación de ciberinteligencia de seguridad.

Autor: Miguel Hernández Boza

7 comentarios:

  1. deja de buscarme ya me conoces cuando puedas tomamos un cafe.no hay que poner tantos recursos para tomar algo y hablar de la lo que nos gusta.

    ResponderEliminar
  2. Me gusto mucho este informe 📝😁😁😁

    ResponderEliminar
  3. Muy bueno Gacho!

    ResponderEliminar
  4. Bastante interesante y muy útil bajo determinadas circunstancias. Tendré que probarlo y les comentaré los resultados obtenidos. Saludos.

    ResponderEliminar
  5. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  6. Me gustaría probarlo pero parece que esta caído

    ResponderEliminar
  7. chema una duda como anda el tema en estados unidos sobre usar comunicaciones cifradas de mas 1024? tengo entendido que no son legales. Donde puedo encontrar informacion

    un saludo y gracias

    ResponderEliminar