
Una herramienta OSINT que ayuda a detectar miembros de una empresa con credenciales filtradas
EmploLeaks es una herramienta de OSINT (Open Source Intelligence) con una interfaz CLI , diseñada para descubrir y correlacionar información sobre empleados de una empresa objetivo. Permite recopilar perfiles de LinkedIn, generar emails corporativos potenciales, buscar credenciales filtradas en bases de datos de leaks (ClickHouse internamente), verificar brechas conocidas a través de HaveIBeenPwned, descubrir infraestructura de la empresa y perfilar empleados en redes sociales. Toda la información se almacena localmente en SQLite para su análisis posterior.
emploleaks/
├── emploleaks.py # Script principal (CLI interactiva con cmd2)
├── telegram_sync.py # Daemon userbot de Telegram (Telethon, standalone)
├── requirements.txt # Dependencias de Python
├── README.md
├── .gitignore
├── plugins/
│ ├── linkedin.py # Plugin de LinkedIn (scraping de empleados)
│ ├── github.py # Plugin de GitHub (repos, stalk, secrets)
│ └── hibp.py # Plugin de HaveIBeenPwned (brechas)
├── utils/
│ ├── logging_format.py # Configuración de logging con colores
│ ├── ai_classifier.py # Clasificación de roles con IA (OpenAI/Ollama)
│ ├── leak_parser.py # Parser de leaks 100% agéntico (loop de IA, sin regex)
│ ├── email_lookup.py # Búsqueda de emails en redes sociales (Holehe)
│ ├── profile_lookup.py # Búsqueda de usernames en redes sociales (Maigret)
│ └── discovery.py # Enumeración de subdominios (assetfinder + SecurityTrails opcional)
├── clickhouse-docker/ # Docker Compose para levantar ClickHouse
│ ├── docker-compose.yml
│ └── config/
│ └── users.xml
├── leaks_data/ # Carpeta para archivos de leaks a importar (no en git)
├── config/ # Configuración (autogenerado)
│ └── tokens.ini # Tokens y credenciales de plugins (no en git)
├── data/ # Base de datos local (autogenerado)
│ └── emploleaks.db # SQLite con toda la información recopilada
├── webapp/ # Webapp administrativa
│ ├── backend/ # FastAPI (Python)
│ └── frontend/ # Next.js (React/TypeScript)
└── logs/ # Archivos de log (autogenerado)
└── log.txt
JSESSIONID y li_at) para el plugin de LinkedIngit clone https://github.com/yourusername/emploleaks.git
cd emploleaks
pip install -r requirements.txt
cd clickhouse-docker
docker compose up -d
cd ..
Ejecutar la herramienta:
python emploleaks.py
Con modo debug:
python emploleaks.py -d
| Comando | Descripción |
|---|---|
help | Muestra la ayuda general |
help <comando> | Muestra la ayuda de un comando específico |
quit | Sale de la aplicación |
| Comando | Descripción |
|---|---|
add_company --name <nombre> | Agrega una nueva empresa |
select_company --name <nombre> | Selecciona una empresa para trabajar |
list_companies | Muestra todas las empresas |
delete_company --name <nombre> | Elimina una empresa y todos sus datos |
| Comando | Descripción |
|---|---|
use --plugin <nombre> | Activa un plugin (linkedin, github, hibp) |
deactivate | Desactiva el plugin actual |
show options | Muestra las opciones del plugin activo |
setopt <opción> [valor] | Configura una opción del plugin (si no se pasa valor, se pide por prompt oculto) |
autosave --enable / --disable | Activa/desactiva el guardado automático de configuración en config/tokens.ini |
autoload --enable / --disable | Activa/desactiva la carga automática de configuración desde config/tokens.ini |
| Comando | Descripción |
|---|---|
connect_leaks | Conectar a ClickHouse usando la configuración guardada en tokens.ini |
connect_leaks --host <host> --port <port> --save | Conectar con parámetros específicos y guardarlos para futuras sesiones |
disconnect_leaks | Desconectar de la base de datos ClickHouse |
import_leaks [directorio] | Importar archivos de credenciales a ClickHouse (default: leaks_data/) |
import_leaks --no-ai | Importar solo archivos con formato conocido, sin usar IA |
create_db --user <user> --passwd <pass> --dbname <db> [--import-data <dir>] | Crear la BD ClickHouse manualmente (legacy) |
La conexión a ClickHouse se configura en config/tokens.ini:
[clickhouse]
host = localhost
port = 9000
user = default
passwd =
dbname = credentials_db
Si ClickHouse está configurado en tokens.ini, la conexión se establece automáticamente al iniciar.
| Comando | Descripción |
|---|---|
find_passwords <modo> | Busca credenciales en ClickHouse + ProxyNova COMB (3.2B credentials). Modos: find_all, only_usernames, only_emails |
find_passwords <modo> --no-proxynova | Solo busca en ClickHouse local |
find_passwords <modo> --no-clickhouse | Solo busca en ProxyNova COMB (no requiere ClickHouse) |
find_passwords <modo> --email <email> | Busca credenciales para un email específico |
find_breaches | Busca brechas en HIBP para todos los emails de la empresa (requiere plugin hibp activo) |
ProxyNova COMB es una base de datos pública con 3.2 mil millones de credenciales filtradas (Combination Of Many Breaches). No requiere API key y se consulta automáticamente en cada búsqueda. Usar --no-proxynova para desactivarla.