gowitnessサブドメインの列挙、ポート スキャン、Web スクリーンショット (モジュールを使用)、脆弱性スキャン (を使用) など、OSINT プロセス全体を 1 つのコマンドで実行でき
nucleiます。
BBOT には現在50 以上のモジュールがあり、その数は増え続けています。
pipx install bbot
前提条件:
pipx
pip独自の Python 環境に BBOT をインストールするため、代替として推奨されます。
インストールに関してヘルプが必要な場合は、wikiを参照してください。
httpxモジュールは、BBOT が Web ページにアクセスするために使用するため、ほとんどのスキャンで推奨されます。詳細については、wikiを参照してください。
# list modules
bbot -l
# subdomain enumeration
bbot --flags subdomain-enum --modules naabu httpx --targets evilcorp.com
# passive modules only
bbot --flags passive --targets evilcorp.com
# web screenshots with gowitness
bbot -m naabu httpx gowitness --name my_scan --output-dir . -t evilcorp.com 1.2.3.4/28 4.3.2.1 targets.txt
# web spider (search for emails, etc.)
bbot -m httpx -c web_spider_distance=2 web_spider_depth=2 -t www.evilcorp.com
from bbot.scanner import Scanner
scan = Scanner("evilcorp.com", "1.2.3.0/24", modules=["naabu"], output_modules=["json"])
scan.start()
BBOT はデフォルトで STDOUT に出力しますが、同時に複数の形式で出力できます ( を使用
--output-module)。
# tee to a file
bbot -f subdomain-enum -t evilcorp.com | tee evilcorp.txt
# output to JSON
bbot --output-module json -f subdomain-enum -t evilcorp.com | jq
# output to CSV, TXT, and JSON, in current directory
bbot -o . --output-module human csv json -f subdomain-enum -t evilcorp.com
スキャンごとに、BBOT は のようなユニークでやや面白い名前を生成し
fuzzy_gandalfます。ワード クラウドや gowitness のスクリーンショットなどを含む、そのスキャンの出力は、 のその名前のフォルダーに保存されます
~/.bbot/scans。最新の 20 件のスキャンが保持され、古いスキャンは削除されます。で BBOT の出力の場所を変更できます。
--outputまた、 でカスタム スキャン名を選択することもできます
--name。
スキャン名を再利用すると、元の出力ファイルに追加され、以前のワード クラウドが活用されます。
Neo4j は、BBOT データを表示および操作するための最も楽しい (そして最も美しい) 方法です。
docker run -p 7687:7687 -p 7474:7474 --env NEO4J_AUTH=neo4j/bbotislife neo4j
--output-modules neo4j
bbot -f subdomain-enum -t evilcorp.com --output-modules human neo4j
$ bbot --help usage: bbot [-h] [-t TARGET [TARGET ...]] [-w WHITELIST [WHITELIST ...]] [-b BLACKLIST [BLACKLIST ...]] [-s] [-n SCAN_NAME] [-m MODULE [MODULE ...]] [-l] [-em MODULE [MODULE ...]] [-f FLAG [FLAG ...]] [-rf FLAG [FLAG ...]] [-ef FLAG [FLAG ...]] [-om MODULE [MODULE ...]] [-o DIR] [-c [CONFIG ...]] [--allow-deadly] [-v] [-d] [--force] [-y] [--dry-run] [--current-config] [--save-wordcloud FILE] [--load-wordcloud FILE] [--no-deps | --force-deps | --retry-deps | --ignore-failed-deps] [-a] Bighuge BLS OSINT Tool options: -h, --help show this help message and exit -n SCAN_NAME, --name SCAN_NAME Name of scan (default: random) -m MODULE [MODULE ...], --modules MODULE [MODULE ...] Modules to enable. Choices: affiliates,asn,aspnet_viewstate,azure_tenant,binaryedge,blind_ssrf,bypass403,c99,censys,certspotter,cookie_brute,crobat,crt,dnscommonsrv,dnsdumpster,dnszonetransfer,emailformat,ffuf,ffuf_shortnames,generic_ssrf,getparam_brute,github,gowitness,hackertarget,header_brute,host_header,httpx,hunt,hunterio,iis_shortnames,ipneighbor,leakix,massdns,naabu,ntlm,nuclei,passivetotal,pgp,securitytrails,shodan_dns,skymem,smuggler,sslcert,sublist3r,telerik,threatminer,urlscan,viewdns,wappalyzer,wayback,zoomeye -l, --list-modules List available modules. -em MODULE [MODULE ...], --exclude-modules MODULE [MODULE ...] Exclude these modules. -f FLAG [FLAG ...], --flags FLAG [FLAG ...] Enable modules by flag. Choices: active,aggressive,brute-force,deadly,passive,portscan,report,safe,slow,subdomain-enum,web -rf FLAG [FLAG ...], --require-flags FLAG [FLAG ...] Disable modules that don't have these flags (e.g. --require-flags passive) -ef FLAG [FLAG ...], --exclude-flags FLAG [FLAG ...] Disable modules with these flags. (e.g. --exclude-flags brute-force) -om MODULE [MODULE ...], --output-modules MODULE [MODULE ...] Output module(s). Choices: csv,http,human,json,neo4j,websocket -o DIR, --output-dir DIR -c [CONFIG ...], --config [CONFIG ...] custom config file, or configuration options in key=value format: 'modules.shodan.api_key=1234' --allow-deadly Enable running modules tagged as "deadly" -v, --verbose Be more verbose -d, --debug Enable debugging --force Run scan even if module setups fail -y, --yes Skip scan confirmation prompt --dry-run Abort before executing scan --current-config Show current config in YAML format Target: -t TARGET [TARGET ...], --targets TARGET [TARGET ...] Targets to seed the scan -w WHITELIST [WHITELIST ...], --whitelist WHITELIST [WHITELIST ...] What's considered in-scope (by default it's the same as --targets) -b BLACKLIST [BLACKLIST ...], --blacklist BLACKLIST [BLACKLIST ...] Don't touch these things -s, --strict-scope Don't consider subdomains of target/whitelist to be in-scope Word cloud: Save/load wordlist of common words gathered during a scan --save-wordcloud FILE Output wordcloud to custom file when the scan completes --load-wordcloud FILE Load wordcloud from a custom file Module dependencies: Control how modules install their dependencies --no-deps Don't install module dependencies --force-deps Force install all module dependencies --retry-deps Try again to install failed module dependencies --ignore-failed-deps Run modules even if they have failed dependencies Agent: Report back to a central server -a, --agent-mode Start in agent mode
BBOT は、次の順序でこれらの場所から構成をロードします。
~/.config/bbot/defaults.yml
~/.config/bbot/bbot.yml<-- これをメイン構成として使用します
~/.config/bbot/secrets.yml<-- API キーなどの機密情報にはこれを使用します
--config)
コマンドライン引数は、他のすべての引数よりも優先されます。
--config myconf.yml、または次のような個々の引数を使用して、 BBOT にカスタム構成ファイルを指定できます
--config http_proxy=http://127.0.0.1:8080 modules.shodan_dns.api_key=1234。コマンドライン引数を含む完全かつ現在の BBOT 構成を表示するには、 を使用します
bbot --current-config。
構成オプションの説明については、
defaults.ymlまたはwikiを参照してください。
モジュール | API キーが必要 | 説明 | フラグ | プロデュースイベント |
---|---|---|---|---|
aspnet_viewstate | Web ページのビューステートを解析し、blacklist3r と照合します | アクティブ、安全、ウェブ | 脆弱性 | |
バイパス403 | 一般的なバイパスについては、403 ページを確認してください | アクティブ、アグレッシブ、ウェブ | 見つける | |
cookie_brute | 一般的な HTTP Cookie パラメーターを確認する | アクティブ、アグレッシブ、ブルート フォース、低速、ウェブ | 見つける | |
dnszonetransfer | DNS ゾーン転送を試みる | アクティブ、安全、サブドメイン列挙 | DNS_NAME | |
フフフ | Go で書かれた高速な Web ファザー | アクティブ、アグレッシブ、ブルート フォース、致命的、ウェブ | URL | |
ffuf_shortnames | ffuf を IIS 短縮名と組み合わせて使用する | アクティブ、アグレッシブ、ブルート フォース、Web | URL | |
generic_ssrf | 一般的な SSRF を確認する | アクティブ、アグレッシブ、ウェブ | 脆弱性 | |
getparam_brute | 一般的な HTTP GET パラメータを確認する | アクティブ、アグレッシブ、ブルート フォース、低速、ウェブ | 見つける | |
証人 | ウェブページのスクリーンショットを撮る | アクティブ、安全、ウェブ | スクリーンショット | |
header_brute | 一般的な HTTP ヘッダー パラメータを確認する | アクティブ、アグレッシブ、ブルート フォース、低速、ウェブ | 見つける | |
ホスト_ヘッダー | 一般的な HTTP ホスト ヘッダー スプーフィング手法を試す | アクティブ、アグレッシブ、ウェブ | 見つける | |
httpx | Web ページにアクセスします。他の多くのモジュールは httpx に依存しています | アクティブ、安全、ウェブ | HTTP_RESPONSE,URL | |
ハント | 一般的に悪用可能な HTTP パラメータに注意する | アクティブ、安全、ウェブ | 見つける | |
iis_shortnames | IIS 短縮名の脆弱性を確認する | アクティブ、安全 | URL_HINT | |
ナーブ | naabu でポートスキャンを実行する | アクティブ、アグレッシブ、ポートスキャン | OPEN_TCP_PORT | |
ntlm | NTLM 認証をサポートする HTTP エンドポイントを監視する | アクティブ、安全、ウェブ | DNS_NAME、検索中 | |
核 | 高速でカスタマイズ可能な脆弱性スキャナー | アクティブ、アグレッシブ、致命的、ウェブ | 脆弱性 | |
密輸業者 | HTTP スマグリングのチェック | アクティブ、アグレッシブ、ブルート フォース、低速、ウェブ | 見つける | |
SSL証明書 | 開いているポートにアクセスして SSL 証明書を取得する | アクティブ、電子メール列挙、安全、サブドメイン列挙 | DNS_NAME、EMAIL_ADDRESS | |
テレリク | Telerik の重大な脆弱性をスキャン | アクティブ、アグレッシブ、ウェブ | 発見、脆弱性 | |
仮想ホスト | 仮想ホストのファズ | アクティブ、アグレッシブ、ブルートフォース、致命的、遅い、ウェブ | DNS_NAME、VHOST | |
ワッパライザー | Web レスポンスからテクノロジーを抽出する | アクティブ、安全、ウェブ | テクノロジー | |
アフィリエイト | スキャンの最後にアフィリエイト ドメインを要約する | パッシブ、レポート、セーフ | ||
asn | ASN の bgpview.io を照会します | パッシブ、レポート、安全、サブドメイン列挙 | ASN | |
azure_tenant | テナントの姉妹ドメインについて Azure にクエリを実行する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME | |
バイナリエッジ | バツ | BinaryEdge API を照会する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME,EMAIL_ADDRESS,IP_ADDRESS,OPEN_PORT,PROTOCOL |
c99 | バツ | サブドメインの C99 API を照会する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME |
センシス | バツ | Censys API を照会する | 電子メール列挙、パッシブ、安全、サブドメイン列挙 | DNS_NAME,EMAIL_ADDRESS,IP_ADDRESS,OPEN_PORT,PROTOCOL |
証明書スポッター | サブドメインについて Certspotter の API を照会する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME | |
クロバット | Project Crobat にサブドメインを問い合わせる | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME | |
クロム | サブドメインの crt.sh (証明書の透過性) をクエリします。 | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME | |
dnscommonsrv | 一般的な SRV レコードを確認する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME | |
dnsdumpster | サブドメインの dnsdumpster を照会する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME | |
メール形式 | email-format.com にメール アドレスを問い合わせる | 電子メール列挙型、パッシブ、セーフ | 電子メールアドレス | |
ギットハブ | バツ | 関連するリポジトリについて Github の API を照会する | パッシブ、セーフ、サブドメイン列挙 | URL_UNVERIFIED |
ハッカーターゲット | サブドメインの hackertarget.com API を照会する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME | |
ハンテリオ | バツ | Hunter.io にクエリを送信してメールを取得する | 電子メール列挙、パッシブ、安全、サブドメイン列挙 | DNS_NAME、EMAIL_ADDRESS、URL_UNVERIFIED |
ipneighbor | 周囲のサブネット内の IP の横を見る | アグレッシブ、パッシブ、サブドメイン列挙型 | IPアドレス | |
リーキックス | サブドメインについては、leakix.net にクエリを実行します。 | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME | |
Massdns | massdns を使用した力ずくのサブドメイン (非常に効果的) | アグレッシブ、ブルート フォース、パッシブ、スロー、サブドメイン列挙型 | DNS_NAME | |
パッシブトータル | バツ | サブドメインの PassiveTotal API を照会する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME |
pgp | 一般的な PGP サーバーにメール アドレスを問い合わせる | 電子メール列挙型、パッシブ、セーフ | 電子メールアドレス | |
セキュリティトレイル | バツ | サブドメインの SecurityTrails API を照会する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME |
shodan_dns | バツ | サブドメインのShodanをクエリ | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME |
スカイメム | skymem.info にメールアドレスを問い合わせる | 電子メール列挙型、パッシブ、セーフ | 電子メールアドレス | |
sublist3r | サブドメインについて sublist3r の API を照会する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME | |
脅威マイナー | サブドメインの脅威マイナーの API を照会する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME | |
URLスキャン | サブドメインの urlscan.io を照会する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME、URL_UNVERIFIED | |
ビューDNS | 関連ドメインのviewdns.infoの逆whoisを照会する | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME | |
帰り道 | サブドメインについては、archive.org の API をクエリします。 | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME、URL_UNVERIFIED | |
ズームアイ | バツ | ZoomEye の API にサブドメインを問い合わせる | パッシブ、セーフ、サブドメイン列挙 | DNS_NAME |