質問: pdfエクスプロイトをチェックする pdfエクスプロイトをチェックする方法はありますか?私はほとんどの場合linuxを使用していますが、windowsでもpdfを読まなければならないことがあるので、=を確認する必要があります。 pdfクリーンです。windowsではacrobatreaderを使用し、linuxではevinceを使用しています。
回答: 以下は、 remote-exploit forums のモデレーター( lupin )の投稿で、非常に役に立ちました。 悪意のあるpdfの分析に使用する方法は次のとおりです。 私はツールpdfidとpdf-parserfrom ここ 。過去にもpdftkを使用していましたが、最近はあまり役に立たなくなっています。 プロセス: pdfidを使用してpdfドキュメントを分析します。 pdfidは、pdfにjavascriptが含まれているかどうか、自動実行機能、およびページ数を示します。 javascriptと自動実行機能を備えた1ページのドキュメントは疑わしいです。 javascriptが存在する場合は、ドキュメントからjavascriptを抽出して、その目的を判断します。 javascriptがプレーンテキストに含まれている場合があります。その場合は、文字列ユーティリティを使用して抽出できます。それ以外の場合は、pdf-parserを使用して、特定のタイプのエンコードされたjavascriptを抽出できます。 悪意のあるjavascriptには、その真の目的を偽装するための難読化が含まれていることがよくあります。この難読化を取り除くために、スクリプトを少し変更してデバッグを容易にし(たとえば、evalステートメントから変数にコードを割り当てる)、rhino javascriptデバッガーを使用して、実行時にコードがどのように変換されるかを示します。 javascriptベースのpdfエクスプロイトの多くは、多くの場合、バッファオーバーフローを伴い、シェルコードは多くの場合、unicode形式です。 perlスクリプト このタイプのシェルコードをcプログラム(実際にはいくつかのラッパーコードを含むcスタイルのシェルコード)に変換するために作成しました。このプログラムは、標準のバイナリ分析手法を使用してさらに分析するためにコンパイルできます。 pdfエクスプロイトはjavascriptがなくても可能ですが、実際には、野生のもののほとんどがそれを使用しているようです。確かに私が見たものはそれを持っています。