Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
emploleaks — 一款OSINT工具,用于检测公司成员是否存在泄露凭证。 | Kitploit
工具/GitHubGitHub/infobyte/emploleaks
OSINT (开源情报)密码破解侦察数据泄露信息收集Web安全渗透测试社会工程学威胁情报子域名枚举电子邮件收集
GitHub
7886483个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
infobyte/emploleaks

emploleaks

一款OSINT工具,用于检测公司成员是否存在泄露凭证。

查看仓库网站

EmploLeaks

EmploLeaks 是一款 OSINT(开源情报)工具,配备 CLI 界面,旨在发现并关联目标企业员工的相关信息。它能够收集 LinkedIn 个人资料、生成潜在的企业电子邮件、在泄露数据库中(内部基于 ClickHouse)搜索已泄露的凭证、通过 HaveIBeenPwned 验证已知漏洞、发现企业基础设施并在社交媒体中描绘员工画像。所有信息均本地存储在 SQLite 中,以供后续分析。

特性

  • 从 LinkedIn 搜索和枚举员工(使用会话 Cookie 进行爬取)
  • 自动生成潜在的企业电子邮件,支持自定义格式
  • 在自有 ClickHouse 数据库中搜索已泄露的凭证
  • 使用 HaveIBeenPwned API 验证已知漏洞
  • 使用 gitleaks 扫描 GitHub/GitLab 仓库中的密钥
  • 基础设施发现: 使用 assetfinder + SecurityTrails 枚举子域名
  • 社交媒体画像: 通过电子邮件搜索(Holehe,约 120 个平台)和用户名搜索(Maigret,500+ 平台)
  • Telegram 爬虫 (userbot): 独立运行的后台守护进程,自动加入已授权的 Telegram 频道并下载凭证文件
  • 100% 智能化的泄露解析器: 无需硬编码正则表达式。AI 代理提出 schema,基于样本得分进行验证,接收包含错误示例的反馈,并反复尝试直至收敛。自动检测 UTF-16/UTF-8、ASCII art 横幅、国家代码前缀、偷窃日志(Redline/Lumma/Raccoon)、任意 email/user/url 格式
  • 将所有信息本地存储在 SQLite 中
  • 生成包含个人资料照片的交互式 HTML 报告
  • 使用 AI(OpenAI、Ollama 等)自动按部门分类员工
  • 导出结果至 CSV
  • 模块化插件系统(LinkedIn、GitHub、HIBP)
  • 插件配置的自动保存和加载
  • 使用 FastAPI + Next.js 构建的管理 Web 应用,用于结果分类

项目结构```

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

root@kitploit:~
## 要求

- Python 3.10+
- pip
- 互联网连接
- **可选:** Docker 和 Docker Compose(用于本地启动 ClickHouse)
- **可选:** [gitleaks](https://github.com/gitleaks/gitleaks)(用于仓库中的密钥扫描)
- **可选:** [HaveIBeenPwned](https://haveibeenpwned.com/API/Key) 的 API 密钥
- LinkedIn 插件所需的会话 Cookie(`JSESSIONID` 和 `li_at`)

## 安装

1. 克隆仓库:```bash
git clone https://github.com/yourusername/emploleaks.git
cd emploleaks
  1. 安装依赖:```bash pip install -r requirements.txt
root@kitploit:~
3. (可选) 使用 Docker 启动 ClickHouse 用于泄露数据库:```bash
cd clickhouse-docker
docker compose up -d
cd ..

用法

运行工具:```bash python emploleaks.py

root@kitploit:~
使用调试模式:```bash
python emploleaks.py -d

通用命令

命令描述
help显示通用帮助
help <命令>显示特定命令的帮助
quit退出应用程序

公司管理

命令描述
add_company --name <名称>添加一家新公司
select_company --name <名称>选择一家公司进行操作
list_companies

插件管理

连接泄露数据库 (ClickHouse)

ClickHouse 的连接配置在 config/tokens.ini 中设置:```ini [clickhouse] host = localhost port = 9000 user = default passwd = dbname = credentials_db

root@kitploit:~
如果 ClickHouse 在 `tokens.ini` 中进行了配置,连接将在启动时自动建立。

### 凭证与泄露搜索

| 命令 | 描述 |
|---------|-------------|
| `find_passwords <modo>` | 在 ClickHouse + [ProxyNova COMB](https://www.proxynova.com/tools/comb/)(32 亿凭证)中搜索凭证。模式:`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>` | 搜索特定邮箱的凭证 |
| `find_breaches` | 在 HIBP 中搜索公司所有邮箱的泄露事件(需启用 `hibp` 插件) |

**ProxyNova COMB** 是一个包含 32 亿条泄露凭证的公共数据库(多泄露综合库)。无需 API 密钥,每次搜索时自动查询。使用 `--no-proxynova` 可禁用它。

### 基础设施发现

| 命令 | 描述 |
|---------|-------------|
| `add_domain <dominio>` | 将域名关联到所选公司(例如:`add_domain faradaysec.com`) |
| `discover` | 针对公司所有域名执行子域名枚举,使用 `assetfinder`(可选 SecurityTrails),并解析 DNS |
| `print --data domains` | 显示已注册的域名及发现的子域名数量 |
| `print --data subdomains` | 显示所有子域名及其 IP、来源和发现日期 |

发现模块将被动枚举委托给 [`assetfinder`](https://github.com/tomnomnom/assetfinder),它内部聚合了 crt.sh、HackerTarget、BufferOver 及其他无需 API 密钥的来源的结果。需确保该二进制文件在 `$PATH` 中(安装方式:`go install github.com/tomnomnom/assetfinder@latest`)。

可选地,如果你配置了 SecurityTrails 的 API 密钥,其子域名将与 assetfinder 的结果合并。```ini
[discovery]
# securitytrails_key = your_key_here

社交媒体画像

Holehe(电子邮件查找):使用“忘记密码”技术来确定电子邮件是否在每个平台上注册,而不会提醒用户。平台在tokens.ini中配置:```ini [holehe] platforms = google, discord, github, instagram, twitter, spotify, ...

root@kitploit:~
**Maigret**(用户名查找):搜索用户名是否存在于500多个社交平台。用户名由员工通过webapp手动添加。平台可在 `tokens.ini` 中选择性过滤:```ini
[maigret]
# platforms = instagram, twitter, facebook, tiktok, reddit, github

可视化与导出

AI与分类配置

ComandoDescripción
set_ai --endpoint <url> --key <key> --model <modelo>配置AI提供商
classify使用AI将员工分类到部门(保存到数据库)
classify --force即使已分配部门也重新分类

AI分类分析员工的职称/角色,并按部门分组(如Engineering、Security、Sales等)。部门信息持久化存储在SQLite中,并在HTML报告和Web应用中可见。

支持的提供商(任何兼容OpenAI的API):

  • Ollama(本地,默认): set_ai --endpoint http://localhost:11434/v1 --model llama3
  • OpenAI: set_ai --endpoint https://api.openai.com/v1 --key sk-... --model gpt-4o-mini
  • 其他兼容的: LM Studio、Together AI等。

Telegram Scraper(Userbot)

独立守护进程,使用个人Telegram账户(通过Telethon)加入已批准的频道/群组,下载 .txt/.csv/.dat/.zip/.gz 文件并放入 leaks_data/telegram/<chat>/。后续的 import_leaks 使用智能解析器将数据导入ClickHouse。与CLI解耦 — 作为独立进程运行,因此可以24/7运行而无需打开CLI。

初始设置(一次性):

  1. 在 https://my.telegram.org/apps 创建应用以获取 api_id 和 api_hash。
  2. 添加到 config/tokens.ini: ```ini [telegram] api_id = 12345678 api_hash = abcd1234... session = config/telegram.session download_root = leaks_data/telegram allowed_extensions = txt, csv, dat, zip, gz default_backfill_limit = 10
    root@kitploit:~
  3. 交互式登录(提示输入你的号码、应用验证码,可选2FA): ```bash python3.13 telegram_sync.py login
    root@kitploit:~

Subcomandos:

data/emploleaks.db 中的新表格:

TablaDescripción
telegram_groups聊天快照(chat_id, title, username, approved, backfill_limit, last_sync_at)
telegram_files已下载文件,通过 (chat_id, message_id) 和内容的 SHA-256 去重

后台守护进程:```bash nohup python3.13 telegram_sync.py run --watch >> logs/telegram.log 2>&1 & echo $! > /tmp/telegram_daemon.pid

Para parar:

kill $(cat /tmp/telegram_daemon.pid)

root@kitploit:~
### 100% 基于Agent的泄露解析器

`utils/leak_parser.py` 模块**仅使用一个AI Agent**来解析每个文件。没有硬编码的正则表达式(已被移除,因为每种新格式都会引入微妙的提取错误)。

**Agent 的流程:**```
1. Auto-detectar encoding (BOM sniffing): utf-8 / utf-8-sig / utf-16 / utf-32.
2. Sampling inteligente: tomar las primeras 80 líneas que parezcan credenciales
   (con separadores típicos, alfanumérico >50%) — skipea banners ASCII art.
3. La IA recibe 50 líneas + system prompt con familias comunes de formato y
   propone {separator, fields, skip_lines}.
4. Aplicamos el schema a la muestra SIN filtros → list of tuples.
5. Validamos con _is_clean_credential → score = % rows válidas.
6. Si score ≥ 0.8 y ≥ 5 rows → aplicar al archivo completo.
7. Si no → mandar al agente la (source_line ↔ extracción mala) en pares,
   más checklist de errores típicos. Goto 3.
8. Hasta 7 iteraciones. Si no converge a 0.8: fallback al mejor schema si
   alcanzó ≥ 0.7. Bajo eso → skip con warning (nunca ingerimos basura).

_is_clean_credential — 横向验证:

  • 用户名:长度1-64,无/ : \ space,不以http/android/ftp//开头。
  • 密码:长度1-256,无/,最多一个:,无空白符,不以URL前缀开头。

确定性: 所有调用中temperature=0 + 同一运行内的内存缓存。同一文件在不同运行间产生相同schema → import_leaks是幂等的。

典型成本: 每个文件1-3次API调用,约$0.0001-$0.0005(使用gpt-4o-mini)。12个文件:约$0.005 = 半美分。


管理Web应用

命令描述
python emploleaks.py --webapp启动Web应用(后端在:8421,前端在:3421)

该Web应用允许:

  • 仪表板,包含统计数据、关键发现和快速操作
  • 员工管理,按部门可折叠部分,支持拖放
  • 连接账户:查看社交媒体个人资料,通过电子邮件(Holehe)和用户名(Maigret)搜索
  • 发现:管理域名,执行子域名枚举,查看包含IP和来源的结果
  • 凭据和机密分类(标记为已验证、不工作、误报)
  • 按员工编辑电子邮件和用户名(添加、修改、删除)
  • 通过界面进行AI分类

插件

LinkedIn

允许使用浏览器会话cookie在LinkedIn上搜索公司员工,并生成潜在的企业电子邮件。自动捕获公司Logo。

选项:

选项描述
JSESSIONIDLinkedIn的JSESSIONID会话Cookie
li-atLinkedIn的li_at会话Cookie
hide显示时隐藏JSESSIONID的值(默认:yes)

插件内可用的命令:

命令描述
run impersonate使用已配置的Cookie进行身份验证
run find <company_linkedin> <dominio_email> [--email-format FORMAT]搜索员工并生成电子邮件

可用的电子邮件格式:

  • 默认:f_last(例:[email protected])和 f.last(例:[email protected])
  • 自定义 --email-format:使用占位符 {n}(名字首字母)、{s}(姓氏)、{name}(全名)、{l}(姓氏首字母)
    • 示例:--email-format {n}.{s} 生成 [email protected]

完整示例:``` emploleaks> add_company --name miempresa emploleaks> select_company --name miempresa emploleaks(miempresa)> use --plugin linkedin emploleaks(miempresa)(linkedin)> setopt JSESSIONID JSESSIONID: emploleaks(miempresa)(linkedin)> setopt li-at li-at: emploleaks(miempresa)(linkedin)> run impersonate emploleaks(miempresa)(linkedin)> run find miempresa miempresa.com --email-format {n}.{s}

root@kitploit:~
### GitHub

允许获取GitHub个人资料信息、列出仓库,并使用gitleaks扫描仓库中的秘密。

**选项:**

| 选项 | 描述 |
|--------|-------------|
| `token` | GitHub个人访问令牌 |
| `blur` | 显示时混淆令牌 |
| `gitleaks_path` | gitleaks二进制文件路径(默认:PATH中的`gitleaks`) |
| `max_repo_size` | 要分析的仓库最大大小(MB)(默认:`15`) |

**插件内可用命令:**

| 命令 | 描述 |
|---------|-------------|
| `run stalk <username>` | 获取GitHub账户的邮箱 |
| `run get_repos <username>` | 列出用户的公共仓库 |
| `run find_secrets` | 扫描公司员工仓库中的秘密 |
| `run find_secrets --download-all` | 同上但无大小限制 |

**完整示例:**```
emploleaks(miempresa)> use --plugin github
emploleaks(miempresa)(github)> setopt token ghp_xxxxxxxxxxxx
emploleaks(miempresa)(github)> run find_secrets
emploleaks(miempresa)(github)> print --data secrets

HaveIBeenPwned (HIBP)

检查公司邮箱是否出现在已知的数据泄露中,使用 HIBP API。

选项:

选项描述
apikeyHaveIBeenPwned 的 API 密钥
rate_limitAPI 调用间隔(秒),默认值:2.0

插件内可用命令:

命令描述
run find_breaches查找公司所有邮箱的泄露信息
find_breaches直接命令(等效,需要激活 hibp 插件)

完整示例:``` emploleaks(miempresa)> use --plugin hibp emploleaks(miempresa)(hibp)> setopt apikey <tu_api_key> emploleaks(miempresa)(hibp)> find_breaches emploleaks(miempresa)(hibp)> print --data breaches

root@kitploit:~
## 泄露数据库 (ClickHouse)

EmploLeaks 可以连接到自己的 ClickHouse 数据库,该数据库包含泄露的凭证,用于搜索与已发现员工的电子邮件/用户名关联的密码。

### 使用 Docker 启动 ClickHouse```bash
cd clickhouse-docker
docker compose up -d

这会将ClickHouse暴露在:

  • 端口 9000(原生TCP协议)
  • 端口 8123(HTTP接口)

文件夹 leaks_data/ 以只读卷的形式挂载到容器内。

导入凭据

  1. 将你的泄露文件(.txt、.csv、.dat、.zip、.gz)放入 leaks_data/ 文件夹。
  2. 执行导入命令:``` emploleaks> import_leaks
root@kitploit:~
解析器会自动检测最常见的格式:
- `email:password`
- `email:password:url`
- `email;password`
- `email|password`
- `url,email,password`

对于未知格式,使用配置的AI(OpenAI/Ollama)分析文件样本并确定如何解析。使用 `--no-ai` 跳过AI检测。

`.zip` 和 `.gz` 文件会在解析前自动解压。

### 搜索凭证```
emploleaks(miempresa)> find_passwords only_emails
emploleaks(miempresa)> find_passwords find_all
emploleaks(miempresa)> print --data passwords

如果ClickHouse在tokens.ini中配置,工具启动时会自动连接。

ClickHouse中credentials表的结构


本地数据库结构(SQLite)


典型工作流程```

  1. python emploleaks.py

Gestión de empresa

  1. add_company --name target_corp
  2. select_company --name target_corp

Scraping de LinkedIn (captura empleados + logo de empresa)

  1. use --plugin linkedin
  2. setopt JSESSIONID
  3. setopt li-at
  4. run impersonate
  5. run find target_corp targetcorp.com --email-format {n}.{s}
  6. print --data emails

Discovery de infraestructura

  1. add_domain targetcorp.com
  2. discover
  3. print --data subdomains

Credenciales filtradas (ClickHouse se conecta automáticamente desde config)

  1. find_passwords only_emails

Brechas conocidas

  1. use --plugin hibp
  2. setopt apikey <hibp_key>
  3. find_breaches

Secretos en repositorios

  1. use --plugin github
  2. setopt token <github_token>
  3. run find_secrets

Profiling en redes sociales (por email)

  1. deactivate
  2. lookup_emails

Profiling en redes sociales (por username, requiere cargar usernames en webapp)

  1. lookup_profiles

Clasificación por departamento

  1. classify

Reportes y exportación

  1. print --data all --export
  2. print --data all --html --ai

Webapp para triage interactivo

  1. python emploleaks.py --webapp

Telegram scraper (proceso aparte, en otra terminal)

  1. python3.13 telegram_sync.py login # one-time
  2. python3.13 telegram_sync.py list_groups
  3. python3.13 telegram_sync.py approve <chat_id> --limit 5
  4. python3.13 telegram_sync.py run --watch # daemon en watch

Archivos van a leaks_data/telegram/... → re-ejecutar import_leaks los absorbe.

root@kitploit:~
## 免责声明

该工具仅用于教育、安全研究和授权的渗透测试。严禁将该工具用于恶意或未经授权的活动。用户有责任遵守所有相关法律和项目服务条款。
下载工具
显示所有公司
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使用保存在 tokens.ini 中的配置连接到 ClickHouse
connect_leaks --host <主机> --port <端口> --save使用特定参数连接并保存以供后续会话使用
disconnect_leaks断开与 ClickHouse 数据库的连接
import_leaks [目录]将凭证文件导入 ClickHouse(默认目录:leaks_data/)
import_leaks --no-ai仅导入已知格式的文件,不使用 AI
create_db --user <用户> --passwd <密码> --dbname <数据库> [--import-data <目录>]手动创建 ClickHouse 数据库(遗留方法)
命令描述
lookup_emails使用Holehe在约120个平台上搜索已确认的电子邮件
lookup_emails --include-potential也包含生成的电子邮件
lookup_emails --email [email protected]搜索特定电子邮件
lookup_emails --all在120+个平台上搜索(不仅限于已配置的)
lookup_emails --list-platforms列出所有可用平台
lookup_profiles使用Maigret按用户名搜索个人资料(需要已加载的用户名)
lookup_profiles --employee "Juan"仅搜索特定员工
ComandoDescripción
print --data emails显示已确认和潜在的电子邮件
print --data passwords显示找到的凭据
print --data breaches显示HIBP泄露事件
print --data gits显示GitHub账户
print --data twitters显示Twitter/X账户
print --data phones显示电话号码
print --data websites显示网站
print --data secrets显示在仓库中找到的机密
print --data domains显示注册的域名
print --data subdomains显示发现的子域名
print --data all显示按员工合并的所有数据
print --data all --html生成包含照片的交互式HTML报告
print --data all --html --ai生成使用AI按部门分组员工的HTML报告
print --data <tipo> --export将数据导出为带时间戳的CSV文件
ComandoDescripción
login初始认证。会话持久化至 config/telegram.session
list_groups列出你的账号所在的所有聊天/频道,并将快照存入 SQLite
approve <chat_id> [--limit N]将聊天标记为已批准,并回填最近的 N 条消息
unapprove <chat_id>撤销批准
list_approved已批准聊天表格,附带下载文件计数
backfill <chat_id> [--limit N]对已批准聊天重新下载最近的 N 条消息
run [--watch]回填所有已批准聊天;带 --watch 则持续监听 NewMessage 事件
status摘要:已批准 / 已下载文件 / 已用磁盘
字段类型描述
mail_usernameString邮箱用户名部分
mail_domainString邮箱域名(不含TLD)
mail_tldString邮箱TLD
passwordString泄露的密码
uri_subdomainString泄露站点的子域名
uri_domainString站点域名
uri_tldString站点TLD
表描述
companies已注册的公司(名称、logo)
employees发现的员工(姓名、职位、照片、公司、部门)
emails确认的邮箱(从LinkedIn的contact_info获取)
potential_emails按格式生成的潜在邮箱
passwords与邮箱关联的找到的密码
username_passwords按用户名找到的密码
breaches与邮箱关联的HIBP泄露记录
githubsGitHub个人资料/仓库URL
twittersTwitter/X个人资料URL
phones电话号码
websites个人网站
secrets_repos在仓库中使用gitleaks发现的秘密
social_profiles社交媒体资料(Holehe + Maigret)
domains用于发现的公司域名
subdomains发现的子域名(IP、来源、日期)
usernames与员工关联的用户名,用于Maigret