バグバウンティの偵察を行うためのBashスクリプトとDockerイメージです。ヘッドレスでの使用を想定しています。リソース消費は少なく、情報出力は豊富です。
お役に立ちましたか? BugBountyScanner でバウンティを獲得できましたか?
⚠ 注意: スクリプトの使用はVPN経由での実行を強く推奨します。
BugBountyScannerはサーバー(VPSやホームサーバー)から実行し、ターミナルからは実行しないことを推奨します。リソース消費を抑えるように設計されており、大規模なスコープでは数日間のスキャンを想定しています。スクリプトは単独で動作します。
スクリプトはDockerイメージとして、あるいはお好みのDebian/Ubuntuシステムから実行できます(下記参照)。必要なのはスクリプトを起動して、その後は忘れることだけです!スクリプトの実行時間は、ごく小規模なスコープ(サブドメイン10未満)では数分から、非常に大規模なスコープ(サブドメイン20000以上)では数日間まで様々です。'quick mode'フラグが用意されており、脆弱性特定、ポートスキャン、Webエンドポイントクローリングなどの時間のかかるタスクを省略します。
Docker Hub リンク: https://hub.docker.com/r/chvancooten/bugbountyscanner。BugBountyScanner に更新がプッシュされ、すべてのテストに合格すると、CI/CD によって :latest タグのイメージが Docker Hub にプッシュされます。
Docker Hub から Docker イメージをプルして実行するには、以下のようにします。
docker pull chvancooten/bugbountyscanner
docker run -v $(pwd):/root/bugbounty -it chvancooten/bugbountyscanner /bin/bash
Docker-Compose も使用できます。
version: "3"
services:
bugbountybox:
container_name: BugBountyBox
stdin_open: true
tty: true
image: chvancooten/bugbountyscanner:latest
environment:
- telegram_api_key=X
- telegram_chat_id=X
volumes:
- ${USERDIR}/docker/bugbountybox:/root/bugbounty
# VPN推奨 :)
network_mode: service:your_vpn_container
depends_on:
- your_vpn_container
あるいは、ソースからイメージをビルドすることもできます。
git clone https://github.com/chvancooten/BugBountyScanner.git
cd BugBountyScanner
docker build .
スクリプトを手動で実行したい場合は、以下のように行えます。
ℹ 注: このスクリプトは Ubuntu 20.04 で構築・テストされています。他のディストリビューションでは動作が異なる可能性がありますが、Kali Linux などのほとんどの Debian ベースのインストールで動作するはずです。
git clone https://github.com/chvancooten/BugBountyScanner.git
cd BugBountyScanner
cp .env.example .env # 適宜編集
chmod +x BugBountyScanner.sh setup.sh
./setup.sh -t /custom/tools/dir # セットアップは自動でトリガーされますが、手動実行も可能
./BugBountyScanner.sh --help
./BugBountyScanner.sh -d target1.com -d target2.net -t /custom/tools/dir --quick
簡易ヘルプメニューを表示するには --help または -h を使用します。
root@dockerhost:~# ./BugBountyScanner.sh -h
BugBountyHunter - Automated Bug Bounty reconnaissance script
./BugBountyScanner.sh [options]
options:
-h, --help show brief help
-t, --toolsdir tools directory (no trailing /), defaults to '/opt'
-q, --quick perform quick recon only (default: false)
-d, --domain <domain> top domain to scan, can take multiple
-o, --outputdirectory parent output directory, defaults to current directory (subfolders will be created per domain)
-w, --overwrite overwrite existing files. Skip steps with existing files if not provided (default: false)
Note: 'ToolsDir', 'telegram_api_key' and 'telegram_chat_id' can be defined in .env or through Docker environment variables.
example:
./BugBountyScanner.sh --quick -d google.com -d uber.com -t /opt
amassaquatonednsutilsffufgauGf (with Gf-Patterns)GogospiderhttpxnmapNuclei (with Nuclei-Templates)qsreplacesubjack