Mostrando entradas con la etiqueta RRSS. Mostrar todas las entradas
Mostrando entradas con la etiqueta RRSS. Mostrar todas las entradas

viernes, 14 de octubre de 2016

Doctor, si se me revuelven las tripas… (II): “Toma un poco de #OSINT con #OSRFramework”


Hola secuaces:

Siguiendo con mi curiosidad, con mi afán de saber quién es el ‘señor’ de mi entrada anterior, “Doctor, si se me revuelven las tripas… (I): “Toma un poco de #OSINT con #Tinfoleak””, y siguiendo con ganas de saber por dónde se mueve, voy a usar otra magnífica herramienta. Por supuesto, respetando toda privacidad, pues únicamente pretendo mostraros cómo funciona este framework.

Se trata de OSRFramework, (Open Sources Research Framework), desarrollada por Féix Brezo, (@febrezo) y Yaiza Rubio, (@yrubiosec), unos analistas de inteligencia, en el sector de las telecomunicaciones, que pertenecen al grupo de i3Visio.

Se trata de un framework para la investigación de usuarios en fuentes abiertas, capaz de buscar datos en 223 plataformas distintas, entre otras funcionalidades. No usa APIs de las plataformas, (salvo en Skype porque hay que darle permisos), si no que se basa en una aproximación de la url. Extrae la información de una forma automática. Y es de código abierto.

Vamos a proceder.

Primeramente, clonamos o descargamos la herramienta, con

git clone https://github.com/i3visio/osrframework.git


Si listamos el directorio, con

ls -l osrframework


Veremos que tiene un instalador. Instalamos la herramienta con

sudo python setup.py build

sudo python setup.py install



Ahora, si listamos el directorio ‘osrframework.egg-info’, observaremos que tiene unas dependencias.

ls -l osrframework.egg-info


Así que ingresamos al directorio y las instalamos, mediante

cd osrframework.egg-info

sudo pip install -r requires.txt


Ahora, si ingresamos en el segundo directorio de ‘osrframework’ y lo listamos, observaremos los módulos de la herramienta

cd home/marcos/osrframework/osrframework

ls -l


Para comenzar, podemos ejecutar el ‘osrfconsole.py’, para ver qué módulos están disponibles y qué hace cada uno de ellos

python osrfconsole.py



Pinta muy interesante, ¿verdad? Pero ahí no figuran todos. Veamos la ayuda de cada uno de ellos

python searchfy.py --help


Módulo que realiza búsquedas en plataformas, tanto de la web de superficie, como de redes anónimas.

domainfy.py --help


entify.py --help


Módulo al que se le pasan documentos o carpetas o una url para extraer entidades, (emails, hashes, urls, direcciones IPV4, DNI, …)

python enumeration.py --help


Módulo al que se le pasa una estructura de una url y que fuerza la búsqueda de los ‘id’ dentro del sitio y la descarga en local para consultarla offline, en formato ‘.html’. Se descarga toda la lista de usuarios que tiene el sitio.

mailfy.py --help


Módulo al que, dados unos nombres de usuarios, alias o direcciones de correo electrónico, verifica si existe esa cuenta de correo electrónico.

phonefy.py --help


Módulo al que, dado un número de teléfono, procede a su chequeo en listas de Spam.

usufy.py --help


Módulo al que se le introduce un alias, un usuario, o lista, y busca la información, relativa al perfil del mismo en diversas plataformas.

Bueno. Visto esto, es hora de ponerla en funcionamiento con el “voluntario” que teníamos en este perfil de Twitter.

Para ello, y conociendo un alias como conocemos, (antoniobanos_), vamos a llamar a ‘usufy.py’, con

usufy.py -n antoniobanos_ -p all


Esta línea nos devuelve algunos resultados.


Como considero que no me es suficiente, voy a usar otro módulo que no os he presentado antes. Se trata de un generador de Alias.


Este es un módulo al que se le introducen una serie de datos para que genere una lista de posibles alias.

Es realmente interesante. Como teníamos una bonita página en la Wikipedia de este ‘señor’, con algunos datos personales, me es más que suficiente para mostraros cómo trabaja este framework.

Así que, vamos a proceder a generar una lista de posibles alias, mediante

alias_genarator.py


Como podéis ver, es muy fácil de usar. Tras finalizar, se presenta la siguiente pantalla, que nos indica el número de alias posibles que se han generado.


¡Casi nada! 1656 nicks generados, en un fichero de texto con nombre ‘output’. Son demasiados, para mostraros el poder de este framework.

Esto podría tardar demasiado tiempo, en torno a 40 segundos por cada alias. Echad cuentas. No tengo ninguna prisa, pero hay que recortar esta lista. Recordáis que había un perfil en Twitter, ¿verdad? Pues vamos a hacer una cosilla.

Nos dirigimos al sitio de Twitter. Clicamos en “¿Olvidaste tu contraseña?”


Introducimos en alias en cuestión y le damos a buscar.


Y se nos presenta esta bonita pantalla.


¿Qué tenemos? Pues tenemos una dirección de correo, de un dominio que empieza por ‘Y’, seguido de cuatro caracteres, con un ‘.’, seguido de dos caracteres. Y un alias, que empieza por ab, seguido de cinco caracteres. Total… siete caracteres de un alias que comienza por ‘ab’.

Como el módulo de ‘alias_generator.py’ nos había generado 1656 posibles nicks,

wc -l /home/marcos/osrframework/osrframework/output.txt


Seleccionamos aquellos que comienzan por ‘ab’ y los copiamos a un nuevo fichero.

wc -l /home/marcos/osrframework/osrframework/ab


Siguen siendo demasiados. Vamos a hacer otra cosa. Los vamos a copiar a una tabla Excel y le vamos a aplicar una pequeña fórmula para ordenarlos por número de caracteres.



Recodáis que, según una cuenta de recuperación de correo electrónico, tenía un total de siete caracteres, comenzando por ‘ab’. Pues copiamos únicamente los posibles alias con siete caracteres a un nuevo fichero de texto.

wc -l /home/marcos/osrframework/osrframework/Alias-7.txt


Hemos pasado de 1656 posibles nicks, a 4. Casi nada.

Esto es un ejemplo de cómo funciona esta herramienta. Os muestro otros

python enumeration.py --u https://assemblea.cat


python enumeration.py --u https://cup.cat


entify.py --u https:// assemblea.cat


entify.py --u https:// cup.cat


mailfy.py -N Alias-7.txt


usufy.py -p all -l output.txt


searchfy.py -p all -q antoniobanos


Todos los resultados obtenidos, a excepción del módulo de ‘enumeration.py’, que se descargan en local, son exportados a un fichero en formato ‘profiles.csv’

ls -l | grep profiles.csv

file profiles.csv

wc -l profiles.csv


En mi caso, el fichero ‘profiles.csv’ creado, me ha generado un total de 627 resultados, matando algunos procesos. Y no os digo nada de los miles de resultados obtenidos de la enumeración.


NOTA: Los resultados obtenidos se basan en supuestos. Es decir, que hay que realizar una comprobación ‘manual’ de los datos obtenidos, intentando correlacionarlos entre sí, para determinar si pertenecen a la persona que se está ‘estudiando’.


Por último, de obligada lectura y obligado visionado:

#RetoISACA2015 – OSRFramework, un framework libre para la investigación de usuarios en fuentes abiertas

Taller de Félix Brezo Fernández y Yaiza Rubio Viñuela en Cybercamp 2015


Esto es todo, por ahora. Nos leemos en la siguiente entrada. Se despide este minion, entregado y leal, de vosotros… por ahora.


Marcos @_N4rr34n6_

viernes, 30 de septiembre de 2016

Doctor, si se me revuelven las tripas… (I): “Toma un poco de #OSINT con #Tinfoleak”


Hola secuaces:

En primer lugar quiero pediros disculpas porque me voy a saltar el orden de entradas que tenía pensado. En lugar de seguir con la fase de adquisición de evidencias, voy a introduciros, introducirme, en el mundo del OSINT, (Open Source Intelligence o Inteligencia de Fuentes Abiertas). Muy desconocido para mí, aunque me gusta ‘trastear’ con ello.

Básicamente, OSINT es una técnica aplicada para la recolección y análisis de una información que es pública y accesible, a través de Internet. Esta técnica es muy usada por las FFCCSE y por los analistas de los Servicios de Inteligencia. Podéis ver la definición en la Wikipedia.

Todos tenemos días buenos, días malos y días peores. Si a eso le añadimos una lectura como esta…: “Baños compara a la Guardia Civil con terroristas del estado islámico.”


Sin comentarios, ¿no? A mí, me duele esta noticia por varios motivos. Y sólo voy a hacer un comentario: El terrorismo islámico es un asunto muy delicado.

Tengo por norma no entablar algunos temas de conversación que siempre terminan en disputas. Uno de ellos, como no podía ser de otra forma, es la política. Por esta razón, vamos al lío.

Antonio Baños… Antonio Baños… quién es este ‘señor’. Acudo a Google y pongo, “Antonio Baños”.


¡Zas! Primer resultado. Wikipedia. Le hecho ganas y pierdo unos minutos en leer su contenido. Tras leerlo, me fijo en el margen derecho de la página. ¡Qué ven mis ojos! Si tiene perfil de Twitter. No necesito saber más.


OSINT + Twitter = Tinfoleak, (Lo tengo claro). Y además tenemos un “voluntario”.

Tinfoleak, es una magnífica herramienta, escrita en Python por Vicente Aguilera Díaz, (@VAguileraDiaz), entre otras muchas cosas, cofundador de Internet Security Auditors. Se trata de una herramienta usada para extraer información, de una forma automática, de un perfil de Twitter. Analizando los datos que se recojan se pueden llegar a interesantes conclusiones, como el nivel cultural y de educación del usuario, su estado de ánimo, su comportamiento, sus cambios de actitud, sus intenciones… Pero es un trabajo muy laborioso y que requiere muchas horas y/o días.

Voy a intentar explicaros cómo se instala y cómo funciona.

Tras descargar la herramienta desde su sitio oficial, a través de

wget http://www.isecauditors.com/sites/default/files/files/tinfoleak-1.5.tar.gz


Procedemos a su descompresión y acceso a su directorio, con

tar xzvf tinfoleak-1.5.tar.gz

cd tinfoleak-1.5


Listamos el directorio, con

ls -l


Lo primero que debemos hacer, es modificar el fichero ‘tinfoleak.py’. Para ello, ejecutamos un

nano tinfoleak.py


Y ahora tenemos que cambiar unos parámetros en la línea 69. Donde dice ‘self.api = tweepy.API(auth, secure=True)’, debe decir ‘self.api = tweepy.API(auth)’.


Tras esta modificación, instalamos las dependencias, a través de

sudo pip install tweepy


sudo pip install exifread


sudo apt-get install python-pyexiv2


Con esto ya tenemos instaladas las dependencias y la herramienta casi lista para operar. Pero ahora debemos ir al sitio de desarrolladores de Twitter y crear una aplicación.


Cumplimentamos los datos que nos piden, aceptamos las condiciones y le damos a ‘Create your Twitter application’. Nos debe decir que se ha creado correctamente.


Ahora debemos irnos a ‘Keys and Access Tokens’. Copiamos nuestros códigos y los guardamos a muy buen recaudo.


Si ahora nos dirigimos a la configuración de nuestra cuenta de Twitter, al apartado de aplicaciones,


Debemos ver que la aplicación que hemos creado tiene permisos.


Ahora, para terminar de configurar la aplicación, tan solo nos queda editar el fichero ‘tinfoleak.conf’, a través de

nano tinfoleak.conf


Y copiamos las cuatro claves, cada una en su campo.


Ahora sí, ya estamos listos para trabajar.

Empezamos llamando a la ayuda de la herramienta, con

python tinfoleak.py -h


Y podemos ver todas las opciones que nos da.

Pues, sin más dilación, comenzamos con

python tinfoleak.py antoniobanos_ -is -t 500 --hashtags --mentions --meta --media d --top 10 -o AntonioBanos


Y dejamos que trabaje tranquilamente.

Al terminar el proceso, tendremos generado un reporte, en formato ‘.html’, que podemos comprobar con

ls -l ReportTemplate/AntonioBanos

file ReportTemplate/AntonioBanos


Y descargados todos los ficheros que han sido compartidos por este usuario, que podemos listar con

ls antoniobanos_


Nos dirigimos a la ruta donde se ha generado el reporte y lo abrimos con cualquier navegador.


Y aquí está. Bien bonito y bien completo. Nombre del perfil, alias, el ID de Twitter, la fecha de la creación de la cuenta, número de seguidores y seguidos, la localización, la zona horaria, (que no la tiene establecida), número de tweets y la geolocalización, (que la tiene deshabilitada).

Podemos ver los clientes que ha usado para compartir los tweets, con la fecha de primer uso, la de último uso, el número de usos y el porcentaje.


Y aquí todo lo que puede recopilar esta maravillosa herramienta. Los clientes, (que los acabamos de mencionar), los hashtags, las menciones a usuarios, los tweets, los metadatos, los ficheros de imagen y video y la geolocalización.


Como tan solo quería mostraros cómo instalar, configurar y trabajar con esta herramienta, voy a ver simplemente su primer tweet.


Hecho el día 30 de julio de 2015, a las 12.41.01 horas, con 1472 RTs y 718 Fav y con el hasgtag #27S2015. Presionamos sobre ‘view’ y…


Aquí está. Su primer tweet: “Venir a ganar la independencia, venir a desobedecer al Estado y venir a construir un país @cupnacional #27S2015”

¡¡Dónde estaría yo si hiciera este comentario!!

Como dije al principio, no voy a comentar nada. Si lo deseáis, podéis bucear un poco en algunas fechas destacadas de este TL, a través de algunas hemerotecas.


No quiero despedirme, para variar, sin recomendar antes que sigáis a Vicente y que leáis algunos análisis que ha hecho. Son muy interesantes. A modo de ejemplo, este: Analizando el 13/11 con Tinfoleak

Ahora sí…

Esto es todo, por ahora. Nos leemos en la siguiente entrada. Se despide este minion, entregado y leal, de vosotros… por ahora.


Marcos @_N4rr34n6_

Google Analytics