简介 • 安装 • 使用 • 运行 HaxUnit • 功能
HaxUnit 是一款基于 Python 的综合侦察与安全评估工具,专为 Web 域名设计。它集成了多种工具,用于子域名枚举、端口扫描、漏洞扫描等。
HaxUnit 专注于简洁性,旨在成为 Web 安全评估领域最佳且最完整的解决方案。
为确保安装可靠,建议通过 Docker Compose 使用 HaxUnit。
初始设置可能需要几分钟:
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example 重命名为 .env 并填写 API 密钥。ACUNETIX_THRESHOLD=30
ACUNETIX_API_KEY=
NUCLEI_API_KEY=
WPSCAN_API_KEY=
PDCP_API_KEY=
chmod +x rebuild-compose.sh open-bash.sh
./rebuild-compose.sh
安装成功完成后,你会进入 Docker 容器,准备执行 HaxUnit:
🎉 安装完成!🎉
HaxUnit 现已准备就绪!
是时候发现这些漏洞并像专业人士一样修复它们了!🕵️♂️🔍
🚀 要开始扫描,请运行以下命令:
haxunit -d <domain>
就是这样,你可以立即开始使用 HaxUnit 扫描域名了!
要在 HaxUnit 容器内打开 bash shell,请运行以下命令:
./open-bash.sh
请确保你的系统上已安装以下软件:
python3 (>=3.10)go (>=1.22)docker.io (>=20.10.7)克隆仓库:
打开终端,运行以下命令克隆仓库并进入项目目录:
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
安装 python3.11-venv(如果需要):
如果未安装 venv 模块,你可能需要安装它。根据你的 Python 版本运行以下命令之一:
sudo apt update
sudo apt install python3.11-venv
或者对于 Python 3.10:
sudo apt update
sudo apt install python3.10-venv
创建虚拟环境:
创建一个名为 haxunit-venv 的虚拟环境:
python3 -m venv haxunit-venv
激活虚拟环境:
使用以下命令激活虚拟环境:
source haxunit-venv/bin/activate
注意:稍后要停用虚拟环境,只需运行 deactivate。
安装所需包:
在虚拟环境激活的情况下,安装必要的包:
python3 -m pip install -r requirements.txt
如果一切安装正确,你应该看到以下输出:
[HaxUnit] [Init] All tools are successfully installed - good luck!
安装过程现在使用 pdtm(ProjectDiscovery 工具管理器)进行高效的工具管理,并包含智能检查以避免重新安装已存在的工具。
haxunit -h
这将显示工具帮助。以下是它支持的所有开关。
usage: main.py [-h] [-d DOMAIN] [-m {quick,extensive}] [-v] [-b BIN] [-is ISERVER] [-it ITOKEN] [-acu] [-y] [-u] [-i] [--wpscan-api-token WPSCAN_API_TOKEN]
[--use-notify] [--cloud-upload] [--htb] [--fuzz] [--use-gpt] [--skip-installers]
HaxUnit - Web Domain Reconnaissance Tool
optional arguments:
-h, --help show this help message and exit
-d DOMAIN, --domain DOMAIN
the website to recon: example.com
-m {quick,extensive}, --mode {quick,extensive}
set scan mode
-v, --verbose print more information
-b BIN, --bin BIN set which python bin to use
-is ISERVER, --iserver ISERVER
interactsh server URL for self-hosted instance
-it ITOKEN, --itoken ITOKEN
authentication token for self-hosted interactsh server
-acu, --use-acunetix Enable Acunetix integration
-y, --yes yes to all prompts
-u, --update update all tools
-i, --install install all tools
--wpscan-api-token WPSCAN_API_TOKEN
The WPScan API Token to display vulnerability data
--use-notify Run notify on completion
--cloud-upload Upload results to ProjectDiscovery cloud
--htb HackTheBox mode
--fuzz Enable ffuf fuzzing
--use-gpt Enable GPT suggestions
--skip-installers Skip tool installation checks
对 example.com 进行快速扫描:
haxunit -d example.com
对 example.com 进行快速扫描,并默认对所有添加域名的提示回答 yes:
haxunit -d example.com -y
对 example.com 进行扩展扫描,使用 Acunetix 并将结果上传至 ProjectDiscovery 云:
haxunit -d example.com -m extensive --use-acunetix --cloud-upload
跳过安装检查以加快启动速度(当你确认工具已安装时):
haxunit -d example.com --skip-installers
扫描结果将保存在以下目录结构中:
scans/
└── example.com/
└── timestamp/
将 example.com 替换为目标域名,timestamp 替换为扫描执行的日期和时间。此结构按时间顺序在扫描目录下对应的域名文件夹中组织扫描结果。
此仓库包含一个示例 Apache Airflow DAG,用于自动化 HaxUnit 扫描过程。
dags 目录中。 git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example 重命名为 .env 并填写 API 密钥。ACUNETIX_THRESHOLD=30
ACUNETIX_API_KEY=
NUCLEI_API_KEY=
WPSCAN_API_KEY=
PDCP_API_KEY=
notify-config.yaml.example 重命名为 notify-config.yaml。Slack 通知的示例配置:
slack:
- id: "slack"
slack_channel: "automated-pentest"
slack_username: "HackerBot"
slack_format: "{{data}}"
slack_webhook_url: "https://hooks.slack.com/services/XXXXX"
设置 DAG:
将 dags.py.example 重命名为 dags.py,并根据需要进行配置。
别忘了使用 --use-notify 启用通知。
构建并运行 HaxUnit:
配置通知设置后,使用以下命令构建并运行 HaxUnit:
chmod +x rebuild-compose.sh && ./rebuild-compose.sh
按照这些步骤,你现在可以使用 Apache Airflow 自动化渗透测试了。享受简化后的流程!
HaxUnit 利用 Acunetix 的 REST API 实现自动化分组创建和启动扫描。
要生成 API 密钥,请访问 个人资料页面。
将 API 密钥插入 .env 文件。
ACUNETIX_API_KEY=
重新构建 docker compose 以应用更改:
./rebuild-compose.sh
要使用 Acunetix 运行 HaxUnit,请使用以下命令:
haxunit -d example.com --use-acunetix
要安装 Acunetix,请执行以下命令:
bash <(wget -qO- https://raw.githubusercontent.com/Bandit-HaxUnit/acu/main/install.sh)
这将下载并安装 Acunetix 容器。
安装完成后,你可以开始将 Acunetix 与 HaxUnit 一起使用。
Acunetix 可通过 https://localhost:3443 访问。
Username: [email protected]
Password: [email protected]
运行安装脚本:
最后,使用 --install 标志运行主脚本:
python3 main.py --install
| 功能 | 类型 | 描述 |
|---|
| dnsx_subdomains | 子域名发现 | 使用 dnsx 查找子域名并暴力枚举子域名 |
| subfinder | 子域名发现 | 使用 subfinder 查找子域名 |
| chaos | 子域名发现 | 查询 ProjectDiscovery 的 Chaos 数据库,进行被动子域名枚举 |
| subwiz | 子域名发现 | 基于机器学习的 AI 驱动子域名预测 |
| katana | 爬取 | 收集所有子域名列表上的 URL,并使用 unfurl 解析域名 |
| alterx | 子域名排列 | 生成并测试子域名排列 |
| dnsx_ips | 获取 IP 地址 | 使用 dnsx 获取 A 记录 |
| naabu | 端口扫描发现 | 使用常见端口列表对子域名列表运行 naabu,以发现 HTTP 服务 |
| httpx | 子域名验证 | 检查所有发现的子域名是否处于活动状态 |
| wpscan | 漏洞扫描器 | WordPress 安全扫描器 |
| acunetix | 漏洞扫描器 | 自动创建站点组并启动对子域名的扫描,以发现漏洞 |
| nuclei | 漏洞扫描器 | 使用所有发现的活跃子域名搜索漏洞 |