Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/utiso/dorkbot
OSINT (オープンソースインテリジェンス)偵察脆弱性スキャナー情報収集ウェブセキュリティペネトレーションテスト
GitHubutiso/dorkbot

dorkbot

コマンドラインツールで、Google検索結果から脆弱性をスキャンする

リポジトリを見る
5471053ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

Image of Dorkbot

dorkbot

Google(または他の)検索結果に対する脆弱性スキャンを行います。

dorkbotは、Google検索クエリやその他のサポートされているソースによって返されたWebページのセットに対して脆弱性スキャンを実行するためのモジュール式コマンドラインツールです。2つのモジュールセットで構成されています:

  • インデクサー - ターゲットのリストを返すモジュール
  • スキャナー - 各ターゲットに対して脆弱性スキャンを実行するモジュール

ターゲットはインデックス化されるとデータベースに保存されます。スキャン後、見つかった脆弱性を含む標準JSONレポートが生成されます。インデックス化とスキャンのプロセスは、別々に実行することも、単一のコマンドで組み合わせて実行することもできます(それぞれ最大1つ)。

クイックスタート

  • Developer Console から Google API 資格情報を作成します。
  • Google カスタム検索エンジン を作成し、検索エンジンID(例:012345678901234567891:abc12defg3h)をメモします。
root@kitploit:~
$ pip3 install dorkbot wapiti3
root@kitploit:~
$ dorkbot -i google_api -o key=your_api_credential_here -o engine=your_engine_id_here -o query="filetype:php inurl:id"
root@kitploit:~
$ dorkbot -s wapiti

ヘルプ

root@kitploit:~
 -h, --help            Show program (or specified module) help
root@kitploit:~
  --show-defaults       Show default values in help output

使用法

root@kitploit:~
usage: dorkbot [-c CONFIG] [-r DIRECTORY] [--source [SOURCE]]
               [--show-defaults] [--count COUNT] [--random] [-h] [--log LOG]
               [-v] [-V] [-d DATABASE] [-u] [--drop-tables]
               [--retries RETRIES] [--retry-on RETRY_ON] [--show-stats] [-l]
               [-n] [--list-sources] [--add-target TARGET]
               [--delete-target TARGET] [--flush-targets] [-m] [-e]
               [--list-sources] [--add-target TARGET]
               [--delete-target TARGET] [--flush-targets] [-m] [-e]
               [-i INDEXER] [-o INDEXER_ARG] [-s SCANNER] [-p SCANNER_ARG]
               [-t] [-x] [--mark-unscanned MARK_UNSCANNED] [-g] [-f]
               [--fingerprint-max FINGERPRINT_MAX] [--list-blocklist]
               [--add-blocklist-item ITEM] [--delete-blocklist-item ITEM]
               [--flush-blocklist] [-b EXTERNAL_BLOCKLIST]

options:
  -c, --config CONFIG   Configuration file
  -r, --directory DIRECTORY
                        Dorkbot directory (default location of db, tools,
                        reports)
  --source [SOURCE]     Label associated with targets
  --show-defaults       Show default values in help output
  -h, --help            Show program (or specified module) help
  --log LOG             Path to log file
  -v, --verbose         Enable verbose logging (can be used multiple times to
                        increase verbosity)
  -V, --version         Print version

retrieval:
  --count COUNT         number of targets to retrieve (0/unset = all)
  --random              retrieve targets in random order

database:
  -d, --database DATABASE
                        Database file/uri
  -u, --prune           Apply fingerprinting and blocklist without scanning
  --drop-tables         Delete and recreate tables
  --retries RETRIES     Number of retries when an operation fails
  --retry-on RETRY_ON   Error strings that should result in a retry (can be
                        used multiple times)
  --show-stats          Show the total/unscanned target and fingerprint counts

targets:
  -l, --list-targets    List targets in database
  -n, --unscanned-only  Only include unscanned targets
  --list-sources        List sources in database
  --add-target TARGET   Add a url to the target database
  --delete-target TARGET
                        Delete a url from the target database
  --flush-targets       Delete all targets
  -m, --delete-on-match
                        Delete target if it matches blocklist item
  -e, --delete-on-error
                        Delete target if error encountered while processing it

indexing:
  -i, --indexer INDEXER
                        Indexer module to use
  -o, --indexer-arg INDEXER_ARG
                        Pass an argument to the indexer module (can be used
                        multiple times)

scanning:
  -s, --scanner SCANNER
                        Scanner module to use
  -p, --scanner-arg SCANNER_ARG
                        Pass an argument to the scanner module (can be used
                        multiple times)
  -t, --test            Fetch next scannable target but do not mark it scanned
  -x, --reset-scanned   Reset scanned status of all targets
  --mark-unscanned MARK_UNSCANNED
                        Reset scanned status of given target

fingerprints:
  -g, --generate-fingerprints
                        Generate fingerprints for all targets
  -f, --flush-fingerprints
                        Delete all generated fingerprints
  --fingerprint-max FINGERPRINT_MAX
                        Maximum matches per fingerprint before deleting new
                        matches

blocklist:
  --list-blocklist      List internal blocklist entries
  --add-blocklist-item ITEM
                        Add an ip/host/regex pattern to the internal blocklist
  --delete-blocklist-item ITEM
                        Delete an item from the internal blocklist
  --flush-blocklist     Delete all internal blocklist items
  -b, --external-blocklist EXTERNAL_BLOCKLIST
                        Supplemental external blocklist file/db (can be used
                        multiple times)

ツール / 依存関係

データベースドライバー:

  • psycopg (pip install "psycopg[binary]") (推奨)
  • psycopg2 (pip install psycopg2-binary)

スキャナー:

  • Wapiti (pip install wapiti3)
  • Spectre Scan
  • Arachni (非推奨)

必要に応じて、dorkbotは以下の順序でツールを検索します:

  • 関連モジュールオプションで指定されたディレクトリ
  • tools ディレクトリ内(デフォルトではカレントディレクトリ内)、ツール名のサブディレクトリ
  • ユーザーのPATH上にあるもの(例:システム全体にインストールされたもの)

ファイル

すべてのSQLiteデータベース、ツール、レポートは、デフォルトではカレントディレクトリであるdorkbotディレクトリに保存されます。--directory フラグを使用して特定のディレクトリを強制できます。このディレクトリ内のデフォルトのファイルパスは以下のとおりです:

  • SQLiteデータベースファイル: dorkbot.db
  • 外部ツールディレクトリ: tools/
  • スキャンレポート出力ディレクトリ: reports/

設定ファイルは、デフォルトでは Linux / MacOS の場合は ~/.config/dorkbot/ から、Windows の場合は Application Data フォルダから読み取られ、$XDG_CONFIG_HOME / %APPDATA% を尊重します。このディレクトリ内のデフォルトのファイルパスは以下のとおりです:

  • Dorkbot設定ファイル: dorkbot.ini

設定ファイル

設定ファイル(dorkbot.ini)を使用して、特定のコマンドラインフラグを事前に入力できます。

dorkbot.ini の例:

root@kitploit:~
[dorkbot]
database=/opt/dorkbot/dorkbot.db
[dorkbot.indexers.wayback]
domain=example.com
[dorkbot.scanners.arachni]
path=/opt/arachni/bin
report_dir=/tmp/reports

データベース

ターゲットデータベースは、スキャンするURLとその取得元を保存します。各ページ+パラメータセットのフィンガープリントのリストを構築し、新しいターゲットを既存のフィンガープリントと比較することで、各URLのスキャン状況を追跡します。フィンガープリントは1回生成するだけでよく、必要に応じてオンデマンドで生成されます。フィンガープリントとスキャン状況は独立してリセットできます。

サポートされているデータベースアドレス:

  • postgresql://[接続文字列]
  • sqlite3:///path/to/sqlite_file.db
  • /path/to/sqlite_file.db
  • :memory:

SQLiteターゲットデータベースの場合、プロトコルはオプションです(外部ブロックリストでは引き続き必要です)。さらに、SQLiteのインメモリ機能を使用して、データベースアドレスに ":memory:" を指定することで、ディスクへの書き込みを完全に回避できます。

ブロックリスト

ブロックリストは、スキャンすべきでないURLパターンのIPアドレス、ホスト名、または正規表現のリストです。ターゲットURLがこのリストの項目に一致する場合、そのターゲットはスキップされ、データベースから削除されます。内部ブロックリストはdorkbotデータベース内に保持されますが、別のファイルやデータベースを --external-blocklist に適切なファイルパスまたは接続URIを渡すことで指定できます。ターゲットは最初に内部ブロックリストと照合され、次にオプションで提供された外部ブロックリストと照合されます。

サポートされている外部ブロックリスト:

  • postgresql://[接続文字列]
  • sqlite3:///path/to/blocklist.db
  • /path/to/blocklist.txt

ブロックリスト項目の例:

root@kitploit:~
regex:^[^\?]+$
regex:.*login.*
regex:^https?://[^.]*.example.com/.*
host:www.google.com
ip:127.0.0.1

最初の項目はクエスチョンマークを含まないターゲット、つまりテストするGETパラメータを含まないURLを削除します。2番目はログイン機能を回避しようとし、3番目はexample.com上のすべてのターゲットURLをブロックリストに追加します。4番目はホスト名がwww.google.comのターゲットを除外し、5番目はホストが127.0.0.1に解決されるターゲットを除外します。

プルーニング

プルーンフラグはすべてのターゲットを反復処理し、フィンガープリントを計算し、後続の一致するターゲットをスキャン済みとしてマークします。また、ブロックリストに一致するものもスキャン済みとしてマークします。結果として、--list-targets --unscanned-only を実行するとスキャン可能なURLのみが返されるデータベースになります。これは random フラグを尊重してフィンガープリントをランダムな順序で処理し、unscanned-only フラグを尊重してすでにフィンガープリントを持つスキャン済みターゲットをスキップします。ブロックリストチェックは --delete-on-match を尊重してターゲットをスキャン済みとしてマークする代わりに削除し、--delete-on-error を尊重して有効なホスト名の解析やホスト名のIPアドレスへの解決に失敗したエントリを削除します。

一般オプション

これらのオプションは、選択したモジュールに関係なく適用されます:

root@kitploit:~
  --source [SOURCE]     Label associated with targets
  --count COUNT         number of urls to retrieve/scan, or -1 for all
  --random              retrieve urls in random order

さらに、ブロックリスト関連のオプション --delete-on-match / --delete-on-error により、一致するターゲットやエラーのあるターゲットがスキップされます。

インデクサーモジュール

一般オプション

root@kitploit:~
  http-retries RETRIES     number of times to retry fetching results on error
  threads THREADS          number of concurrent requests to commoncrawl.org

bing_api

root@kitploit:~
  Searches bing.com

  key KEY             API key
  query QUERY         search query

commoncrawl

root@kitploit:~
  Searches commoncrawl.org crawl data

  domain DOMAIN       pull all results for given domain or subdomain
  index INDEX         search a specific index
  filter FILTER       query filter to apply to the search
  page-size PAGE_SIZE number of results to request per page

google_api

root@kitploit:~
  Searches google.com

  key KEY             API key
  engine ENGINE       CSE id
  query QUERY         search query
  domain DOMAIN       limit searches to specified domain

pywb

root@kitploit:~
  Searches a given pywb server's crawl data

  server SERVER       pywb server url
  domain DOMAIN       pull all results for given domain or subdomain
  cdx-api-suffix CDX_API_SUFFIX
                      suffix after index for index api
  index INDEX         search a specific index
  field FIELD         field (fl) to query
  filter FILTER       query filter to apply to the search
  page-size PAGE_SIZE
                      number of results to request per page

stdin

root@kitploit:~
  Accepts urls from stdin, one per line

wayback

root@kitploit:~
  Searches archive.org crawl data

  domain DOMAIN       pull all results for given domain or subdomain
  filter FILTER       query filter to apply to the search
  page-size PAGE_SIZE number of results to request per page
  from FROM           beginning timestamp
  to TO               end timestamp

スキャナモジュール

一般オプション

root@kitploit:~
  args ARGS           space-delimited list of additional arguments
  report-dir REPORT_DIR
                      directory to save report file
  report-filename REPORT_FILENAME
                      filename to save vulnerability report as
  report-append       append to report file if it exists
  report-indent REPORT_INDENT
                      indent level for vulnerability report json
  label LABEL         friendly name field to include in vulnerability report

arachni

root@kitploit:~
  Scans with the arachni command-line scanner

  path PATH           path to scanner binary

scnr

root@kitploit:~
  Scans with the scnr command-line scanner

  path PATH           path to scanner binary

wapiti

root@kitploit:~
  Scans with the wapiti command-line scanner

  path PATH           path to scanner binary
ツールをダウンロード
dorkbot — コマンドラインツールで、Google検索結果から脆弱性をスキャンする | Kitploit