Mr-Destroyer/CredStalker-

GitHub: Mr-Destroyer/CredStalker-

一款自动化网站凭据与敏感数据扫描器,通过爬取和正则匹配帮助安全人员在目标网站中发现暴露的密钥、密码和 Token 等敏感信息。

Stars: 1 | Forks: 0

# 🔍 凭据与敏感数据扫描器 一款强大的 Python 工具,能够爬取网站并自动检测暴露的凭据、API key、密码、token 和其他敏感数据。非常适合用于安全审计、Bug Bounty 搜寻和渗透测试。 ![Python](https://img.shields.io/badge/Python-3.7+-blue?style=flat-square&logo=python) ![License](https://img.shields.io/badge/License-MIT-green?style=flat-square) ![Status](https://img.shields.io/badge/Status-Active-success?style=flat-square) ## 📸 截图 ### 1. 扫描器横幅与爬取过程 ![扫描器横幅](https://static.pigsec.cn/wp-content/uploads/repos/cas/21/21f974f0737d96cc885f74467d58864c958bba56f79046862afacafe653344fd.png) *展示了包含作者信息的精美横幅,以及在 verbose 模式下的爬取过程* ### 2. Verbose 模式 - 实时检测 ![Verbose 爬取](https://static.pigsec.cn/wp-content/uploads/repos/cas/5e/5eb68fc58f2cfa1123d7ad58afe60fe758f26873ec1089c58fac86a39375c0f0.png) *演示了 verbose 模式,展示每个正在爬取的 URL 以及实时发现的敏感数据* ### 3. 扫描结果摘要报告 ![扫描结果报告](https://static.pigsec.cn/wp-content/uploads/repos/cas/30/30d41828a61caceaa46e8377f2e4c0673b2dd4ff9e0dd9a66653c9ae31b4154e.png) *详细的结果报告,展示了检测到的密码、用户名和混淆字符串及其位置* ## ✨ 功能特性 - 🔐 **多类型检测**:查找 API key、密码、用户名、Bearer Token、数据库 URL、私钥、AWS key、电子邮件、信用卡等 - 🕷️ **Web Crawler**:通过跟踪链接自动爬取网站(可配置深度) - 📄 **深度内容分析**:扫描 HTML、JavaScript 和 HTML 注释以查找敏感数据 - 🎯 **基于 Regex 的模式匹配**:使用行业标准模式检测各种凭据格式 - 📊 **详细报告**:输出格式清晰,结果按类型分类整理 - 💾 **导出功能**:将结果保存为 JSON 以供进一步分析 - 🔄 **同域名爬取**:仅在目标域名内进行爬取,以确保符合授权范围 - 🚀 **性能优化**:可配置深度限制的高效爬取 - 🔇 **Verbose 模式**:提供可选的详细日志记录以供调试 ## 🎯 检测能力 | 类别 | 检测内容 | |----------|-----------------| | **API Key** | API key 和 token(20+ 字符的变体) | | **密码** | 硬编码的密码和密码输入框 | | **用户名** | 用户名、管理员账户、登录凭据 | | **Bearer Token** | 身份验证 token 和 bearer token | | **数据库 URL** | MongoDB URI、SQL 连接字符串 | | **私钥** | RSA、EC 和其他私钥格式 | | **AWS Key** | AWS Access Key ID(AKIA 格式) | | **电子邮件** | 跨所有页面的电子邮件地址 | | **信用卡** | 16 位信用卡号(掩码格式) | | **Webhook** | Webhook URL 和 hook endpoint | | **混淆字符串** | JavaScript 中经过编码/反转的字符串 | ## 📋 环境要求 - Python 3.7 或更高版本 - 网络连接 - 目标网站必须可访问 ## 🚀 安装说明 ### 1. 克隆仓库 ``` git clone https://github.com/Mr-Destroyer/credential-scanner.git cd credential-scanner ``` ### 2. 安装依赖项 ``` pip install -r requirements.txt ``` 或手动安装: ``` pip install requests beautifulsoup4 ``` ## 💻 使用说明 ### 基础扫描 ``` python credential_scanner.py http://example.com ``` ### 进阶用法 #### 自定义爬取深度 ``` # 最多扫描 5 层深度(默认为 3) python credential_scanner.py http://example.com --depth 5 ``` #### 启用 Verbose 模式 ``` # 查看正在抓取的每个 URL 的详细输出 python credential_scanner.py http://example.com --verbose ``` #### 将结果导出为 JSON ``` # 将发现结果保存到 JSON 文件以供分析 python credential_scanner.py http://example.com --export findings.json ``` #### 组合使用选项 ``` # 使用所有选项进行全面扫描 python credential_scanner.py http://example.com --depth 5 --verbose --export findings.json ``` ### 命令行参数 | 参数 | 描述 | 默认值 | |----------|-------------|---------| | `` | **必填。** 目标网站 URL | - | | `--depth ` | 最大爬取深度 | 3 | | `--verbose` | 启用详细日志记录 | 禁用 | | `--export ` | 将扫描结果导出为 JSON 文件 | 无 | ## 📊 输出示例 ### 控制台输出 ``` ════════════════════════════════════════════════════════ 🔍 Starting scan on: http://example.com ════════════════════════════════════════════════════════ ════════════════════════════════════════════════════════ 🚨 FINDINGS SUMMARY ════════════════════════════════════════════════════════ 📌 API_KEY (2 found): ──────────────────────────────────────────────────── [1] URL: http://example.com/admin/config.js Source: JavaScript Match: api_key = "sk_live_1234567890abcdef" [2] URL: http://example.com/api/settings Source: HTML Match: apikey: "AIzaSyD1234567890abcdef" ════════════════════════════════════════════════════════ 📊 Total findings: 2 ════════════════════════════════════════════════════════ ``` ### JSON 导出格式 ``` { "api_key": [ { "url": "http://example.com/admin/config.js", "type": "api_key", "match": "api_key = \"sk_live_1234567890abcdef\"", "source": "JavaScript" } ], "password": [ { "url": "http://example.com/login", "type": "password", "match": "password = \"SecurePass123\"", "source": "HTML" } ] } ``` ## 🔒 安全与道德准则 ⚠️ **重要提示**:此工具仅应用于您拥有或获得明确测试授权的网站。 - **仅限授权测试**:仅扫描您已获得测试许可的网站 - **负责任的漏洞披露**:如果您发现真实的凭据,请负责任地向网站所有者报告 - **严禁恶意使用**:不得将此工具用于未经授权的访问或非法目的 - **数据谨慎处理**:请妥善处理导出的扫描结果,其中可能包含敏感信息 ## 🛠️ 工作原理 1. **初始化**:扫描器使用伪造的 user agent 创建一个 session 2. **爬取**:从目标 URL 开始,跟踪内部链接直至达到最大深度 3. **内容分析**: - 从 `