ホワイトハッカーの知識
ドメイン情報を収集するmetagoofilのツールを理解するためにまとめてみました。
このmetagoofilの動作確認は自分のドメインでテストを行っています。
metagoofilとは
Metagoofilは情報収集ツールです。
特定のドメインのウェブサイトで公開されているメタデータを収集するために使用されます。
主に、企業や組織がオンラインで公開しているドキュメント(PDF、Word、Excel、PowerPointなど)に含まれるメタデータを抽出し、その中に隠れている内部の情報、例えば、作成者の名前、ソフトウェアのバージョン、フォルダ構造などを特定することを目的としています。
機能
1.メタデータの抽出
ファイルに埋め込まれている情報(例:作成者、使用ソフトウェア、内部パス)。
2.ダウンロード可能なドキュメントの検索
指定したドメインから特定のファイル形式(PDF、DOCX、XLSXなど)のドキュメントを検索してダウンロード。
3.内部情報の特定
例えば、社内のユーザー名、ネットワーク構造、利用中のソフトウェアなど、攻撃者にとって有用な情報を収集。
ツールの場所
1.検索窓から「metagoofil」を検索して見つからない場合は
2.画面上部メニューより、「Terminal Emulator」から「Root Terminal Emulator」を選択します。
3.Authenticate画面で、Kali Linuxのパスワード"kali"を入力して「Authenticate」ボタンを押下します。
4.Root Terminal Emulatorが立ち上がりました。
“metagoofil"と入力して、Enterボタンを押下します。
5.以下の応答が帰ってくるので"y"( インストール)ボタンを押下します。
Command 'metagoofil’ not found, but can be installed with:
apt install metagoofil
Do you want to install it? (N/y)
※ここで、「Error:Unable to locate package metagoofil」と表示された場合は
Kali Linuxをアップデートして、その後アップグレートしてください。
#apt update
#apt full-upgrade -y
アップグレート後、"metagoofil"と入力して、Enterボタンを押下します。
6.metagoofilがインストールされました。
7."metagoofil -h"を実行します。
ツールと使用方法
metagoofil.py [-h] -d DOMAIN [-e DELAY] [-f [SAVE_FILE]] [-i URL_TIMEOUT]
[-l SEARCH_MAX] [-n DOWNLOAD_FILE_LIMIT] [-o SAVE_DIRECTORY]
[-r NUMBER_OF_THREADS] -t FILE_TYPES [-u [USER_AGENT]] [-w]
※ホワイトハッカーは、metagoofilの出力結果を基に、以下のリスクを特定します。
1.ユーザー名や内部情報の露出
メタデータに含まれるユーザー名やフォルダパスは、攻撃者がブルートフォース攻撃やパスワードスプレー攻撃を行うための材料になる可能性があります。
2.ソフトウェアのバージョン情報
使用中のソフトウェアが古い場合、既知の脆弱性(例:CVE情報)が存在しないかを確認します。
3.内部構造の情報
ファイルパスやネットワーク情報が漏洩していれば、攻撃者が内部ネットワークの構造を推測しやすくなります。
オプション(options)
-h, –help
show this help message and exit.
このヘルプメッセージを表示して終了する。
-d DOMAIN
Domain to search.
検索するドメイン。
-e DELAY
Delay (in seconds) between searches. If it’s too small Google may block your IP, too big and your search may take a while. Default: 30.0
検索間の遅延(秒)。小さすぎるとGoogleはあなたのIPをブロックするかもしれませんし、大きすぎると検索に時間がかかるかもしれません。デフォルト:30.0
-f [SAVE_FILE]
Save the html links to a file.
no -f = Do not save links
-f = Save links to html_links_<TIMESTAMP>.txt
-f SAVE_FILE = Save links to SAVE_FILE
htmlリンクをファイルに保存する。
no -f = リンクを保存しない
-f = html_links_<TIMESTAMP>.txtにリンクを保存する。
-f SAVE_FILE = リンクをSAVE_FILEに保存する
-i URL_TIMEOUT
Number of seconds to wait before timeout for unreachable/stale pages. Default: 15
到達不能/ステイル・ページのタイムアウトまでの待機秒数。デフォルト:15
-l SEARCH_MAX
Maximum results to search. Default: 100
検索結果の最大数。デフォルト:100
-n DOWNLOAD_FILE_LIMIT
Maximum number of files to download per filetype. Default: 100
ファイルタイプごとのダウンロードするファイルの最大数。デフォルト:100
-o SAVE_DIRECTORY
Directory to save downloaded files. Default is current working directory, “."
ダウンロードしたファイルを保存するディレクトリ。デフォルトは現在の作業ディレクトリ “."。
-r NUMBER_OF_THREADS
Number of downloader threads. Default: 8
ダウンローダーのスレッド数。デフォルト:8
-t FILE_TYPES
file_types to download (pdf,doc,xls,ppt,odp,ods,docx,xlsx,pptx). To search all 17,576 three-letter file extensions, type “ALL"
ダウンロードするファイルタイプ(pdf,doc,xls,ppt,odp,ods,docx,xlsx,pptx)。17,576の3文字のファイル拡張子すべてを検索するには、「ALL」とタイプする。
-u [USER_AGENT]
User-Agent for file retrieval against -d domain.
no -u = “Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
-u = Randomize User-Agent
-u “My custom user agent 2.0" = Your customized User-Agent
ドメインに対するファイル検索用のユーザーエージェント。
no -u = “Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)」
-u = ユーザーエージェントのランダム化
-u 「My custom user agent 2.0」 = カスタマイズしたユーザーエージェント
-w
Download the files, instead of just viewing search results.
検索結果を見るだけでなく、ファイルをダウンロードする。
metagoofilのまとめ
Metagoofil は、指定したドメインから公開ドキュメント(PDF、Word、Excelなど)を収集し、そのメタデータを解析します。
メタデータには、作成者名、使用ソフトウェア、内部フォルダパスなどが含まれ、攻撃者が内部情報を推測する材料になる可能性があります。
主にセキュリティテストの情報収集フェーズで使用され、ホワイトハッカーは出力結果を基に公開範囲の適切性を検証し、リスク低減を提案します。
Metagoofilは情報漏洩を防ぐための重要なツールですが、使用時は必ず合法的かつ倫理的に行動する必要があります。