EmploLeaks es una herramienta diseñada para fines de Inteligencia de Fuente Abierta (OSINT), que facilita la recopilación de información sobre los empleados de una empresa. Su objetivo es obtener datos relevantes para evaluar la seguridad de las credenciales de los empleados y detectar posibles filtraciones.
Funcionamiento
La herramienta comienza buscando en LinkedIn para obtener una lista de empleados de la empresa. Luego, busca en sus perfiles de redes sociales para encontrar direcciones de correo electrónico personales. Finalmente, utiliza esas direcciones de correo electrónico para buscar en una base de datos personalizada (COMB) y recuperar contraseñas filtradas. Puedes agregar tus propias credenciales y conectarte a través de la herramienta.
Instalación
Para utilizar esta herramienta, necesitarás tener Python 3.10 instalado en tu máquina. Clona este repositorio en tu máquina local e instala las dependencias necesarias usando pip en la carpeta cli:
cd cli
pip install -r requirements.txt
En sistemas operativos OSX, si encuentras problemas al instalar la herramienta debido al binario psycopg2, puedes resolverlo ejecutando:
cd cli
python3 -m pip install psycopg2-binary
Uso Básico
Para utilizar la herramienta, simplemente ejecuta el siguiente comando:
python3 cli/emploleaks.py
Si la instalación fue exitosa, podrás comenzar a usar EmploLeaks.
Obtención de Perfiles de LinkedIn
Primero, debes configurar el plugin que deseas utilizar, en este caso, LinkedIn. Luego, configura tus tokens de autenticación y ejecuta el proceso de suplantación:
emploleaks> use --plugin linkedin
emploleaks(linkedin)> setopt JSESSIONID JSESSIONID: [+] Valor actualizado con éxito
emploleaks(linkedin)> setopt li-at li-at: [+] Valor actualizado con éxito
emploleaks(linkedin)> run impersonate
[+] Usando cookies del navegador
Configuración por primera vez de JSESSIONID
Configuración por primera vez de li_at
Ahora que el módulo está configurado, puedes ejecutarlo y comenzar a recopilar información de la empresa.
Obtención de Cuentas de LinkedIn + Contraseñas Filtradas
Creamos un flujo de trabajo personalizado, donde con la información obtenida por LinkedIn, intentamos relacionar las direcciones de correo electrónico personales de los empleados con posibles contraseñas filtradas. En este caso, puedes conectarte a una base de datos (en nuestro caso, una base de datos COMB indexada personalizada) utilizando el comando connect, como se muestra a continuación:
emploleaks(linkedin)> connect --user myuser --passwd mypass123 --dbname mydbname --host 1.2.3.4
[+] Conectando a la base de datos de filtraciones...
[*] Versión: PostgreSQL 12.15
Una vez conectado, puedes ejecutar el flujo de trabajo. Con todos los usuarios recopilados, la herramienta intentará buscar en la base de datos si alguna credencial filtrada está afectando a alguien.
Como conclusión, la herramienta generará una salida en la consola con la siguiente información:
- Una lista de empleados de la empresa (obtenida de LinkedIn).
- Perfiles de redes sociales asociados con cada empleado (obtenidos a partir de la dirección de correo electrónico).
- Una lista de contraseñas filtradas asociadas con cada dirección de correo electrónico.
Construcción de la Base de Datos COMB Indexada
Un aspecto importante de este proyecto es el uso de la base de datos COMB indexada. Para construir tu versión, debes descargar el torrent primero. Ten cuidado, ya que los archivos y la versión indexada descargada requieren, como mínimo, 400 GB de espacio en disco disponible.
Una vez que el torrent se haya descargado por completo, obtendrás una carpeta de archivos. En este punto, puedes importar todos esos archivos con el comando create_db:
create_db
El proceso de importación lleva mucho tiempo, así que recomendamos ejecutarlo con paciencia.
Próximos Pasos
Estamos integrando otros sitios y aplicaciones públicas que pueden ofrecer información sobre credenciales filtradas. Es posible que no podamos ver la contraseña en texto plano, pero proporcionará una visión si el usuario tiene alguna credencial comprometida:
- Integración con Have I Been Pwned?
- Integración con Firefox Monitor
- Integración con Leak Check
- Integración con BreachAlarm
Además, nos centraremos en recopilar aún más información de fuentes públicas sobre cada empleado. ¿Tienes alguna idea en mente? No dudes en contactarnos:
- Javi Aguinaga: [email protected]
- Gabi Franco: [email protected]
O puedes enviarnos un DM a @pastacls o @gaaabifranco en Twitter.