Herramienta OSINT para Visualizar las Relaciones entre Dominios, IP y Emails
Herramienta OSINT para Visualizar las Relaciones entre Dominios, IP y Emails

Herramienta OSINT para Visualizar las Relaciones entre Dominios, IP y Emails

Danger zone es una herramienta OSINT que correlaciona datos entre dominios, IPs y direcciones de correo electrónico, los presenta como un gráfico y lo almacena todo en archivos Elasticsearch y JSON.

Casos

  • Basado en el correo electrónico dado, comprueba los dominios asociados y luego comprueba estos dominios para otros correos electrónicos e IPs.
  • Para los dominios comprueba la IP y los correos electrónicos y a continuación busca los dominios asociados.
  • Extrae el dominio de la IP, comprueba el dominio para otras IPs y el correo electrónico.

módulos

Elasticsearch y Kibana

Antes de comenzar la instalación, un par de palabras sobre las dependencias de Elasticsearch y Kibana. Ambas dependencias son opcionales y puedes omitir su instalación, sobre todo porque Kali Linux añade una fuente de aplicaciones de terceros para su instalación (lo cual no es recomendable).

Para decidir si los necesita o no, he aquí una breve descripción (tomada del sitio web oficial – yo también me enteré de estos programas sólo al preparar este artículo):

Ambos programas pueden ser instalados sin necesidad de añadir un nuevo repositorio – sólo tienes que descargar los archivos .DEB de estas páginas:

  • https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html
  • https://www.elastic.co/guide/en/kibana/current/deb.html

Instalar Danger-zone

Descarga el propio programa e instala las dependencias: (es necesario Python 2)

git clone https://github.com/woj-ciech/Danger-zone.git
cd Danger-zone/
pip install -r requirements.txt
sudo pip2 install unidecode selenium fake_useragent
sudo pip2 install Google-search-api
Instalación de Danger-zone en Parrot OS
Instalar Danger-zone en Parrot OS

Instalar tk:

sudo apt install tk

Abre el archivo settings.json e introduce la API de virustotal.com y whoxy.com:

nano settings.json
Editar archivo settings.json
Editar archivo settings.json

Instala Elasticsearch y Kibana (opcional):

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-amd64.deb
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-amd64.deb.sha512
shasum -a 512 -c elasticsearch-7.16.2-amd64.deb.sha512 
sudo dpkg -i elasticsearch-7.16.2-amd64.deb
Instalación de Elasticsearch en Parrot OS
Instalar Elasticsearch en Parrot OS
sudo apt update && sudo apt install kibana

Inicia y comprueba los servicios:

sudo systemctl start elasticsearch.service
sudo systemctl status elasticsearch.service
Activación y estado del servicio elasticsearch
Activación y estado del servicio elasticsearch
sudo systemctl start kibana.service
sudo systemctl status kibana.service

Uso de Danger-zone

El modificador de ayuda (-h) muestra todas las opciones disponibles:

python danger-zone.py -h
usage: dangerzone.py [-h] [--email EMAIL] [--address ADDRESS] [--domain DOMAIN]
               [--elasticsearch]

Correlate data between domains, ips and email addresses and present it as a
graph.

optional arguments:
  -h, --help         show this help message and exit
  --email EMAIL      Email address
  --address ADDRESS  IP address
  --domain DOMAIN    Domain name
  --elasticsearch    Elasticsearch output
Ayuda para el uso de Danger-zone
Ayuda para el uso de Danger-zone

Entonces, el programa debe ejecutarse con una de las opciones --email, --address o --domain. Si has instalado Elasticsearch, cada una de estas opciones puede combinarse con --elasticsearch, en cuyo caso la información recogida se escribirá en la base de datos de Elasticsearch.

Un ejemplo de ejecución para recopilar información sobre un dominio:

python2 danger-zone.py --domain esgeeks.com --elastic

Ejemplos de resultados:

Recopilar información sobre un dominio
Recopilar información sobre un dominio
Gráfico de asociación de dominio
Gráfico de asociación de dominio

Un ejemplo de ejecución para recoger información sobre una dirección de correo electrónico:

python2 danger-zone.py --email hola@esgeeks.com --elastic

Esto no funcionó para mi.

Un ejemplo de ejecución para recoger información sobre la dirección IP:

python2 danger-zone.py --address 216.246.112.54 --elastic

Ejemplos de resultados:

Recopilar información sobre la dirección IP
Recopilar información sobre la dirección IP

Análisis de Datos en Elasticsearch y Kibana

Los datos de Elasticsearch están disponibles en http://127.0.0.1:9200 y se puede hacer una consulta así: http://127.0.0.1:9200/virustotal/_search. El resultado se emitirá en formato JSON, lo cual es útil para el procesamiento por software, pero no para la percepción humana.

Por esta razón hemos instalado Kibana, que está disponible en http://localhost:5601.

Cuando la abras, selecciona “Explore on my own“:

Uso de Elasticsearch y Kibana
Uso de Elasticsearch y Kibana

Crea un índice con el nombre de cada módulo que contiene información específica.

Limitaciones

El autor intentó encontrar todos los servicios gratuitos que pude, pero nada bueno es gratis. Por suerte, sólo necesitas crear dos cuentas para usar esta herramienta. La primera es VirusTotal, que es totalmente gratuita pero te permite hacer sólo 4 peticiones por minuto.

El servicio Whoxy te proporciona créditos gratuitos al principio y es suficiente para probarlo y reunir toda la información útil.

Va sólo 2-3 niveles hacia abajo comprobando sólo 3 hallazgos más recientes, la razón detrás de eso es que el gráfico sería ilegible con muchas conexiones, pero la información completa se guarda en archivos JSON y/o ElasticSearch.

Dark Mode

Danger-zone (este enlace se abre en una nueva ventana) por woj-ciech (este enlace se abre en una nueva ventana)

Correlate data between domains, IPs and email addresses, present it as a graph and store everything into Elasticsearch and JSON files.

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda