Docly Child

2.4.2. OSINT herramientas modulares

Tabla de contenidos:

OSINT herramientas por módulos

Las herramientas modulares para OSINT están diseñadas para hacer uso de módulos de forma separada que se corresponden con la búsqueda de diferentes objetivos, como su nombre indica. Estos módulos se invocan de forma separada y como ocurre con Metasploit requieren la configuración de parámetros como pueden ser nombres de personas o empresa, correos electrónicos, dominios, etc. En la mayoría de casos, complementan sus funcionalidades con módulos que también son útiles para el escaneo de puertos, servicios y redes (Information Gathering and Scanning).

Estas herramientas modulares emplean paquetes de software de sobras conocidos de acuerdo al lenguaje de programación en el que han sido escritos, normalmente correspondiente a APIs que conectan con otros servicios de OSINT en la red o para el empleo de determinadas plataformas de redes sociales. No obstante, al tener varias dependencias, implican un esfuerzo en su programación (se pueden encontrar varios ejemplos del código fuente en GitHub) que en ocasiones se repercute en la dificultad para su instalación y configuración, teniendo que valorar si realmente vale la pena emplear estas herramientas. Además, al depender su instalación de varias dependencias de software, pueden quedar rápidamente obsoletas o inservibles con las versiones de los diferentes softwares que emplean.

2.4.2.1. OPERATIVE FRAMEWORK

Sistema operativo: Kali Linux

Introducción: Operative Framework es una herramienta modular para OSINT diseñada por el experto en seguridad informática Graniet. Se puede encontrar en GitHub versiones en diferentes lenguajes de programación (Python y Go principalmente) según su versión y formatos, teniendo hasta una versión gráfica. Como se ha comentado, debido a los problemas de actualización de versiones de componentes de estas aplicaciones modulares, se mostrará la versión inicial escrita en Python2 (*). No obstante, se pueden encontrar diferentes versiones (a la fecha de escribir esto, la versión de Python2 resulto la más funcional, a pesar de ser la más antigua):

(*) Imprescindible disponer de Python2 y la versión para gestión de paquetes Pip2.

Instalación: Desde la consola de comandos (recordar que los paquetes de Github se descargaran en el directorio en el que se esté ubicado a no ser que se indique una ruta para la descarga):

				
					sudo git clone https://github.com/H4CK3RT3CH/Operative-Framework.git
cd Operative-Framework.git
sudo pip2 install –r requirements.txt

				
			

Funcionamiento:

1. Desde el directorio descargado en GitHub de la herramienta (carpeta Operative-Framework) se inicia el programa a través de consola de comandos con Python2. Se abrirá la cabecera del programa, pudiendo listar los opciones con el comando help:

				
					sudo python2 ./operative.py
				
			
Operative Framework cabecera y comando de ayuda

2. La aplicación funciona a través de comandos, siendo el funcionamiento principal según este orden:

Orden

Comando

Descripción

1

modules

Listar los módulos disponibles.

2

use <nombre_modulo>

Usar un módulo. Aparecerá en pantalla el módulo empleado. 

3

show options

Ver las opciones de parámetros y si los hay introducidos sus valores.

4

set <parametro>=<valor_parametro>

Añadir valor a un parámetro.

5

run

Emplear el módulo una vez parametrizado.

6

Teclado: CONTROL + C

Volver al modo inicial.

3. Un ejemplo de uso con el módulo de Linkedin. No obstante, tal y como se ve en la lista de módulos, la aplicación está enfocada principalmente a recolectar información sobre los servicios web (dominios y subdominios, consultas whois, información de página web, etc.).

Operaciones Operative Framework

2.4.2.2. OSRFRAMEWORK

Sistema operativo: Kali Linux

Introducción: Otra herramienta de tipo modular para realizar OSINT. A diferencia de las herramientas que se pueden encontrar en GitHub, Osrframework tiene los paquetes de software para su instalación disponibles en los repositorios oficiales de Debian,  lo que asegura no tener problemas de incompatibilidades si el sistema operativo está debidamente actualizado (además está escrita en Python3). Conviene indicar que en realidad más que una herramienta modular, bajo el manto de Osrframework en realidad están varias aplicaciones que se invocan de forma totalmente diferenciada con sus diferentes opciones.  

Instalación: Desde la consola de comandos: 

				
					sudo apt-get install osrframework
				
			

Funcionamiento:

1. Para listar las aplicaciones que componen Osrframework y el resto de comandos para usar la aplicación se introduce en la consola de comandos el comando indicado a continuación. Como puede observarse, se indican como subcomandos las diferentes herramientas que componen la aplicación principal (checkfy, domainfy…).

				
					osrframework-cli
				
			
Osrframework módulos disponibles

2. Para usar una de estas herramientas en particular, se puede introducir su nombre en la consola de comandos tal y como viene indicado en la ayuda para ver las opciones de parámetros y configuración. Por ejemplo, al introducir la de alias-generator esta irá proponiendo la introducción de datos para generar posibles nombres de perfil para plataformas. En otras, se mostrará las opciones de parametrización.

Osrframework alias-generator
Parametrización Osrframework mailfy

3. Como existen varias herramientas, cada una con sus parámetros, llegar a dominar bien la aplicación requiere su tiempo. Por eso a continuación se ofrece una tabla con algunos comandos para realizar pruebas rápidas y una descripción. Además, en algunas aplicaciones se generará un archivo en formato de hoja de cálculo para guardar la información obtenida:

Comando

Descripción

aliasgenerator

No requiere argumentos. Crea un listado con combinaciones de alias y nombres de usuario de cuentas.

mailfy -m <correo_electronico>

Indica a que plataforma está asociada una cuenta de correo electrónico.

mailfy -n <alias_nombre>

Genera un listado con el alias con diferentes terminaciones de servicios de correo electrónico y comprueba si existen.

searchfy -q <alias_nombre>

Comprueba si el texto de alias o nombre está contenido en el perfil de diferentes plataformas (Facebook, Twitter, GitHub…)

usufy -n <nombre>

Comprueba si el nombre introducido se halla en alguna URL y a que plataforma está asociado.

Nota: El <alias_nombre>, si se sabe el nombre completo se debe poner entre comillas. Por ejemplo:

Osrframework searchfy

2.4.2.3. DATASPLOIT

Sistema operativo: Kali Linux

Introducción: Datasploit es una herramienta escrita íntegramente en Python2 que puede hallarse en los repositorios de GitHub. La última versión es de 2018, por lo que es de esperar que algunos componentes no acaben de funcionar bien por la evolución de Python. A pesar de ello, es una herramienta que bien configurada e instalada permite obtener datos de forma eficaz con pocas instrucciones de comando. Su funcionamiento está basado en software de los repositorios oficiales de Python, ya sean API’s que emplean plataformas externas u otros paquetes comunes. Se ha hecho un esfuerzo especial para instalarla y así recuperar un software de Python2 ya en desuso, pero que bien aprovechado todavía puede resultar útil.

Instalación: Deben seguirse las siguientes instrucciones para hacer posible que los componentes del programa se adapten a las distribuciones más recientes, que cada vez tratan más de hacer obsoleto Python2:

1. Instalar los siguientes paquetes, tal y como se indica (se recurre a versiones anteriores por ejemplo para httplib2):

				
					sudo pip2 install pathlib importlib importlib-metadata
sudo pip2 install --index-url https://test.pypi.org/simple/ 'httplib2==0.17.5'
sudo pip2 install cfscrape

				
			

2. Descarga del repositorio de GitHub y habilitar permisos (se va a descargar en el directorio /opt):

				
					cd /opt
sudo git clone https://github.com/DataSploit/datasploit.git
sudo chmod -R 777 datasploit
cd datasploit

				
			

3. Antes de instalar los paquetes contenidos en txt dentro del repositorio descargado, se va a eliminar los que son problemáticos en su instalación para instalarlos de forma manual posteriormente. Con un editor de texto, se deben borrar del listado google-api-python-client, praw, python-wappalyzer y travispy:

Borrar requerimientos datasploit Python2

4. Ahora sí, se procede a instalar los paquetes contenidos en el fichero txt y el resto de componentes que se han borrado, excepto praw. Es recomendable listar los paquetes instalados con pip2 al acabar el proceso para ver que se han instalado correctamente:

				
					sudo pip2 install --upgrade --force-reinstall -r requirements.txt
sudo pip2 install google-api-python-client
sudo pip2 install travispy
sudo pip2 install python-wappalyzer==0.2.2
sudo pip2 list

				
			

5. Se procede a descomentar dos líneas de código del fichero que contiene el código referente al componente praw. El software praw es una API para la plataforma Reddit. A la hora de escribir estas líneas, ha sido imposible instalar este componente, así que se ha optado por prescindir de él. Hay que editar el fichero /opt/datasploit/users/username_redditdetails.py, descomentando las líneas indicadas en la pantalla:

Edición fichero de código username_redditdetails.py

6. Para terminar la configuración e instalación, deben añadirse las claves de las API de las diferentes plataformas en el fichero py. Para obtener estas claves, en la mayoría de casos es suficiente con crear una cuenta en las plataformas indicadas. Posteriormente debe cambiarse el nombre del fichero mencionado a config.py. El creador de la herramienta indica como imprescindibles las API de Shodan, Censysio, Emailhunter, Fullcontact, Google Custom Search Engine, SpyonWeb y Zoomeye. Se puede obtener una guía de obtención de API para Datasploit en la siguiente URL:

https://datasploit.readthedocs.io/en/latest/apiGeneration/

Datasploit API

Funcionamiento: Tras este largo listado de ajustes y configuraciones, se pasa a comprobar funcionamiento de la aplicación. Seguir los siguientes pasos:

1. En el repositorio principal se encuentran los 4 componentes o ficheros escritos en Python para realizar las operaciones: py, domainOsint.py, ipOsint.py y emailOsint.py. Para usar uno de ellos, se ejecuta como un binario de Python, añadiendo un parámetro que se corresponderá con un nombre de cuenta, un dominio, una IP y una cuenta de correo electrónico para cada caso:

				
					./<fichero.py> <parámetro>
				
			
Módulos de datasploit

2. Vemos la información para cada caso. En esta muestra, no se configuraron las API, pero como indica el resultado se hace uso de ellos, indicándolo cada ejecución en rojo:

  • py <nombre_cuenta>: Obtiene resultados de cuentas de diferentes plataformas.
usernameOsint.py
  • py <dominio>: Obtiene resultados sobre estructura de una página web.
domainOsint.py
  • py <IP>: Obtiene una consulta inversa DNS sobre una IP.
ipOsint.py
  • py <cuenta_correo_electronico>: Obtiene resultados sobre la existencia o no de una cuenta de correo electrónico.
emailOsint.py