Cómo hacer scrapping de una cuenta de Twitter con Twint

Nuevamente, vuelvo a mirar mis propias métricas de analitics y veo que hace rato que no escribo en el blog. Sip, sé que estoy en falta conmigo mismo y con quienes me siguen, pero reconozco que es un tanto difícil cuando uno está con trabajo, viajes, charlas, etc.

No obstánte acá estoy nuevamente, y en este caso vengo a escribir una nota más ligada a la parte de OSINT, y especialmente más a la parte de #SOCMINT dentro de la fase de OSINT.

Muchos de quienes me siguen saben que vengo trabajando mucho en el mundo de OSINT, y particularmente en todo lo referido a la parte de mapeo y perfilación de las personas de una organización dentro de un ejercicio de Red Team.

Por esta razón hoy elijo mostrar una tool llamada “twint” la cual sirve para hacer minería de datos de una cuenta de twitter o scrapping sobre la misma, sin tener que usar la API del proveedor.

Cuando dentro de una investigación buscamos en las redes sociales de una determinada persona, esas técnicas particularmente se llaman SOCMINT (acrónimo de Social media intelligence) que es uno de los tipos de inteligencia que componen el mundo de OSINT, al igual que humint, geomint, etc.

Lo interesante de “Twint” es que la misma trabaja a través de scrapping de la red social y de forma anónima lo cual es obviamente, dentro de una investigación, súper útil, con lo cual no necesitamos el uso de la API de twitter para traernos la información que deseamos.

Paso 1 – Bajar e instalar la herramienta Twint

Lo primero que haremos es bajarla de su repositorio original el cual es https://github.com/twintproject/twint.git

kali# git clone https://github.com/twintproject/twint.git

kali# cd twint
kali# pip3 install -r requirements.txt

Una vez que hemos instalado la herramienta cómo vimos recién nos ocupamos de su sintaxis de uso la cual es muy sencilla:

twint -u [username] [options]

La opciones incluyen:

  1. –following 
  1. –followers 
  1. –favorites 
  1. -s <string de búsqueda> 
  1. –year <limitar la búsqueda a un año en particular> 
  1. -o <output> <file.txt o file.csv> 

   7. –database <nombre de la base de datos sqllite>

Paso 2 – Recolectar información de un objetivo

Para el propósito de esta nota, voy a usar cómo cuenta objetivo mi propia cuenta de twitter, la cual es @BlackmantisSeg

Si quisiéramos scrapear todas las cuentas de twitter que @BlackmantisSeg esta siguiendo y enviarlas a un archivo de tipo csv, tipeariamos lo siguiente:

kali# twint -u BlackmantisSeg --following -o blackmantisfollowing –csv

Si buscamos en el navegador de archivos la carpeta la vamos a encontrar y dentro de ella veremos el archivo con formato csv

Así cómo nos trajimos las cuentas que @BlackmantisSeg sigue, podríamos traernos las que me siguen a mí de la siguiente manera:

kali# twint -u BlackmantisSeg --followers -o blackmantisfollowers –csv

Podríamos incluso, dentro del marco de investigación en el que estemos trabajando, buscar alguna palabra en particular, que se podría encontrar en alguno de todos los tweets que la persona postea.

Por ejemplo, en mi caso seguramente si buscamos la palabra “hacking” algo vamos a encontrar seguro:

kali# twint -u BlackmantisSeg -s hacking

Paso 3 – Scrapear todos los tweets y mandarlos a una base de datos

La herramienta tiene la capacidad también de tomar mediante scrapping todos los tweets y mandarlos a una base de datos.

Tenerlos en una base de datos nos permite después mediante querys buscar los tweets que nos interesan en forma off line más tranquilos.

Para realizar la acción tipeamos lo siguiente:

kali# twint -u BlackmantisSeg --database blackmantisDB

Ahora entonces si entonces podríamos abrir la base de datos de SQLLite y abrir la base de datos que nos guardamos llamada “blackmantisDB”

Al abrir la base veremos que nos encontramos con una estructura de 8 tablas en la base. En este caso vamos a concentrarnos en la tabla “tweets”. Expandimos la tabla tweets y vamos a ver los campos que la componen

Vamos ahora ya finalmente y para ir cerrando este post, ir a la solapa “Execute SQL” en dónde armaremos una query que nos traiga los tweets en donde se haya usado la palabra hacking (O cualquiera que quisiéramos encontrar)

SELECT tweet
FROM tweets
WHERE tweet LIKE '%hacking%'

Conclusión

Twitter en particular, y el open source intelligent (OSINT), pueden ser una gran herramienta a la hora de recopilar todos los datos disponibles de una cuenta, sobre todo cuando estamos en la fase de SOCMINT, cómo comentamos al principio.

Esta herramienta tiene algunas opciones mucho más interesantes todavía usando elascticsearch y kibana para su visualización.

Si te interesa ahondar en esta herramienta y en otras similares, no te pierdas el curso que en breve daremos llamado “Red Team Nivel 1 – Hacking Fundamentals”

https://www.blackmantisecurity.com/red-team-nivel-i-hacking-fundamentals/

Nos vemos en la próxima entrega!

Saludos.

 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *