
Uno strumento OSINT che aiuta a rilevare membri di un'azienda con credenziali compromesse
EmploLeaks è uno strumento di OSINT (Open Source Intelligence) con un'interfaccia CLI , progettato per scoprire e correlare informazioni sui dipendenti di un'azienda target. Permette di raccogliere profili LinkedIn, generare email aziendali potenziali, cercare credenziali filtrate in database di leak (ClickHouse internamente), verificare violazioni note tramite HaveIBeenPwned, scoprire l'infrastruttura dell'azienda e profilare i dipendenti sui social network. Tutte le informazioni vengono archiviate localmente in SQLite per analisi successive.
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
## Requisiti
- Python 3.10+
- pip
- Connessione a Internet
- **Opzionale:** Docker e Docker Compose (per avviare ClickHouse localmente)
- **Opzionale:** [gitleaks](https://github.com/gitleaks/gitleaks) (per scansione di segreti nei repository)
- **Opzionale:** Chiave API di [HaveIBeenPwned](https://haveibeenpwned.com/API/Key)
- Cookie di sessione di LinkedIn (`JSESSIONID` e `li_at`) per il plugin di LinkedIn
## Installazione
1. Clonare il repository:```bash
git clone https://github.com/yourusername/emploleaks.git
cd emploleaks
3. (Opzionale) Avviare ClickHouse con Docker per il database delle fughe di dati:```bash
cd clickhouse-docker
docker compose up -d
cd ..
Eseguire lo strumento:```bash python emploleaks.py
Con modalità debug:```bash
python emploleaks.py -d
| Comando | Descrizione |
|---|---|
help | Mostra l'aiuto generale |
help <comando> | Mostra l'aiuto di un comando specifico |
quit | Esce dall'applicazione |
| Comando | Descrizione |
|---|---|
add_company --name <nombre> | Aggiunge una nuova azienda |
select_company --name <nombre> | Seleziona un'azienda su cui lavorare |
list_companies | Mostra tutte le aziende |
delete_company --name <nombre> | Elimina un'azienda e tutti i suoi dati |
| Comando | Descrizione |
|---|---|
use --plugin <nombre> | Attiva un plugin (linkedin, github, hibp) |
deactivate | Disattiva il plugin corrente |
show options | Mostra le opzioni del plugin attivo |
setopt <opción> [valor] | Imposta un'opzione del plugin (se non viene passato un valore, viene richiesto tramite prompt nascosto) |
autosave --enable / --disable | Attiva/disattiva il salvataggio automatico della configurazione in config/tokens.ini |
autoload --enable / --disable | Attiva/disattiva il caricamento automatico della configurazione da config/tokens.ini |
| Comando | Descrizione |
|---|---|
connect_leaks | Connettersi a ClickHouse utilizzando la configurazione salvata in tokens.ini |
connect_leaks --host <host> --port <port> --save | Connettersi con parametri specifici e salvarli per sessioni future |
disconnect_leaks | Disconnettersi dal database ClickHouse |
import_leaks [directorio] | Importare file di credenziali in ClickHouse (default: leaks_data/) |
import_leaks --no-ai | Importare solo file con formato noto, senza usare IA |
create_db --user <user> --passwd <pass> --dbname <db> [--import-data <dir>] | Creare il database ClickHouse manualmente (legacy) |
La connessione a ClickHouse viene configurata in config/tokens.ini:```ini
[clickhouse]
host = localhost
port = 9000
user = default
passwd =
dbname = credentials_db
Se ClickHouse è configurato in `tokens.ini`, la connessione viene stabilita automaticamente all'avvio.
### Ricerca di Credenziali e Violazioni
| Comando | Descrizione |
|---------|-------------|
| `find_passwords <modo>` | Cerca credenziali in ClickHouse + [ProxyNova COMB](https://www.proxynova.com/tools/comb/) (3.2B credenziali). Modi: `find_all`, `only_usernames`, `only_emails` |
| `find_passwords <modo> --no-proxynova` | Cerca solo nel ClickHouse locale |
| `find_passwords <modo> --no-clickhouse` | Cerca solo in ProxyNova COMB (non richiede ClickHouse) |
| `find_passwords <modo> --email <email>` | Cerca credenziali per un'email specifica |
| `find_breaches` | Cerca violazioni in HIBP per tutte le email dell'azienda (richiede plugin `hibp` attivo) |
**ProxyNova COMB** è un database pubblico con 3.2 miliardi di credenziali violate (Combination Of Many Breaches). Non richiede API key e viene consultato automaticamente ad ogni ricerca. Usa `--no-proxynova` per disattivarlo.
### Discovery dell'Infrastruttura