概要 • インストール • 使用方法 • HaxUnitの実行 • 機能
HaxUnitは、WebドメインのためのPythonベースの総合的な偵察およびセキュリティ評価ツールです。サブドメイン列挙、ポートスキャン、脆弱性スキャンなどのためのさまざまなツールを統合しています。
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シェルを開くには、次のコマンドを実行してください:
./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 を実行します。
必要なパッケージをインストール:
仮想環境をアクティベートした状態で、必要なパッケージをインストールします:
すべてが正しくインストールされていれば、次の出力が表示されます:
[HaxUnit] [Init] All tools are successfully installed - good luck!
インストールプロセスでは、効率的なツール管理のために pdtm (ProjectDiscovery Tool Manager) を使用し、既存のツールの再インストールを避けるためのインテリジェントなチェックが含まれています。
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 をスキャンが行われた日時に置き換えてください。
この構造により、スキャン結果が scans ディレクトリ内の該当するドメインフォルダの下に時系列で整理されます。
このリポジトリには、HaxUnitのスキャンプロセスを自動化するサンプルのApache Airflow DAGが含まれています。
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キーを生成するには、プロフィールページ にアクセスしてください。
.env ファイルにAPIキーを挿入します。
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]
python3 -m pip install -r requirements.txt
インストールスクリプトを実行:
最後に、--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 | 脆弱性スキャナー | 見つかったすべてのアクティブなサブドメインを使用して脆弱性を検索 |