Google Dorking とは
Google Dorking(または Google Hacking)とは、Google検索の高度な演算子を組み合わせて、通常の検索では見つけにくい情報を発見するOSINT手法です。設定ミスによって意図せず公開されたファイルや管理画面を見つけ出せるため、攻撃者の偵察手法として広く知られています。
重要なのは、Google Dorkingはターゲットのサーバーに一切アクセスしないという点です。検索エンジンのインデックスに対して問い合わせるだけなので、完全にパッシブな手法です。
Google Dorksは教育・セキュリティ研究・自組織のセキュリティ確認に限って使用してください。他組織の非公開情報を取得しようとする行為は、意図に関わらず不正アクセス禁止法に抵触する可能性があります。
主要な検索演算子
site: — ドメイン絞り込み
検索範囲を特定のドメインに限定します。他の演算子と組み合わせることで威力を発揮します。
site:example.com # example.com のすべてのページ site:example.com filetype:pdf # example.com の PDF ファイル site:example.com inurl:admin # example.com の /admin を含むURL
filetype: — ファイル形式の指定
特定のファイル形式だけを対象に検索します。設定ファイルや機密文書の誤公開を見つける際に有効です。
filetype:xlsx “password” # パスワードを含むExcelファイル filetype:log “error” site:example.com # ログファイル filetype:sql site:example.com # SQLファイル(DB情報漏えいリスク) filetype:env site:example.com # .env ファイル(APIキー漏えいリスク)
intitle: / inurl: — タイトルとURLの検索
ページタイトルやURL内の文字列で絞り込みます。管理画面や公開ディレクトリの発見に特に有効です。
intitle:“index of” # ディレクトリ一覧が開いているサーバー intitle:“phpMyAdmin” inurl:phpmyadmin # 公開されたphpMyAdmin inurl:“/wp-admin/” site:example.com # WordPressの管理画面
cache: / related: — その他の演算子
cache:example.com # Googleキャッシュを参照(現在は廃止済み) related:example.com # 類似サイトを発見 “confidential” filetype:pdf site:example.com # 機密PDFの発見
Googleは2024年にcache:演算子のサポートを終了しました。過去のページを確認したい場合は、Internet ArchiveのWayback Machine(web.archive.org)を代わりに使いましょう。
実践的なDorkの例
セキュリティ研究で使われる典型的なDorkパターンです(自組織の確認用)。
| 目的 | Dork例 |
|---|---|
| 公開ディレクトリ | intitle:"index of" site:example.com |
| 設定ファイル | filetype:conf OR filetype:cfg site:example.com |
| バックアップファイル | filetype:bak OR filetype:backup site:example.com |
| 公開されたCredentials | "password" filetype:txt site:example.com |
| 管理画面の発見 | inurl:(admin OR login OR dashboard) site:example.com |
| カメラ映像 | inurl:"view/index.shtml" intitle:"live view" |
Exploit-DBが管理するGoogle Hacking Databaseには、数千件のDorkパターンが公開されています。カテゴリは「Footholds」「Files Containing Passwords」「Sensitive Directories」など13種類に分類されており、自組織のセキュリティ確認に体系的に活用できます。ペネトレーションテストの偵察フェーズでは、GHDBを参照しながら対象に特化したDorkを組み立てるのが一般的な手順です。
組織側の対策
Google Dorkingで情報を発見されないための対策です。攻撃者に探される前に、自分で定期的に確認することが重要です。
robots.txt の活用
User-agent: *
Disallow: /admin/
Disallow: /config/
Disallow: /backup/
robots.txtはクローラーへの「お願い」に過ぎず、悪意のある攻撃者はこれを無視します。むしろ「Disallow: /secret-path」と記載することで、その存在を教えてしまうリスクがあります。根本的な対策はアクセス制御の徹底です。ファイルをインターネット上に置かない、置く場合は認証を設ける、という原則を守ることが最優先です。
実施すべき対策
- 定期的なDork確認: 自組織に対して主要Dorkを定期実行し、意図しない公開を早期発見する
- Webサーバーのディレクトリリスティング無効化: Apache/Nginxで
Options -Indexesを設定する - 機密ファイルの配置禁止:
.env、.git、*.sql等を公開ディレクトリに置かない - Google Search Console: Googleにインデックスされたページを定期確認し、不審なURLを削除申請する
Google Dorkで `intitle:"index of"` を使うと何が見つかりますか?