Como saber si tu correo electrónico esta comprometido (Herramienta OSINT – WhatBreach)

Amador Aparicio de la Fuente (@amadapa), coautor del libro «Hacking Web Technologies«.

CSE (Chied Security Envoy) en ElevenPaths, Unidad de Ciberseguridad de Telefónica.


Artículo publicado por el invitado y amigo Amador Aparicio, para detectar si tu cuenta de correo electrónico ha sido comprometida. Gracias Amador.

WhatBreach es una herramienta OSINT para buscar cuentas de correo electrónico utilizadas en servicios en Internet que han sido comprometidos y cuyas identidades digitales hayan quedado expuestas. Para ello utiliza la API del servicio Haveibeenpwned.com y de Pastebin. Si alguno de ellos  detecta una contraseña vinculada a la cuenta de correo electrónico, buscará también el enlace de consulta en el servicio Dehashed, un motor de búsqueda de identidades digitales vulneradas creado para analistas de seguridad, periodistas, compañías de seguridad y personas comunes para ayudar a proteger cuentas y brindar información sobre fugas de información de datos de carácter personal.

Instalación de WhatBreach

La instalación de la herramienta es sencilla, basta obtener una copia desde su repositorio de GitHub ejecutando el comando “git clone https://github.com/Ekultek/WhatBreach”.

Figura 1. Obtención de la copia de WhatBreach de un repositorio de GitHub.

Posteriormente instalamos las dependencias de los paquetes necesarios para el funcionamiento de la herramienta ejecutando del comando “pip install -r requirements.txt”. Únicamente necesita los paquetes arrow (versión 0.13.1), requests (versión 2.21.0) y bs4 (versión 0.0.1).

Figura 2. Instalación de las dependencias necesarias para WhatBreach.

Funcionamiento de WhatBreach

Para consultar las opciones de la herramienta ésta dispone del parámetro “-h”:

Figura 3. Parámetros de funcionamiento de WhatBreach.

Los parámetros principales son los siguientes:

Parámetro oligatorio:

-e EMAIL, –email EMAIL

Dirección única de correo electrónico para su búsqueda.

Parámetros opcionales:

-l PATH, -f PATH, –list PATH, –file PATH

Ruta absoluta del fichero que contiene los correos electrónicos, uno por línea para escanear

Opciones de búsqueda:

-nD, –no-dehashed    Suprimir salida proporcionada por el servicio Dehashed.

-nP, –no-pastebin    Suprimir salida proporcionada por el servicio Pastebin.

Miscelanea:

-cT, –check-ten-minute

Está durante 10 minutos intentando comprobar si la dirección de correo electrónico proporcionada está disponible.

-d, –download        Intenta descargar la base de datos si hay una disponible

Búsqueda simple de correo electrónico

Para comprobar si la clave de acceso de un correo electrónico ha sido expuesta en Internet, basta ejecutar “python whatbreach.py -e administrador@gmail.com”. Se observa como lo primero que hace WhatBreach hacer una consulta en el servicio “haveibeenpwned” para ver si la cuenta de correo electrónico se ha utilizado en otros servicios que hayan sido comprometidos previamente.

Figura 4. Petición DNS de resolución directa para la obtención de la dirección IPv4 e IPv6 para el servicio haveibeenpwned.

También se observa cómo la herramienta hace uso del servicio “dehashed”, un motor de búsqueda de basea de datos que almacenan identidades digitales expuestas en Internet y creado para analistas de seguridad, periodistas, compañías de seguridad y personas comunes con el objetivo de proteger las identidades digitales comprometidas.

Figura 5. Petición DNS de resolución directa para la obtención de la dirección IPv4 e IPv6 para el servicio Dehashed.

Para la cuenta de correo electrónico “administrador@gmail.com” , la herramienta detecta que la cuenta de correo electrónico se ha utilizado en tres servicios cuyas identidades digitales han quedado expuestas y han sido detectadas en “haveibeenpwned” o “dehashed”:

Descarga de la base de datos con identidades digitales expuestas

En el caso de querer descargar las bases de datos en las que aparece una identidad digital presente en “haveibeenpwned”, “pastebin” o “dehashed”, basta añadir el parámetro “-d” o “–download” para descargar la base de datos donde se encuentra la información de la identidad digital comprometida y expuesta. Por ejemplo, para descargar aquellas bases de datos con la información de una cuenta de correo electrónico, el comando a ejecutar sería: “python whatbreach.py -e username@gmail.com -d”.

Analizando el tráfico de red generado, se observa que la herramienta hace uso de “databases.today”, un servicio que recopila una colección gratuita y pública de bases de datos de sitios web para su descarga destinada a periodistas e investigadores.

Figura 6. Uso del servicio databases.today para obtener las bases de datos con la información de la identidad digital

En caso de que la cuenta de correo electrónico esté presente en “databases.today”, se muestra un enlace de descarga de las bases de datos donde se encuentra esa cuenta de correo electrónico con su contraseña expuesta. En la siguiente figura se muestra el enlace de descarga de una base de datos de un tamaño considerable (179 GB) con identidades digitales que han quedado expuestas en Internet.

Figura 7. Base de datos con identidades digitales de Dropbox preparada para su descarga.

Búsqueda de varias identidades digitales de manera automatizada

La herramienta también permite introducir en un ficheo de texto varias cuentas de correo electrónico y así automatizar la búsqueda para detirnar cuáles han podido quedar comprometidas. Basta utilizar el parámetro “-l” o “–list” junto con la ruta del fichero de texto que contiene las cuentas de correo electrónico (una por línea).

En el siguiente ejemplo se muestra cómo utilizar la herramienta con un fichero de cuentas de correo ellectrónico. La herramienta mosstrará qué cuentas de correo electrónico han podido quedar vulneradas en Internet y cuáles no.

Figura 8. Búsqueda de cuentas de correo electrónico expuestas a través de un diccionario.

Lo que no hace esta herramienta es mostrar en qué servicios vulnerados en Internet se han utilizado (con una sola cuenta de correo electrónico sí que lo hace) y permitir la descarga de las bases de datos en caso de estar presente la cuenta de correo electrónico (con una sola cuenta de correo electrónico sí que lo hace).

Conclusiones

Si detectas que una cuenta de correo electrónico ha quedado expuesta porque se ha vulnerado algún servicio en Internet donde era necesaria esa identidad digital, es muy probable que la contraseña de acceso también,  lo que indica que alguien más que su dueño conoce ese password, aunque es imposible a priori determinar cuántas personas más a parte de su dueño la conocen y cuantas veces ha sido utilizada.

También es muy probable que las contraseñas expuestas estén presentes en más servicios utilizados por el mismo usuario, aumentando de manera considerable la superficie de exposición del usuario o incluso, la de una organización, si sus miembros utilizan cuentas de correo electrónico corporativas para darse de alta en servicios de Internet que hayan sufrido fugas de información, como se muestra en la siguiente imagen.

Figura 9. Cuentas de correo electrónico corporativas expuestas en Internet.

Por todos estos motivos puede ser conveniente el uso de segundos factores de autenticación y autorización, además de revisar de manera periódica el historial de accesos a una determinada cuenta de correo electrónico, aunque el servicio avise en caso de detectar posibles anomalías de acceso.

Figura 10. Actividad reciente de acceso a una cuenta de correo electrónico.

No todos los servicios que detectan anomalías en los accesos de sus usuarios restringen por defecto el acceso.

Siguenos en Twitter: @fernandez_jcar @tecnogados #PruebaTecnologica



Profesional con perfil jurídico e investigador tecnológico. #PruebaTecnologica #CadenaDeCustodia @fernandez_jcar @tecnogados

Related Posts

Deja un comentario