ハッカーはmetagoofilを利用してウェブ上からメタデータを収集し解析します(Kali Linuxツール説明)

ホワイトハッカーの知識

ドメイン情報を収集する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は情報漏洩を防ぐための重要なツールですが、使用時は必ず合法的かつ倫理的に行動する必要があります。