raquer-raqueia/credscan

GitHub: raquer-raqueia/credscan

CREDSCAN 是一款威胁情报凭证扫描器,用于从大规模数据泄露 dump 文件中批量提取、过滤和去重企业暴露的邮箱密码配对,帮助分析师负责任地报告新发现的凭证。

Stars: 0 | Forks: 0

# 🛡️ CREDSCAN — 威胁情报凭证扫描器 image ## 📋 目录 - [关于项目](#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 中的发现(已报告) | | ⏱ | 自开始以来的已用时间 | | 文件名 | 最后处理的文件 | #### 完成后,将显示包含以下部分的报告: image image ## 如何添加或移除域名 打开 `credscan.py` 文件并找到 `TARGET_DOMAINS` 列表: ``` TARGET_DOMAINS = [ "@domain.gov.br", "@domain.gov.br", # adicione ou remova domínios aqui ] ``` 保存文件。无需进行其他更改。 ## 免责声明
标签:StruQ, 威胁情报, 开发者工具, 数据清洗, 文本处理, 逆向工具