Nueva versión de Tinfoleak, lista para su descarga

Tras una larga espera, hoy se ha publicado la versión 1.5 de Tinfoleak. Para aquellos que aún no la conozcan, pueden visitar la sección de herramientas[1], o mi página personal[2] donde se describen sus características, e incluyo capturas y videos con ejemplos de uso. De forma muy escueta, Tinfoleak permite extraer y analizar información relevante de la red Twitter mediante técnicas OSINT (Open-Source Intelligence).

En esta nueva versión, se han incorporado importantes mejoras que incrementan la capacidad de análisis de información pública en Twitter.

A continuación se describen, muy brevemente, las principales novedades en cuanto a sus funcionalidades.
  • Generación de resultados en formato HTML
    Además de mejorar el aspecto estético, el hecho de poder disponer de la información en este formato, permite que la navegación entre los resultados, y fuentes externas, sea mucho más ágil. Visualizar las imágenes publicadas en los tweets o consultar en Google Maps las coordenadas de un lugar visitado por el usuario, son algunos ejemplos claros de este potencial.
  • Mayor capacidad de análisis mediante la geolocalización de tweets
    Aunque la versión anterior ya utilizaba la geolocalización, y mostraba datos básicos (fecha, hora, coordenadas y lugar de la publicación)  asociados a tuits con esta característica habilitada, en esta versión se ha potenciado de forma considerable para obtener datos de gran interés. Así, ahora es posible:

    • Identificar los lugares más visitados: se identifican las ubicaciones desde las que se han publicado más tuits, mostrando los días de la semana que ha tuiteado desde cada una de las ubicaciones más visitadas, y resaltando los días que más tuitea desde dichos lugares. Esto, además, permite predecir pautas y conocer, por ejemplo, la vivienda habitual del usuario, su segunda residencia, su lugar de trabajo, restaurantes que frecuenta, etc. Las coordenadas enlazan con Google Maps, para poder ubicar fácilmente dicho lugar y conocer el entorno.

    • Obtener la ruta seguida por el usuario: se identifican las ubicaciones asociadas a las coordenadas geográficas, conociendo además, el número de días que ha permanecido en cada ubicación (a partir de la fecha y hora del primer y último tuit en esa ubicación), el número de tuits que ha enviado en cada estancia y el número total de tuits que ha publicado desde esa ubicación en distintas estancias.

    • Obtener datos asociados a cada tuit geolocalizable: se muestra, para cada tuit que revela las coordenadas desde las que fue publicado, la fecha y hora de su envío, las coordenadas geográficas (enlazándolas a Google Maps) y el lugar desde el que se publicó. De forma adicional, se incluye el tipo de información multimedia asociada (foto o video) a cada tuit, en caso de existir, y contiene un enlace para ser visualizada. También se incluye un enlace al tuit, para poder ser consultado.
  •  Información sobre metadatos en imágenes: Se obtienen los metadatos asociados a las imágenes, y se muestran de forma ordenada. En especial, se ha detectado que las fotografías de perfil y banner, contienen información relevante. La siguiente captura muestra un ejemplo, sobre los metadatos de Steve Wozniak.
  • Mayor detalle sobre el uso de aplicaciones cliente. En esta versión, en lugar de mostrar la aplicación utilizada en cada tuit, junto con la fecha y hora de su publicación, se identifican las aplicaciones y, para cada una de ellas, se muestra el número de veces que se ha utilizado (incluyendo el porcentaje de uso respecto el total de aplicaciones) y el periodo de tiempo entre el que se ha hecho uso de dicha aplicación.

  • Mayor detalle sobre hashtags utilizados
    La información recopilada sobre hashtags, se encuentra dividida en tres secciones. En la primera (“Hashtags in Tweets”), para cada tuit del usuario analizado, se muestran los hashtags que se incluyen, la fecha y hora de su publicación, número de retuits y favoritos, y un enlace al texto del tuit, de forma que se puedan consultar, además del texto asociado a los hashtags, respuestas sobre el mismo publicadas por otros usuarios, y otra información adicional relacionada con el tuit.

    En la segunda sección (“Hashtag Detail”), para cada hashtag identificado en la sección anterior, se muestra el periodo en el que ha sido utilizado y el número de veces que se ha publicado, además del número de retuits y favoritos que ha tenido. Asimismo, el hashtag se enlaza con Twitter, de forma que se pueda acceder fácilmente a información (fotografías, vídeos, tuits, etc.) relacionada sobre el mismo.

    Por último, la tercera sección (“Top Hashtags”) muestra los diez hashtags más utilizados por el usuario (igualmente, enlazados con Twitter), además de la información que ya se mostraba en la sección anterior.
  • Mayor detalle sobre las menciones de usuarios realizadas
    De forma análoga al apartado de Hashtags, en este también se desglosa la información sobre las menciones realizadas por el usuario, en tres secciones: “User Mentions in Tweets”, “User Mention Detail” y “Top Mentions”.

    La información mostrada tiene un mayor nivel de detalle que en la versión anterior, y los datos obtenidos son los equivalentes a los comentados para los hashtags, pero ahora relacionados con las menciones de usuario.
 

Por otro lado, se han realizado otros cambios relevantes:
  • Fichero de configuración independiente
    Ahora no será necesario editar el código Python, sino que directamente se edita un fichero de configuración, con dos secciones (“Twitter OAuth” y “colors”), que contiene los parámetros asociados a los tokens de autenticación, así como los colores utilizados en la salida de resultados por consola.
  • Gestión de errores más amigable
    En la versión anterior, muchos usuarios que utilizaban Tinfoleak por primera vez, recibían un código de error que no sabían interpretar y que indicaba la ausencia de los tokens de autenticación (que deben ser informados para poder hacer uso de la API de Twitter). Ahora, estos mensajes son más inteligibles, y favorecerán la identificación de la causa de error.
  • Corrección de bugs
    Se ha reescrito la mayor parte del código, y se han corregido bugs que tenía identificados, así como otros que han sido reportados por usuarios que utilizan Tinfoleak. No obstante, se necesitará la colaboración de los usuarios para seguir mejorando la calidad de la herramienta.
  • Optimización de procesos
    Al reescribir el código, ha permitido identificar procesos ineficientes que han sido optimizados. Por ejemplo, la descarga de imágenes se realiza ahora de forma mucho más rápida. Otros procesos también han sido mejorados, y otros han quedado pendientes de optimizar en futuras versiones.
Finalmente, destacar que el código se ha publicado con la licencia Creative Commons Attribution-ShareAlike 4.0 (CC BY-SA 4.0)[3]

Espero que os sea de gran utilidad. ¡Cualquier feedback será bien recibido!

Referencias:

[1] Internet Security Auditors – Herramientas
https://www.isecauditors.com/herramientas-tinfoleak

[2] Vicente Aguilera Díaz Personal Website – Tools
http://www.vicenteaguileradiaz.com/tools/

[3] Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
https://creativecommons.org/licenses/by-sa/4.0/ 


Autor: Vicente Aguilera - CISA, CISSP, CSSLP, ITILF, PCI ASV, CEH, ECSP, OPST/A OWASP Spain Chapter Leader
Director Departamento de Auditoría. 

26 comentarios:

Pedro dijo...

Hola, llevo tiempo utilizando la versión 1.2 de esta maravillosa herramienta, y la verdad es que da muy buen resultado. Ahora he intentado utilizar esta nueva versión 1.5, pero siempre me sale el siguiente error:

Traceback (most recent call last):
File "/root/Desktop/tinfoleak-1.5/tinfoleak.py", line 23, in
import exifread
ImportError: No module named exifread

Las pruebas las realice en dos maquinas distintas con debian, previamente he editado el fichero tinfoleak.py y tinfoleak.conf para añadir las 4 claves.

¿Saben a que se puede deber este fallo?

Un saludo, muchas gracias.

Internet Security Auditors dijo...

Buenas tardes Pedro,

El problema es que no tienes instalada la librería ExifRead, que utiliza Tinfoleak para extraer metadatos de las imágenes.

A continuación te dejamos el enlace para descargarla y donde se explica también cómo instalarla:

https://pypi.python.org/pypi/ExifRead

Anónimo dijo...

esta version corre en windows7 ?

Yari Luna dijo...

Buenas Tardes... La nueva Versión de Tinfoleak 1.5 Corre en Windows7 ?.. es necesario Crear nuevos valores de CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN,
ACCESS_TOKEN_SECRET... o puedo seguir utilizando los valores creado para la versión anterior de Tinfoleak

Pedro dijo...

Muchas gracias por responder tan rápido, efectivamente era ese el problema, ya la he instalado. Ahora me sale otro error distinto:

Oops! Something went wrong:

No section: 'colors'

El archivo tinfoleak.conf, el apartado [colors] lo tengo con las variables por defecto:
FUNCTION = [1;44m
INFO = [1;30m
HEADER = [1;94m

¿Como puedo solucionar el error?

De nuevo, muchas gracias.

oderfla aicrag dijo...

Ni en ubuntu 14.04, ni OSX Yosemite.
Podrian explicar por favor de manera completa como instalar las dependencias ?
ImportError: No module named _imagingcms
ImportError: No module named pyexiv2

He hecho:
sudo pip install PIL
sudo pip install Pillow ( por las dudas )
He modificado a import Image ( segun StackOverflow esto lo arreglaria)
Alguna recomendacion ?
A pip list sale PIL (1.1.7)
Python 2.7.6 (default, Sep 9 2014, 15:04:36)

Corre solo con Python 3 ?

Gracias !

Anónimo dijo...

Hola amigos la herramienta muestra unas mejoras muy muy excelentes para auditar la instale y todo pero tengo un error me gustaria saber si ustedes me pueden ayudar

Traceback (most recent call last):
File "./tinfoleak.py", line 31, in
from jinja2 import Template, Environment, FileSystemLoader
ImportError: No module named jinja2

Agradecido con la respuesta que me puedan ofrecer

Pedro dijo...

Hola de nuevo, ya conseguí solucionar el error de "Oops! Something went wrong: No section: 'colors'", el problema es que estaba ejecutando el script desde una ruta distinta al "home" y entonces este no localizaba el archivo .conf, (una tontería).

Pero como no iba a ser todo tan fácil como para que funcionara a la primera, ahora me sale otro error: [{'message': 'Bad Authentication data.', 'code': 215}]

Me imagino que sera por el tema del token, key... de la API, estoy utilizando exactamente los mismos valores que con la versión anterior de Tinfoleak (que si funciona). Solo los he puesto en el archivo .conf, el archivo .py no lo he tocado. ¿Alguna idea para solucionar este error?

Un saludo, muchas gracias.

Anónimo dijo...

me hace falta un porgrama para descargar el archivo con extensión .py. Dónde lo puedo encontrar?

Muchas gracias por su ayuda.

Anónimo dijo...

Por favor:

Por cada error de dependencia, buscad en google, no obstante la forma mas facil de instalar dependencias en python es a traves de pip que se instala:

apt-get install python-pip

Para tweepy:

pip install tweepy

Las otras:

pip install exifread

pip install jinja2

apt-get install python-pyexiv2

Los usuarios de ubuntu puede que pip les falle, en ese caso:

easy_install -U pip


Salu2

Anónimo dijo...

Hola a todos, estoy intentando instalarlo en w7 y no puedo instalar el modulo OpenSSL me da error
hay alguna solución
Gracias

Mario Soler dijo...

Hola, estoy intentando ejecutar el script pero me da el siguiente error

Oops! Something went wrong:

__init__() got an unexpected keyword argument 'secure'

Estoy utilizando Ubuntu 14.04 y Python 2.7.6

He editado el fichero .conf y he introducido los datos OAuth

Agradeceria me pudiesen dar una solución

Francisco Pérez Rosales dijo...

File "tinfoleak.py", line 1008
exif = { ExifTags.TAGS[k]: v for k, v in img._getexif().items() if k in ExifTags.TAGS }

P11-G545 dijo...

Hola, llevo un par de dias intentando configurar y utilizar tu herramienta y hoy, porfín, he conseguido que funcione. Utilizo Arch Linux x86_64.
Para empezar tuve que instalar la ultima versión de tweepy de forma manual, ya que la de los repos estaba desactualizada y ya no sirve ese API.
Luego surgió un fallo en la linea 69 donde pones:
self.api = tweepy.API(auth, secure=True)
El secure=True ya no hace falta con la ultima versión de Tweepy, la puedes eliminar.
self.api = tweepy.API(auth)

Y lo siguiente lo pongo por si a alguien mas le sirve, tuve que instalar alguna cosas ya que Arch viene algo pelado.
python2-jinja
exifread
pyexiv2

También tuve que cambiar la primera linea por que en Arch "python" hace referencia a "python3"

#!/usr/bin/env python2

Espero que todo esto sea de ayuda para alguien. Saludos. :)

P11-G545 dijo...

Sería bueno también que dijeras bajo que sistema operativo / distribución haces todo este trabajo. :)

Anónimo dijo...

Hola,

Felicidades por la herramienta, una cosa que añadiria, seria poder sacar todos los tweets que se han realizado, cercanos a una posicion geografica determinada...como hace geostalker..

Como lo ves? en la version 2.0 tal vez? jejeje

Espero que si...

Un saludo

Anónimo dijo...

buenas al querer iniciar la herramienta me muestra error:

Oops! Something went wrong:

__init__() got an unexpected keyword argument 'secure'

Quisiera saber como solucionarlo gracias

Anónimo dijo...

Hi,

When running this on the latest Linux Mint it returns the following,

File "./tinfoleak.py", line 38
print "+++ "
^
SyntaxError: invalid syntax

Any idea what I'm doing wrong?

Many thanks

Anónimo dijo...

Hay una interfaz web de la aplicacion en tinfoleak.com

Anónimo dijo...

Instalado correctamente en Kali Linux 2.0

Tras instalar un par de dependencias faltantes:

pip install exifread

apt-get install python-pyexiv2

Me surgió el eror:

tinfoleak Oops! Something went wrong:
__init__() got an unexpected keyword argument 'secure'

El error se soluciona como comentaron anteriormente:

En la linea 69 donde pones:
self.api = tweepy.API(auth, secure=True)
El secure=True ya no hace falta con la ultima versión de Tweepy, la puedes eliminar.
self.api = tweepy.API(auth)

Anónimo dijo...

Todo funciona bien menos la opcion --friend que lanza el siguiente error:

Oops! Something went wrong:

User instance has no attribute 'set_friendship'

Supongo que tambien en problema la nueva version de Tweepy, pero no se que valores debo cambiar

Disaster dijo...

ME sale este Error, despues de solucionar toda las dependencias alguine sabe que puede pasar.
Esta configurado el tinfoleak.conf

Oops! Something went wrong:

__init__() got an unexpected keyword argument 'secure'

Anónimo dijo...

Oops! Something went wrong:

Bad Authentication data.

Entiendo que que hay un error de autentificacion, pero repaso continuamente los datos y no es asi. ¿es que hay un tiempo minimo hasta que twitter te autoriza a utilizarlos?. Los datos los introduzco entre ''. Es correcto?, perdonar, pero es que ya dudo de todo.
Gracias

isaar saucedo dijo...

hola a alguien le a salido este error?




Oops! Something went wrong:

get() takes exactly 3 arguments (2 given)


espero me puedan ayudar esta corriendo en Kali 2.0


saludos

isaar saucedo dijo...

hola buen dia

saben solucionar este error?

Oops! Something went wrong:

get() takes exactly 3 arguments (2 given)

Anónimo dijo...

Buenas noches, alguien sabe como solucionar el siguiente error ?

Traceback (most recent call last):
File "tinfoleak.py", line 26, in
import pyexiv2
ImportError: No module named pyexiv2


si alguien me puede ayudar lo agradeceria inmensanmente.

Publicar un comentario en la entrada