mathewekuwam/authhawk

GitHub: mathewekuwam/authhawk

AuthHawk是一个多线程认证漏洞评估框架,用于自动化发现Web应用中的认证缺陷。

Stars: 0 | Forks: 0

# AuthHawk 🦅 [![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Security Audited](https://img.shields.io/badge/Security-Audited-brightgreen.svg)]() **AuthHawk** 是一个为渗透测试人员和安全研究人员设计的、专门的多线程认证漏洞评估框架。它自动化发现和评估Web应用程序登录、注册和密码恢复机制,识别常见的认证漏洞和逻辑缺陷。 ## 🚀 功能 AuthHawk 实现了以下核心模块: * **端点发现**:针对30多个标准认证路径(例如,`/login`、`/register`、`/forgot-password`、管理面板)的自动化字典扫描。 * **账户枚举**: * *登录差异*:根据HTTP响应体或错误信息的细微变化识别有效用户名。 * *注册检查*:评估注册页面是否会泄露已注册账户的存在。 * *密码恢复分析*:检查忘记密码流程是否会泄露有效的电子邮件账户。 * **SQL注入登录绕过**:针对15种以上标准SQLi绕过载荷审计认证入口点。 * **暴力破解与凭证填充**: * 针对活跃用户账户的定向密码暴力破解。 * 通过多线程Python `ThreadPoolExecutor`实现的高吞吐量凭证填充。 * **密码重置审计**: * *可预测令牌*:扫描顺序数字模式、静态令牌或静态哈希(例如,`MD5(email)`)。 * *主机头投毒*:通过恶意`Host`头测试重置电子邮件链接欺骗。 * *速率限制绕过*:尝试通过`X-Forwarded-For`进行基于头部的客户端IP欺骗。 * **注册漏洞**: * *批量分配/参数污染*:检查管理标志(例如,`role=admin`、`is_admin=1`)是否被接受。 * *弱密码策略*:审计在注册时是否接受弱的、标准的凭据(例如,`123456`)。 ## 🛠️ 安装与设置 1. **克隆仓库**: git clone https://github.com/your-username/AuthHawk.git cd AuthHawk 2. **安装依赖**: pip install -r requirements.txt ## 🧪 本地验证沙盒 AuthHawk 附带一个**本地认证实验室**,因此您可以在本地机器上离线、受控的沙盒环境中安全地测试和验证其所有安全模块。 ### 步骤1:启动模拟认证服务器 启动轻量级本地模拟服务器,该服务器模拟了存在SQLi、弱密码、顺序重置和暴力破解漏洞的端点: ``` python mock_server.py ``` *服务器将开始在端口 `5000` 上本地监听。* ### 步骤2:执行自动化全集成扫描 在新的终端窗口中,使用测试词表运行完整扫描: ``` python authhawk.py -u http://localhost:5000 --users users.txt --passwords passwords.txt --delay 0 --full ``` ### 步骤3:运行离线单元测试 您也可以直接使用Python的标准`unittest`库(使用模拟HTTP请求来检查代码路径,无需启动服务器)来验证代码逻辑: ``` python -m unittest test_authhawk.py ``` ## 📖 命令行用法 ``` usage: authhawk.py [-u URL] [--users USERS] [--passwords PASSWORDS] [-t THREADS] [--delay DELAY] [-v] [--discover] [--enum-login] [--enum-register] [--enum-forgot] [--sqli] [--brute] [--reset-test] [--full] AuthHawk - Authentication Pentesting Agent options: -h, --help show this help message and exit -u URL, --url URL Target base URL --users USERS Username/email wordlist --passwords PASSWORDS Password wordlist -t THREADS, --threads THREADS Thread count (default: 10) --delay DELAY Delay between requests in seconds (default: 0.5) -v, --verbose Verbose output Modules: --discover Discover auth endpoints --enum-login Enumerate users via login --enum-register Enumerate users via register --enum-forgot Enumerate users via forgot pw --sqli Test SQL injection bypass --brute Brute force login --reset-test Test password reset --full Run full scan ``` ## ⚖️ 法律与道德免责声明 **重要提示**:此工具**严格仅供教育和授权的渗透测试目的使用**。 * **未经**系统所有者事先明确的书面授权,**请勿**对目标网络或应用程序运行此工具。 * 作者不承担任何责任,也不对因使用此工具造成的任何滥用、损害或法律后果负责。使用本软件即表示您同意对自己的行为承担全部责任,并遵守所有适用的地方、国家和国际法律。
标签:AES-256, CISA项目, Host头污染, PoC, Python, SQL注入绕过, 凭证填充, 参数污染, 密码重置审计, 无后门, 暴力破解, 注册漏洞, 渗透测试框架, 漏洞评估, 用户模式钩子绕过, 登录安全, 网络安全, 认证安全, 认证机制, 认证漏洞扫描, 账户枚举, 质量分配, 逆向工具, 速率限制绕过, 逻辑缺陷, 防御, 隐私保护