PDFidをつかってpdfファイルを解析する

PDFファイル調査
 

潜む悪意を見逃すな!PDFファイルを素早く安全にスキャンするツール

PDFファイルは便利ですが、悪意のあるコードが埋め込まれている可能性もあり、セキュリティ上のリスクとなります。そこで今回は、PDFiDというツールをご紹介します。

PDFiDは、PDFファイル内の特定のキーワードをスキャンし、潜在的な脅威を素早く検出するツールです。 JavaScriptを含むPDFや、開いたときにアクションを実行するPDFなど、危険なファイルを見つけ出すことができます。

PDFiDの特長

  • 軽量でシンプルな設計
  • 高速なスキャン
  • 難読化されたファイル名にも対応
  • 疑わしいファイルのみを詳細な解析に送ることで、時間を節約

使い方

  • aptコマンドでインストールします。

    sudo apt install pdfid

  • 使い方
root@kali:~# pdfid -h
Usage: pdfid [options] [pdf-file|zip-file|url|@file] ...
Tool to test a PDF file

Arguments:
pdf-file and zip-file can be a single file, several files, and/or @file
@file: run PDFiD on each file listed in the text file specified
wildcards are supported

Source code put in the public domain by Didier Stevens, no Copyright
Use at your own risk
https://DidierStevens.com

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -s, --scan            scan the given directory
  -a, --all             display all the names
  -e, --extra           display extra data, like dates
  -f, --force           force the scan of the file, even without proper %PDF
                        header
  -d, --disarm          disable JavaScript and auto launch
  -p PLUGINS, --plugins=PLUGINS
                        plugins to load (separate plugins with a comma , ;
                        @file supported)
  -c, --csv             output csv data when using plugins
  -m MINIMUMSCORE, --minimumscore=MINIMUMSCORE
                        minimum score for plugin results output
  -v, --verbose         verbose (will also raise catched exceptions)
  -S SELECT, --select=SELECT
                        selection expression
  -n, --nozero          supress output for counts equal to zero
  -o OUTPUT, --output=OUTPUT
                        output to log file
  --pluginoptions=PLUGINOPTIONS
                        options for the plugin
  -l, --literalfilenames
                        take filenames literally, no wildcard matching
  --recursedir          Recurse directories (wildcards and here files (@...)
                        allowed)
  • 実行例
root@kali:~# pdfid /usr/share/doc/texmf/fonts/lm/lm-info.pdf
PDFiD 0.0.12 /usr/share/doc/texmf/fonts/lm/lm-info.pdf
 PDF Header: %PDF-1.4
 obj                  526
 endobj               526
 stream               151
 endstream            151
 xref                   1
 trailer                1
 startxref              1
 /Page                 26
 /Encrypt               0
 /ObjStm                0
 /JS                    0
 /JavaScript            0
 /AA                    0
 /OpenAction            0
 /AcroForm              0
 /JBIG2Decode           0
 /RichMedia             0
 /Launch                0
 /EmbeddedFile          0
 /Colors > 2^24         0

PDFiDとpdf-parser.pyの使い分け

PDFiDは、PDFファイルの迅速なトリアージに最適です。疑わしいファイルが見つかった場合は、pdf-parser.pyなどの詳細な解析ツールを使ってさらに詳しく調べることをおすすめします。

PDFiDは、セキュリティ意識の高いすべてのユーザーにおすすめのツールです。 ぜひダウンロードして、あなたの大切なデータを悪意のある攻撃から守ってください。

参考①:MalDoc in PDF - 検知回避を狙って悪性なWordファイルをPDFファイルへ埋め込む手法 -

参考②:pdfid | Kali Linux Tools