
Инструмент OSINT, который помогает обнаружить сотрудников компании с утекшими учетными данными
EmploLeaks — это инструмент OSINT (Open Source Intelligence) с CLI-интерфейсом , предназначенный для обнаружения и корреляции информации о сотрудниках целевой компании. Он позволяет собирать профили LinkedIn, генерировать потенциальные корпоративные электронные письма, искать скомпрометированные учётные данные в базах данных утечек (внутренне ClickHouse), проверять известные утечки через HaveIBeenPwned, обнаруживать инфраструктуру компании и профилировать сотрудников в социальных сетях. Вся информация сохраняется локально в SQLite для последующего анализа.
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
## Требования
- Python 3.10+
- pip
- Доступ в Интернет
- **Необязательно:** Docker и Docker Compose (для локального запуска ClickHouse)
- **Необязательно:** [gitleaks](https://github.com/gitleaks/gitleaks) (для сканирования секретов в репозиториях)
- **Необязательно:** API-ключ [HaveIBeenPwned](https://haveibeenpwned.com/API/Key)
- Куки сессии LinkedIn (`JSESSIONID` и `li_at`) для плагина LinkedIn
## Установка
1. Клонировать репозиторий:```bash
git clone https://github.com/yourusername/emploleaks.git
cd emploleaks
3. (Необязательно) Запустить ClickHouse с Docker для базы данных утечек:```bash
cd clickhouse-docker
docker compose up -d
cd ..
Запустите инструмент:```bash python emploleaks.py
С режимом debug:```bash
python emploleaks.py -d
| Команда | Описание |
|---|---|
help | Показывает общую справку |
help <команда> | Показывает справку по конкретной команде |
quit | Выход из приложения |
| Команда | Описание |
|---|---|
add_company --name <имя> | Добавляет новую компанию |
select_company --name <имя> | Выбирает компанию для работы |
list_companies | Показывает все компании |
delete_company --name <имя> | Удаляет компанию и все её данные |
| Команда | Описание |
|---|---|
use --plugin <имя> | Активирует плагин (linkedin, github, hibp) |
deactivate | Деактивирует текущий плагин |
show options | Показывает параметры активного плагина |
setopt <параметр> [значение] | Устанавливает параметр плагина (если значение не передано, запрашивается скрытым вводом) |
autosave --enable / --disable | Включает/отключает автоматическое сохранение конфигурации в config/tokens.ini |
autoload --enable / --disable | Включает/отключает автоматическую загрузку конфигурации из config/tokens.ini |
| Команда | Описание |
|---|---|
connect_leaks | Подключиться к ClickHouse, используя настройки, сохранённые в tokens.ini |
connect_leaks --host <хост> --port <порт> --save | Подключиться с указанными параметрами и сохранить их для будущих сессий |
disconnect_leaks | Отключиться от базы данных ClickHouse |
import_leaks [каталог] | Импортировать файлы с учётными данными в ClickHouse (по умолчанию: leaks_data/) |
import_leaks --no-ai | Импортировать только файлы с известным форматом, без использования ИИ |
create_db --user <пользователь> --passwd <пароль> --dbname <имя_бд> [--import-data <каталог>] | Создать базу данных ClickHouse вручную (устаревший способ) |
Подключение к ClickHouse настраивается в config/tokens.ini:```ini
[clickhouse]
host = localhost
port = 9000
user = default
passwd =
dbname = credentials_db
Если ClickHouse настроен в `tokens.ini`, соединение устанавливается автоматически при запуске.
### Поиск учетных данных и утечек
| Команда | Описание |
|---------|----------|
| `find_passwords <modo>` | Ищет учетные данные в ClickHouse + [ProxyNova COMB](https://www.proxynova.com/tools/comb/) (3,2 млрд учетных данных). Режимы: `find_all`, `only_usernames`, `only_emails` |
| `find_passwords <modo> --no-proxynova` | Ищет только в локальном ClickHouse |
| `find_passwords <modo> --no-clickhouse` | Ищет только в ProxyNova COMB (не требует ClickHouse) |
| `find_passwords <modo> --email <email>` | Ищет учетные данные для конкретного email |
| `find_breaches` | Ищет утечки в HIBP для всех email компании (требуется активный плагин `hibp`) |
**ProxyNova COMB** — это публичная база данных с 3,2 миллиардами скомпрометированных учетных данных (Combination Of Many Breaches). Не требует API-ключа и автоматически запрашивается при каждом поиске. Используйте `--no-proxynova` для отключения.
### Обнаружение инфраструктуры