security hobbyistのためのGoogle Hacking
はじめに
Google HackingとはGoogle検索エンジンのクエリ機能を使用して情報漏洩や脆弱性が存在するWebサイトを見つけ出すテクニックです。
Mitre AttackではReconnaissanceのSearch Open Websites/Domainsのサブテクニック(T1593.002)に該当します。
Google HackingはGoogle Dorksまたは特定の検索演算子やクエリを使用して行います。
この手法により意図せず公開してしまった機密情報や設定ファイル、ソフトウェアの管理画面などを発見することができます。
Google Dorks
Google Dorksとはデータベースのダンプ情報や認証情報などを効率的に探し出すためのテクニックやクエリのことを指します。 Exploit DatabaseにはGoogle Hackingの項目があり世界中のセキュリティ研究者や攻撃者が構築したGoogle Dorksの一覧を見ることができます。
Google Hacking Database (GHDB) - Google Dorks, OSINT, Recon
Exploit Databaseを見ればよいと考えるかもしれませんが自分で検索クエリを組み立てることができれば 状況に応じて柔軟な検索をすることができます。検索演算子を理解することはとても重要です。
Google 検索演算子
Google では検索オプションという機能があり高度な検索することができます。
また、検索フォームに検索演算子を入力することによって検索オプションページからではなくても 高度な検索を利用することができます。
以下は検索演算子の一覧です。
演算子 | 説明 |
---|---|
" " |
ダブルクォートで囲むことで、そのフレーズを完全一致で検索します。 |
- |
直前のワードを除外して検索します。 |
OR |
2つのキーワードのうちいずれかが含まれるページを検索します。大文字で入力する必要があります。 |
* |
ワイルドカードとして機能します。任意のワードやフレーズに置き換えられます。 |
.. |
2つの数字の間の範囲を指定して検索します。 |
site: |
指定したサイト内を検索します。例: site:example.com |
intitle: |
タイトルに指定したキーワードが含まれるページを検索します。 |
allintitle: |
タイトルに指定したすべてのキーワードが含まれるページを検索します。 |
inurl: |
URLに指定したキーワードが含まれるページを検索します。 |
allinurl: |
URLに指定したすべてのキーワードが含まれるページを検索します。 |
allinanchor: |
そのページへのリンク内に指定したすべてのキーワードが含まれるページを検索します。 |
intext: |
ページの本文に指定したキーワードが含まれるページを検索します。 |
allintext |
ページの本文に指定したすべてのキーワードが含まれるページを検索します。 |
filetype: |
指定したファイルタイプのドキュメントを検索します。例: filetype:pdf |
related: |
指定したURLに関連するウェブサイトを検索します。 |
info: |
指定したURLの情報やキャッシュされたバージョンへのリンクを表示します。 |
cache: |
Googleがキャッシュしたページのバージョンを表示します。 |
たとえば、ディレクトリリスティングが有効なwebサーバでrobots.txtを検索するには以下のクエリを指定します。
intitle:"index of" "robots.txt"
また、検索クエリはChatGPTで書かせることもできますが2021年9月までの情報しか学習していないため 最新の検索オプションに対応できない可能性があります。
Google検索で言語や期間を指定する。
Googleにはページの言語や検索エンジンに登録されてからの期間を指定する機能があります。この機能を使うことによって Google Hackingで古い情報や間違って表示された検索結果に振り回されないで済むようになります。
ツールを利用する
Googleのwebサイトで検索し検索結果で表示されたファイルを手動ですべてダウンロードするのは手間です。 CLI上で検索してその結果を加工したりファイルを一括でダウンロードできる方が効率が良いです。 そこでGoogle Hackingをコマンドラインベースで実行できるツール、GooFuzzを紹介します。 github.com
このツールはShell Script(bash)で実装されておりgit cloneして実行権限を付与するだけで利用することができます。
ダウンロードとインストール
$ git clone https://github.com/m3n0sd0n4ld/GooFuzz.git $ cd GooFuzz $ chmod +x GooFuzz $ ./GooFuzz -h
実行する
※テストのためターゲットはexample.comを指定しています。
:~/tool/GooFuzz$ ./GooFuzz -t example.com -e pdf,doc,bak ********************************************************* * GooFuzz 1.2.2 - The Power of Google Dorks * ********************************************************* Target: example.com Sorry, no results found for pdf. Sorry, no results found for doc. Sorry, no results found for bak.
今回はGoogle Hackingについて整理してみました。いつも検索演算子をググっていたのでこれを機にまとめられてよかったです。