raquer-raqueia/credscan
GitHub: raquer-raqueia/credscan
CREDSCAN 是一款威胁情报凭证扫描器,用于从大规模数据泄露 dump 文件中批量提取、过滤和去重企业暴露的邮箱密码配对,帮助分析师负责任地报告新发现的凭证。
Stars: 0 | Forks: 0
# 🛡️ CREDSCAN — 威胁情报凭证扫描器
## 📋 目录
- [关于项目](#sobre-o-projeto)
- [功能](#funcionalidades)
- [前置条件](#pré-requisitos)
- [安装说明](#instalação)
- [预期的文件结构](#estrutura-esperada-de-arquivos)
- [如何使用](#como-usar)
- [可用参数](#parâmetros-disponíveis)
- [理解结果](#entendendo-os-resultados)
- [输出文件](#arquivo-de-saída)
- [推荐的工作流](#fluxo-de-trabalho-recomendado)
- [监控的域名](#domínios-monitorados)
- [如何添加或移除域名](#como-adicionar-ou-remover-domínios)
- [免责声明](#aviso-legal)
## 关于项目
**CREDSCAN** 旨在帮助 Threat Intelligence 分析师监控企业暴露的凭证,并在数据泄露 (*data leaks*) 时进行负责任的报告。
该脚本会遍历数百(或数千)个 `.txt` dump 文件——这些文件通常包含未清洗且格式混乱的数据——提取有效的 `email:senha`(邮箱:密码)配对,根据监控的客户域名进行过滤,并将结果与已报告凭证的 blacklist(黑名单)进行交叉比对,以避免重复报告。
## 功能
- ✅ **批量扫描** — 支持包含数十到数百 GB `.txt` 文件的目录
- ✅ **自动清洗脏数据** — 从包含 URL、管道符、各种分隔符(`:` 和 `;`)以及 dump 中常见噪声的行中提取 `email:senha`
- ✅ **按域名过滤** — 仅处理配置域名的电子邮件
- ✅ **比对 blacklist** — 在显示之前,将每个发现与 `blacklist.txt` 进行交叉比对
- ✅ **去重** — 消除不同文件中重复的配对
- ✅ **实时进度条** — 显示进度、新增与已报告项的计数器以及已用时间
- ✅ **通过 Ctrl+C 安全中断** — 显示部分结果且不会丢失数据
- ✅ **自动导出** — 执行结束时自动生成包含新发现的 `.txt` 文件
- ✅ **终端彩色输出** — 绿色表示新发现,红色表示已报告项
## 前置条件
- Python **3.10+**(使用 `str | None` 作为 type hint)
- 无需外部库 — 仅使用 Python 标准库模块
检查您的版本:
```
python3 --version
```
## 安装说明
```
# Clone 仓库
git clone https://github.com/raquer-raqueia/credscan
cd credscan
# 给予执行权限
chmod +x credscan.py
```
## 预期的文件结构
```
credscan/
├── credscan.py # Script principal
├── blacklist.txt # Credenciais já reportadas (um email:senha por linha)
└── leaks/ # Exemplo de diretório com os dumps
├── dump_001.txt
├── dump_002.txt
└── ...
```
### `blacklist.txt` 格式
每行应包含一个已报告的 `email:senha` 配对。以 `#` 开头的行将被视为注释并被忽略。
## 如何使用
### 带参数模式(推荐)
使用参数运行脚本(适用于 pipelines 和自动化)。
```
python3 credscan.py -d /caminho/para/leaks -b /caminho/para/blacklist.txt -o resultado.txt
```
## 可用参数
| 参数 | 简写 | 描述 | 默认值 |
|-----------|-------------|-----------|--------|
| `--directory` | `-d` | 包含 `.txt` 文件的目录路径 | *(交互式询问)* |
| `--blacklist` | `-b` | `blacklist.txt` 文件的路径 | `./blacklist.txt` |
| `--output` | `-o` | 包含新发现的输出文件名 | `credscan_novos_.txt` |
## 理解结果
在执行期间,终端会显示一个实时进度条:
⠹ [████████████░░░░░░░░░░░░░░░░░░] 40.0% │ Arqs: 40/100 │ Novos: 12 │ BL: 3 │ ⏱ 00:02:15 dump_042.txt
| 元素 | 描述 |
|----------|-----------|
| 进度条 | 已处理文件的百分比 |
| `Arqs` | 已完成文件 / 总计 |
| `Novos` | **不**在 blacklist 中的新发现 |
| `BL` | 已存在于 blacklist 中的发现(已报告) |
| ⏱ | 自开始以来的已用时间 |
| 文件名 | 最后处理的文件 |
#### 完成后,将显示包含以下部分的报告:
## 如何添加或移除域名
打开 `credscan.py` 文件并找到 `TARGET_DOMAINS` 列表:
```
TARGET_DOMAINS = [
"@domain.gov.br",
"@domain.gov.br",
# adicione ou remova domínios aqui
]
```
保存文件。无需进行其他更改。
## 免责声明
## 📋 目录
- [关于项目](#sobre-o-projeto)
- [功能](#funcionalidades)
- [前置条件](#pré-requisitos)
- [安装说明](#instalação)
- [预期的文件结构](#estrutura-esperada-de-arquivos)
- [如何使用](#como-usar)
- [可用参数](#parâmetros-disponíveis)
- [理解结果](#entendendo-os-resultados)
- [输出文件](#arquivo-de-saída)
- [推荐的工作流](#fluxo-de-trabalho-recomendado)
- [监控的域名](#domínios-monitorados)
- [如何添加或移除域名](#como-adicionar-ou-remover-domínios)
- [免责声明](#aviso-legal)
## 关于项目
**CREDSCAN** 旨在帮助 Threat Intelligence 分析师监控企业暴露的凭证,并在数据泄露 (*data leaks*) 时进行负责任的报告。
该脚本会遍历数百(或数千)个 `.txt` dump 文件——这些文件通常包含未清洗且格式混乱的数据——提取有效的 `email:senha`(邮箱:密码)配对,根据监控的客户域名进行过滤,并将结果与已报告凭证的 blacklist(黑名单)进行交叉比对,以避免重复报告。
## 功能
- ✅ **批量扫描** — 支持包含数十到数百 GB `.txt` 文件的目录
- ✅ **自动清洗脏数据** — 从包含 URL、管道符、各种分隔符(`:` 和 `;`)以及 dump 中常见噪声的行中提取 `email:senha`
- ✅ **按域名过滤** — 仅处理配置域名的电子邮件
- ✅ **比对 blacklist** — 在显示之前,将每个发现与 `blacklist.txt` 进行交叉比对
- ✅ **去重** — 消除不同文件中重复的配对
- ✅ **实时进度条** — 显示进度、新增与已报告项的计数器以及已用时间
- ✅ **通过 Ctrl+C 安全中断** — 显示部分结果且不会丢失数据
- ✅ **自动导出** — 执行结束时自动生成包含新发现的 `.txt` 文件
- ✅ **终端彩色输出** — 绿色表示新发现,红色表示已报告项
## 前置条件
- Python **3.10+**(使用 `str | None` 作为 type hint)
- 无需外部库 — 仅使用 Python 标准库模块
检查您的版本:
```
python3 --version
```
## 安装说明
```
# Clone 仓库
git clone https://github.com/raquer-raqueia/credscan
cd credscan
# 给予执行权限
chmod +x credscan.py
```
## 预期的文件结构
```
credscan/
├── credscan.py # Script principal
├── blacklist.txt # Credenciais já reportadas (um email:senha por linha)
└── leaks/ # Exemplo de diretório com os dumps
├── dump_001.txt
├── dump_002.txt
└── ...
```
### `blacklist.txt` 格式
每行应包含一个已报告的 `email:senha` 配对。以 `#` 开头的行将被视为注释并被忽略。
## 如何使用
### 带参数模式(推荐)
使用参数运行脚本(适用于 pipelines 和自动化)。
```
python3 credscan.py -d /caminho/para/leaks -b /caminho/para/blacklist.txt -o resultado.txt
```
## 可用参数
| 参数 | 简写 | 描述 | 默认值 |
|-----------|-------------|-----------|--------|
| `--directory` | `-d` | 包含 `.txt` 文件的目录路径 | *(交互式询问)* |
| `--blacklist` | `-b` | `blacklist.txt` 文件的路径 | `./blacklist.txt` |
| `--output` | `-o` | 包含新发现的输出文件名 | `credscan_novos_
## 如何添加或移除域名
打开 `credscan.py` 文件并找到 `TARGET_DOMAINS` 列表:
```
TARGET_DOMAINS = [
"@domain.gov.br",
"@domain.gov.br",
# adicione ou remova domínios aqui
]
```
保存文件。无需进行其他更改。
## 免责声明标签:StruQ, 威胁情报, 开发者工具, 数据清洗, 文本处理, 逆向工具