
Google 内で PDF を検索し、PDF メタデータを抽出するためのツール
このツールは、恐竜が地球を歩き回っていた時代に使われていたツールの生まれ変わりです。 基本的にはPDFファイルのメタデータを解析します。PDFファイルを指定して、ファイルまたはディレクトリを対象にできます。 PDFのURLを指定することもできますし、統合されたGoogle検索(mario vilas氏のクラスに感謝)を使って対象サイトのPDFを検索し、ダウンロードして解析することもできます。
これはPDFの作成に使われたソフトウェアと、そのPDFがクリーンアップされているかどうかによります。 ただし、一般的には以下のものが取得できます:
その他にもいろいろあります :)
まあ、これはいろいろな用途に使えます。ただし、ここではセキュリティ部分にだけ焦点を当てます。 対象によって、以下の情報が得られます:
まったくそんなことはありません。メタデータは他のデータと同じように、単にファイルに書き込まれるだけだという点に注意してください。つまり、アップロード前に変更され得るということです。とはいえ、実際にその種のデータを変更している企業の割合はおそらく20%程度です。また、空だったり似たような状態であれば、それも認識できます。
.txtなどの単純なファイルタイプを超える複雑なファイルタイプは、利便性やカスタマーサポート、または使用されたことを広めるためだけにメタデータを使用しています。 画像、ドキュメント、動画、音楽など、さまざまな種類のファイルのメタデータに関する情報はオンラインに豊富にあります。このツールはPDFのみに焦点を当てています。 この用語に馴染みがない場合は、こちらをご覧ください:
また、実際のPDF解析に興味がある場合、このツールは基本処理のみを行います。悪意のあるファイル、マルウェア、あるいは興味深いファイルを解析するために書かれたものではありません。その目的は、対象xyzで何が使われているかの手掛かりを与えることです。 より詳細な解析をお探しなら、Didier Stevens氏のツールをお勧めします:
git clone https://github.com/c0decave/pdfgrab
cd pdfgrab
python3 pdfgrab.py -h
主なオプションは次のとおりです:
# ./pdfgrab.py -u https://www.kernel.org/doc/mirror/ols2004v2.pdf
結果:
[+] Grabbing https://www.kernel.org/doc/mirror/ols2004v2.pdf
[+] Written 3893173 bytes for File: pdfgrab/ols2004v2.pdf
[+] Opening pdfgrab/ols2004v2.pdf
--------------------------------------------------------------------------------
File: pdfgrab/ols2004v2.pdf
/Producer pdfTeX-0.14h
/Creator TeX
/CreationDate D:20040714015300
--------------------------------------------------------------------------------
# ./pdfgrab.py -f pdfgrab/ols2004v2.pdf
結果:
[+] Parsing pdfgrab/ols2004v2.pdf
[+] Opening pdfgrab/ols2004v2.pdf
--------------------------------------------------------------------------------
File: pdfgrab/ols2004v2.pdf
/Producer pdfTeX-0.14h
/Creator TeX
/CreationDate D:20040714015300
--------------------------------------------------------------------------------
./pdfgrab.py -F pdfgrab/
そのディレクトリ内のすべてのPDFを解析します。
# ./pdfgrab.py -s kernel.org
結果:
[+] Seek and analysing site:kernel.org
http://vger.kernel.org/lpc_bpf2018_talks/bpf_global_data_and_static_keys.pdf
http://vger.kernel.org/netconf2018_files/JiriPirko_netconf2018.pdf
http://vger.kernel.org/netconf2018_files/PaoloAbeni_netconf2018.pdf
http://vger.kernel.org/lpc_net2018_talks/LPC_XDP_Shirokov_paper_v1.pdf
http://vger.kernel.org/netconf2018_files/FlorianFainelli_netconf2018.pdf
http://vger.kernel.org/lpc_net2018_talks/tc_sw_paper.pdf
https://www.kernel.org/doc/mirror/ols2009.pdf
https://www.kernel.org/doc/mirror/ols2004v2.pdf
http://vger.kernel.org/lpc_net2018_talks/ktls_bpf.pdf
http://vger.kernel.org/lpc_net2018_talks/ktls_bpf_paper.pdf
[+] Written 211391 bytes for File: pdfgrab/bpf_global_data_and_static_keys.pdf
[+] Opening pdfgrab/bpf_global_data_and_static_keys.pdf
--------------------------------------------------------------------------------
File: pdfgrab/bpf_global_data_and_static_keys.pdf
/Author
/Title
/Subject
/Creator LaTeX with Beamer class version 3.36
/Producer pdfTeX-1.40.17
/Keywords
/CreationDate D:20181102231821+01'00'
/ModDate D:20181102231821+01'00'
/Trapped /False
/PTEX.Fullbanner This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2
# ./pdfgrab.py -s example.com,example.us
pdfgrabは情報をさまざまな形式で出力します。レポート関連フラグ(-hを参照)のいずれかで無効にしない限り、出力ディレクトリに次のものが生成されます:
pdfgrabは実行ディレクトリに "pdfgrab.log" というログファイルを作成します。
楽しんでください!