LeakedMails - Automatizando la búsqueda en HaveIBeenPwned - BoomerNiX

viernes, 19 de marzo de 2021

LeakedMails - Automatizando la búsqueda en HaveIBeenPwned

Cuando nos enfrentamos a un test de intrusión externo, lo primero que hacemos es buscar información útil sobre nuestro objetivo, los emails forman parte de esos datos, y muy interesante saber si esas cuentas se han visto comprometidas en algún momento, y si es cercano, mejor para nuestro interés.

Existen servicios en Internet que nos ayudan a encontrar esa información, algunos de pago, como DeHashed, otros gratuitos con acceso desde Tor, como pwndb2am4tzkvold.onion (cuando se encuentra accesible), donde podemos ver las cuentas y sus contraseñas (en claro o su hash), y luego el servicio del que vamos a hablar HaveIBeenPwned, que nos indicará si un email ha sido comprometido y en que brechas.

Para usar HaveIBeenPwned, podemos hacerlo a través de su web https://haveibeenpwned.com/, o pagando el acceso a su API y automatizando el proceso... En este caso, vamos a una opción "mixta", hacemos uso de la Web y lo automatizamos haciendo uso de Python y Selenium. Y aquí es donde entra LeakedMails, un breve script para este proceso.

LeakedMails
Figura 1 - Banner de LeakedMails


Los requisitos y la instalación de dependencias se pueden ver en el GitHub del script. El uso es muy sencillo, podemos ejecutarlo como sigue:

python3 leakedMails.py -f emails_list.txt -r -v

Los argumentos son los siguientes:

  • f: listado de emails a consultar (uno por línea).
  • r: si está presente, generará un .csv con los emails comprometidos (dentro de la carpeta results).
  • v: modo "verbose" que muestra también los emails no comprometidos por pantalla.

Un ejemplo de fichero se puede ver a continuación:

Ejemplo de fichero con emails
Figura 2 - Ejemplo de fichero con emails

Al ejecutar el script, veremos como va trabajando con Firefox:

HaveIBeenPwned
Figura 3 - Proceso de Búsqueda con Selenium

Y el resultado lo podemos ver por pantalla (el nombre de la carpeta estaba mal en su día como reuslts :D):

LeakedMails
Figura 4 - Resultado del LeakedMails


En este caso, todos los emails (fake) se han visto comprometidos, se puede ver la fecha y la brecha de datos, para que luego podamos buscar la contraseña. Se ha dejado un ejemplo con fakemail@gmail.com, ya que es algo atípico y tiene más de 100 brechas, en este caso solo se índica que se ha visto comprometido e iríamos a consultarlo de forma manual. 

Y el reporte .csv que nos genera es el siguiente:

Reporte de LeakedMails
Figura 5 - Fichero generado por LeakedMails

Las automatizaciones nos ayudan en el trabajo y nos hacen ser más eficientes. Este caso es útil para buscar información de cara a nuestro intento de intrusión, y para informar al cliente por si es necesario hacer un cambio de contraseña a determinados usuarios.



Nota: LeakedMails busca demostrar que hay soluciones para todo, y que la automatización es necesaria y buena. Los servicios hay que mantenerlos, por lo que si haces uso de HaveIBeenPwned a menudo, es recomendable el pago de la API que nos ofrecen.

No hay comentarios:

Publicar un comentario