BBOTとは?
BBOT(Bighuge BLS OSINT Tool) は、Black Lantern Security社がオープンソースで開発している、モジュール型のOSINT自動化フレームワークです。
Spiderfootの思想を受け継ぎつつ、速度・拡張性・CLIの使いやすさの面で現代的な設計に進化しています。コマンド一つで、サブドメイン調査からIP特定、ポートスキャン、メールアドレスの漏洩チェックまでを全自動で実行できます。
- GitHub: blacklanternsecurity/bbot
- インスパイア元: Spiderfootの思想を受け継ぎつつ、より現代的な設計(速度・拡張性・CLIの使いやすさ)に進化
なぜBBOTなのか? 3つの強み
1. 再帰的な自動深掘り
収集したデータを「次のスキャンのトリガー」として自動的に使い回すのがBBOTの最大の特徴です。
ターゲットドメイン
→ サブドメイン探索(外部DBから自動収集)
→ DNSマッピング(IPアドレスの特定)
→ ポートスキャン(開放ポート・サービス検出)
→ フィンガープリント(技術スタック・脆弱性の特定)
サブドメインを見つけたらそのIPを調べ、ポートをスキャンし、技術スタックを特定する——という一連の流れを、人の手を借りずに自動実行します。
2. 100種類以上のモジュール
DNS、Shodan、VirusTotal、GitHub、URLScanなど、OSINTでよく使われる外部サービスとの連携モジュールが標準搭載されています。無料のAPIキーを設定するだけで、調査の深さが一気に増します。
3. 高速処理(Python / Asyncio)
内部はPythonの非同期処理(Asyncio)で実装されており、非常に高速に動作します。CLIの出力が見やすく、Neo4jなどの外部ツールとの連携も標準サポートされています。
クイックスタート
インストール
pip install bbot
基本的な使い方
パッシブスキャン(サブドメイン調査)
bbot -t example.com -m subdomain-enum
-
-t: ターゲット(ドメイン・IP・ネットワーク帯など) -
-m: 使用するモジュールまたはモジュールグループ
フルスキャン(アクティブ調査を含む)
bbot -t example.com -f subdomain-enum portscan web -o my_scan_result
⚠️ 注意: アクティブスキャン(ポートスキャン等)は必ず自身が管理するドメイン、または許可を得たターゲットに対してのみ実行してください。
主なユースケースと対応コマンド
| ユースケース | コマンド例 | 概要 |
|---|---|---|
| パッシブ調査 | bbot -t target.com -m subdomain-enum |
外部DBから情報収集(ノーノイズ) |
| アタックサーフェス把握 | bbot -t target.com -f subdomain-enum portscan |
サブドメイン発見→ポート確認まで一気通貫 |
| クラウド資産の洗い出し | bbot -t target.com -m cloud_enum |
S3バケットやAzureストレージの公開漏洩を調査 |
結果の可視化
スキャン結果はテキスト、JSON、CSVに加え、Neo4j(グラフDB)形式でも出力可能です。
収集した大量のドメインやIPの繋がりを視覚的に分析できるため、以下のような用途に活用できます。
- 自社の資産管理(ASM)レポート作成
- レッドチームのオペレーション記録
- シャドーITの可視化
まとめ
これまで複数のツールをシェルスクリプトで組み合わせて実現していた偵察フェーズが、BBOTの登場によって「一撃」で完結するようになりました。
- ブルーチーム(防御側): 攻撃者より先に自社の公開資産・シャドーITを把握できる
- レッドチーム(攻撃側): 偵察フェーズ(Reconnaissance)を大幅に短縮できる
オープンソースで活発に開発が続いているので、ぜひ自分のラボ環境で試してみてください。