arif-offsec/captcharecon

GitHub: arif-offsec/captcharecon

专为授权渗透测试设计的 CAPTCHA 与反自动化防御侦察工具包,通过模块化扫描全面映射目标站点的验证码实现、WAF/Bot 防御和速率限制策略,输出带严重等级和修复建议的专业报告。

Stars: 0 | Forks: 0

# CaptchaRecon ``` ____ _ _ ____ / ___|__ _ _ __| |_ ___| |__ __ _| _ \ ___ ___ ___ _ __ | | / _` | '_ \ __/ __| '_ \ / _` | |_) / _ \/ __/ _ \| '_ \ | |__| (_| | |_) | || (__| | | | (_| | _ < __/ (_| (_) | | | | \____\__,_| .__/ \__\___|_| |_|\__,_|_| \_\___|\___\___/|_| |_| |_| CAPTCHA & Anti-Automation Reconnaissance Toolkit ``` [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](LICENSE) [![Platform: Kali Linux](https://img.shields.io/badge/platform-Kali%20Linux-557C94.svg)]() [![Ethical Use Only](https://img.shields.io/badge/use-authorised%20only-red.svg)]() ## 什么是 CaptchaRecon? CaptchaRecon 是一个专为 Web 应用程序渗透测试人员设计的模块化侦察和分析工具包。它对目标应用程序的**整个反自动化防御栈**进行映射——不是为了绕过它,而是为了理解它、识别配置错误,并为专业的渗透测试报告记录发现结果。 它**绝不**(NOT)解决、绕过或与任何 CAPTCHA 进行交互。 ## 运行时会发生什么 在安装和测试此工具之前,您需要准确了解从按下 Enter 键那一刻起它会做什么。这是一个需要获得目标**授权访问**的安全工具——因此理解完整的执行流程是强制性的。 当您运行: ``` captcharecon -u https://target.com/login ``` 以下是将按顺序发生的事情: **步骤 1 — 横幅** 打印 ASCII 徽标以及版本号和许可证行。 **步骤 2 — 道德提示(强制)** ``` ⚠ AUTHORISED USE ONLY Do you have explicit authorisation to test the target? [y/N]: ``` 输入 `y` 继续。输入任何其他内容将立即退出。此提示不能被抑制或绕过。 **步骤 3 — 打印会话摘要** ``` Target : https://target.com/login Modules: detect, resilience, ratelimit, antibot Delay : 1.0s per request ``` **步骤 4 — 模块 1:CAPTCHA 指纹识别 (`detect`)** - 使用 GET 请求获取页面 - 解析完整的 HTML 源码,并收集所有 script 的 `src` 属性和内联 JavaScript - 将所有内容与 8 个 CAPTCHA 提供商的特征进行核对——HTML 模式、脚本 URL、JS 函数名 - 尝试从 HTML 源码中提取任何暴露的 sitekey - 打印一个表格:CAPTCHA 类型、风险级别、找到的 sitekey(如果有)、备注 - 如果未找到任何内容:打印“No known CAPTCHA detected” 不与任何 CAPTCHA 交互或触发任何 CAPTCHA。 **步骤 5 — 模块 2:弹性测试 (`resilience`)** - 获取页面并找到所有 `
` 元素 - 对于每个表单,运行 5 项检查: - 表单输入中是否存在 CAPTCHA 响应字段? - 如果使用空的 CAPTCHA token 提交,服务器会返回什么? - 如果完全移除 CAPTCHA 字段,服务器会返回什么? - HTML 中是否存在低熵或可预测的 token 模式? - 是否存在通过 CSS 隐藏的蜜罐字段? - 打印带有严重程度的发现结果:High、Medium、Low 或 Info **步骤 6 — 模块 3:速率限制分析 (`ratelimit`)** - 发送 HEAD 请求并检查响应头中是否存在 `X-RateLimit-*`、`Retry-After` 及相关标头 - 发送 10 个快速 GET 请求(可配置)并记录每个状态码 - 分析响应时间:最小值、最大值、平均值、标准差 - 如果响应时间在会话中期显著增加,则检测到软节流 - 逐一测试 9 个 IP 伪造标头:`X-Forwarded-For`、`X-Real-IP`、 `CF-Connecting-IP`、`True-Client-IP`、`X-Originating-IP`、`X-Remote-IP`、 `X-Client-IP`、`Forwarded` 等 - 如果任何标头导致响应代码发生改变——将其标记为 High 严重级别 - 打印状态码分布表和时间摘要 **步骤 7 — 模块 4:反自动化栈映射 (`antibot`)** - 获取页面并检查响应标头、cookies 和脚本源 - 根据 WAF/CDN 特征进行检查:Cloudflare、Akamai、AWS WAF/CloudFront、 Imperva Incapsula、F5 BIG-IP ASM、ModSecurity、Sucuri - 根据 Bot 管理特征进行检查:DataDome、PerimeterX/HUMAN、 Cloudflare Bot Management、Kasada、Akamai Bot Manager、Radware、Shape Security/F5 - 扫描脚本以查找指纹识别库:FingerprintJS、ThreatMetrix、 Sift Science、Mouseflow、Hotjar、FullStory - 检查 6 个安全标头:CSP、HSTS、X-Frame-Options、X-Content-Type-Options、 Referrer-Policy、Permissions-Policy - 为每个类别打印单独的表格 **步骤 8 — 带有修复建议的摘要表** 一个涵盖所有四个模块的综合表格,按严重程度排序,每行带有一个修复标签: ``` Module Result Severity Remediation Resilience Testing 2 high-severity weakness(es) High → Enforce server-side token validation Rate Limit Analysis No rate limit triggered Medium → Implement lockout after 3-5 attempts Anti-Automation Mapping No WAF or bot management Medium → Place behind WAF/CDN (Cloudflare, AWS WAF) CAPTCHA Fingerprinting 1 CAPTCHA type(s) found Low → Verify server-side validation enforced ``` 在表格下方,一个**修复详情** (Remediation Detail) 部分将每个标签展开为完整的技术步骤——每个发现对应一个编号块,顺序与优先级相同。按最高严重程度优先排序,因此最关键的项目始终位于顶部。 **步骤 9 — 完成** 如果您传递了 `--output report.json` 参数,完整的 JSON 报告将在此刻被写入。 在具有默认 1.0 秒延迟的典型登录页面上花费的总时间:大约 30 到 60 秒。 ## 模块 | 模块 | 功能 | |---|---| | **detect** | 从 HTML/JS 中识别 CAPTCHA 类型、版本、提供商和暴露的 sitekeys | | **resilience** | 测试实现弱点——缺失服务器端验证、空 token、字段移除 | | **ratelimit** | 探测节流、速率限制标头、时间分析以及 IP 绕过标头的有效性 | | **antibot** | 检测 WAF、Bot 管理平台、指纹识别库和安全标头漏洞 | ## 开源依赖 所有集成的库都是免费和开源的。无专有工具。 | 包 | 许可证 | 用途 | |---|---|---| | [requests](https://github.com/psf/requests) | Apache 2.0 | HTTP 客户端 | | [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/) | MIT | HTML 解析 | | [rich](https://github.com/Textualize/rich) | MIT | 终端输出 | | [urllib3](https://github.com/urllib3/urllib3) | MIT | HTTP 传输 | | [lxml](https://github.com/lxml/lxml) | BSD | 快速 HTML/XML 解析器 | | [certifi](https://github.com/certifi/python-certifi) | MPL 2.0 | CA 证书 | ## 安装说明 (Kali Linux) ``` git clone https://github.com/arif-offsec/captcharecon.git cd captcharecon sudo bash install.sh ``` 安装程序会执行以下操作: - 更新 apt 软件包列表 - 安装所有 Python 依赖并将其升级到最新版本 - 在系统全局安装 `captcharecon` 命令 - 安装手册页 (`man captcharecon`) - 在 `/etc/captcharecon/captcharecon.conf` 创建配置文件 要卸载,请执行: ``` sudo bash uninstall.sh ``` ## 用法 ### 完整扫描 — 所有模块 ``` captcharecon -u https://target.com/login ``` ### 特定模块 ``` captcharecon -u https://target.com/login --modules detect antibot ``` ### 通过 Burp Suite / Caido / ZAP 路由 ``` captcharecon -u https://target.com/login --proxy http://127.0.0.1:8080 ``` ### 深度速率限制探测 ``` captcharecon -u https://target.com/login --ratelimit-requests 30 --delay 0.3 ``` ### 保存 JSON 报告 ``` captcharecon -u https://target.com/login --full --output report.json ``` ### 完整选项 ``` -u, --url URL Target URL (required) --modules [...] Modules: detect resilience ratelimit antibot --full Run all modules with extended checks --output FILE Save JSON report to FILE --proxy URL Proxy URL (Burp / Caido / ZAP) --delay SECS Delay between requests (default: 1.0) --timeout SECS Request timeout (default: 10) --ratelimit-requests N Requests for rate limit probing (default: 10) --user-agent UA Custom User-Agent string --no-banner Suppress ASCII banner -v, --verbose Verbose output ``` ## 手册页 ``` man captcharecon ``` 手册页涵盖了所有选项、模块、输出格式、代理集成、开源依赖许可证以及道德使用要求。 ## 可检测的 CAPTCHA 提供商 - reCAPTCHA v2 (复选框) - reCAPTCHA v3 (不可见 / 企业版) - hCaptcha - Cloudflare Turnstile - FunCaptcha / Arkose Labs - GeeTest (滑块拼图) - KeyCAPTCHA - 数学 / 文本 CAPTCHA (自定义实现) ## 可检测的 WAF / Bot 管理 **WAF / CDN:** Cloudflare、Akamai、AWS WAF/CloudFront、Imperva Incapsula、 F5 BIG-IP ASM、ModSecurity、Sucuri **Bot 管理:** DataDome、PerimeterX/HUMAN Security、Cloudflare Bot Management、 Kasada、Akamai Bot Manager、Radware Bot Manager、Shape Security/F5 **指纹识别:** FingerprintJS、ThreatMetrix、Sift Science、Mouseflow、 Hotjar、FullStory ## 输出 ### 终端 带有颜色编码严重程度的 Rich 格式化表格——HIGH、MEDIUM、LOW、INFO。 ### JSON ``` captcharecon -u https://target.com/login --output findings.json ``` ``` { "tool": "CaptchaRecon", "version": "1.0.0", "license": "GPL v3", "timestamp": "2025-04-26T10:00:00Z", "target": "https://target.com/login", "modules": { "detect": { "captcha_found": true, "findings": [] }, "resilience": { "forms_tested": 1, "findings": [] }, "ratelimit": { "rate_limited": false, "bypass_findings": [] }, "antibot": { "waf": [], "security_headers": {} } } } ``` ## 代理集成 开箱即用,支持 Burp Suite、Caido 和 OWASP ZAP。 ``` # Burp Suite / Caido captcharecon -u https://target.com/login --proxy http://127.0.0.1:8080 # OWASP ZAP captcharecon -u https://target.com/login --proxy http://127.0.0.1:8090 ``` ## 项目结构 ``` captcharecon/ ├── captcharecon/ │ ├── __init__.py │ ├── cli.py ← entry point, arg parsing, ethics prompt │ ├── core/ │ │ ├── detector.py ← CAPTCHA fingerprinting (8 providers) │ │ ├── resilience.py ← 5 implementation weakness checks │ │ ├── ratelimit.py ← header scan + rapid probe + 9 bypass headers │ │ ├── antibot.py ← WAF/bot mgmt/fingerprinting/security headers │ │ └── reporter.py ← summary table + JSON export │ └── utils/ │ └── http.py ← shared session, throttle, proxy support ├── man/ │ └── captcharecon.1 ← man page source ├── install.sh ← system-wide installer ├── uninstall.sh ← clean uninstaller ├── setup.py ├── requirements.txt ← all open-source dependencies with licences ├── LICENSE ← GPL v3 └── README.md ``` ## 道德使用说明 此工具专为以下目的设计: - 授权的 Web 应用程序渗透测试 - 在规定范围内的漏洞赏金猎取 - 对您拥有或已获得测试许可的系统进行安全研究 - 防御性安全——了解您自己应用程序的暴露情况 滥用可能违反《计算机欺诈和滥用法》 (CFAA)、《计算机滥用法》及其他司法管辖区的同等法律。启动时的道德确认提示是强制性的。 ## 贡献 欢迎提交 Pull request。如果您发现了未涵盖的新的 CAPTCHA 提供商、WAF 特征或 Bot 管理平台,请提交 Issue 或 PR。 ## 许可证 GPL v3 — 永久免费开源。详情请参见 [LICENSE](LICENSE)。
标签:GitHub项目, Python安全工具, WAF测试, Web安全, 反取证, 反自动化机制分析, 合规性安全测试, 安全评估, 实时处理, 密码管理, 开源安全工具, 授权测试, 网站防护分析, 网络安全, 自动化防御侦察, 蓝队分析, 逆向工具, 逆向工程平台, 隐私保护, 验证码识别与分析