
Ein OSINT-Tool, das dabei hilft, Mitglieder eines Unternehmens mit durchgesickerten Zugangsdaten zu erkennen.
EmploLeaks ist ein OSINT-Tool (Open Source Intelligence) mit einer CLI-Oberfläche, das entwickelt wurde, um Informationen über Mitarbeiter eines Zielunternehmens zu ermitteln und zu korrelieren. Es ermöglicht, LinkedIn-Profile zu sammeln, potenzielle Unternehmens-E-Mails zu generieren, durchgesickerte Anmeldedaten in Leak-Datenbanken (intern ClickHouse) zu suchen, bekannte Sicherheitsverletzungen über HaveIBeenPwned zu überprüfen, die Infrastruktur des Unternehmens zu entdecken und Mitarbeiter in sozialen Netzwerken zu profilieren. Alle Informationen werden lokal in SQLite für die spätere Analyse gespeichert.
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
## Voraussetzungen
- Python 3.10+
- pip
- Internetverbindung
- **Optional:** Docker und Docker Compose (um ClickHouse lokal zu starten)
- **Optional:** [gitleaks](https://github.com/gitleaks/gitleaks) (zum Scannen von Geheimnissen in Repos)
- **Optional:** API-Schlüssel von [HaveIBeenPwned](https://haveibeenpwned.com/API/Key)
- LinkedIn-Sitzungscookies (`JSESSIONID` und `li_at`) für das LinkedIn-Plugin
## Installation
1. Repository klonen:```bash
git clone https://github.com/yourusername/emploleaks.git
cd emploleaks
3. (Optional) ClickHouse mit Docker für die Leaks-Datenbank starten:```bash
cd clickhouse-docker
docker compose up -d
cd ..
Das Tool ausführen:```bash python emploleaks.py
Mit Debug-Modus:```bash
python emploleaks.py -d
| Befehl | Beschreibung |
|---|---|
help | Zeigt die allgemeine Hilfe an |
help <Befehl> | Zeigt die Hilfe für einen bestimmten Befehl an |
quit | Beendet die Anwendung |
| Befehl | Beschreibung |
|---|---|
add_company --name <Name> | Fügt ein neues Unternehmen hinzu |
select_company --name <Name> | Wählt ein Unternehmen zur Bearbeitung aus |
list_companies | Listet alle Unternehmen auf |
delete_company --name <Name> | Löscht ein Unternehmen und alle zugehörigen Daten |
| Befehl | Beschreibung |
|---|---|
use --plugin <Name> | Aktiviert ein Plugin (linkedin, github, hibp) |
deactivate | Deaktiviert das aktuelle Plugin |
show options | Zeigt die Optionen des aktiven Plugins an |
setopt <Option> [Wert] | Konfiguriert eine Plugin-Option (wird ohne Wert über eine verdeckte Eingabeaufforderung abgefragt) |
autosave --enable / --disable | Aktiviert/deaktiviert das automatische Speichern der Konfiguration in config/tokens.ini |
autoload --enable / --disable | Aktiviert/deaktiviert das automatische Laden der Konfiguration aus config/tokens.ini |
| Befehl | Beschreibung |
|---|---|
connect_leaks | Stellt eine Verbindung zu ClickHouse her, wobei die in tokens.ini gespeicherte Konfiguration verwendet wird |
connect_leaks --host <Host> --port <Port> --save | Stellt eine Verbindung mit spezifischen Parametern her und speichert diese für zukünftige Sitzungen |
disconnect_leaks | Trennt die Verbindung zur ClickHouse-Datenbank |
import_leaks [Verzeichnis] | Importiert Anmeldedatendateien nach ClickHouse (Standard: leaks_data/) |
import_leaks --no-ai | Importiert nur Dateien mit bekannten Formaten, ohne KI zu verwenden |
create_db --user <Benutzer> --passwd <Passwort> --dbname <DB-Name> [--import-data <Verzeichnis>] | Erstellt die ClickHouse-Datenbank manuell (Legacy) |
Die Verbindung zu ClickHouse wird in config/tokens.ini konfiguriert:```ini
[clickhouse]
host = localhost
port = 9000
user = default
passwd =
dbname = credentials_db
Wenn ClickHouse in `tokens.ini` konfiguriert ist, wird die Verbindung beim Start automatisch hergestellt.
### Suche nach Anmeldedaten und Sicherheitslücken
| Befehl | Beschreibung |
|---------|-------------|
| `find_passwords <Modus>` | Sucht nach Anmeldedaten in ClickHouse + [ProxyNova COMB](https://www.proxynova.com/tools/comb/) (3,2 Mrd. Credentials). Modi: `find_all`, `only_usernames`, `only_emails` |
| `find_passwords <Modus> --no-proxynova` | Sucht nur in lokalem ClickHouse |
| `find_passwords <Modus> --no-clickhouse` | Sucht nur in ProxyNova COMB (benötigt kein ClickHouse) |
| `find_passwords <Modus> --email <email>` | Sucht nach Anmeldedaten für eine bestimmte E-Mail |
| `find_breaches` | Sucht nach Sicherheitsverletzungen in HIBP für alle E-Mails des Unternehmens (erfordert aktives Plugin `hibp`) |