#!

路上に就職!

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 では検索オプションという機能があり高度な検索することができます。

www.google.com

また、検索フォームに検索演算子を入力することによって検索オプションページからではなくても 高度な検索を利用することができます。

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月までの情報しか学習していないため 最新の検索オプションに対応できない可能性があります。

chatgptで検索クエリを作成する

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について整理してみました。いつも検索演算子をググっていたのでこれを機にまとめられてよかったです。