Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
malicious-pdf — ペネトレーションテスト、バグ報奨金ハンティング、レッドチーミング用の悪意のあるPDFテストファイルを生成します。PDFビューア、コンバーター、WebアプリケーションにおけるSSRF、XSS、XXE、NTLM資格情報の窃取、およびデータ外部送信をテストします。Burp CollaboratorおよびInteract.shと統合します。 | Kitploit
ツール/GitHubGitHub/jonaslejon/malicious-pdf
フィッシングツール脆弱性スキャナーペイロード生成エクスプロイトウェブアプリケーション悪用データ流出ペネトレーションテスト学習と教育レッドチーミング
GitHubjonaslejon/malicious-pdf

malicious-pdf

ペネトレーションテスト、バグ報奨金ハンティング、レッドチーミング用の悪意のあるPDFテストファイルを生成します。PDFビューア、コンバーター、WebアプリケーションにおけるSSRF、XSS、XXE、NTLM資格情報の窃取、およびデータ外部送信をテストします。Burp CollaboratorおよびInteract.shと統合します。

4.1k5462ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る

malicious-pdf.png

made-with-python OpenSSF Best Practices

悪意のあるPDFジェネレーター ☠️

PDFビューア、変換ツール、Webアプリケーションにおけるphone-homeコールバック、SSRF、XSS、XXE、NTLM資格情報の窃取、データ外部送信をテストするための、67個の悪意のあるPDFテストファイルを生成します。Burp Collaborator または Interact.sh と一緒に使用できます。

ペネトレーションテスト、バグバウンティハンティング、レッドチーミングなどに使用されます。さまざまなリンクを含む多数のPDFファイルを生成するツールが必要だったため、このツールを作成しました。教育目的および専門的な目的にのみ使用してください。

使用方法```

pip install -r requirements.txt python3 malicious-pdf.py burp-collaborator-url

root@kitploit:~
出力は `output/` ディレクトリに test1.pdf、test2.pdf、test3.pdf などとして書き込まれます。

### オプション```
--output-dir DIR    Directory to save generated PDF files (default: output/)
--no-credit         Do not embed credit/attribution metadata in generated PDFs
--obfuscate LEVEL   Obfuscation level (0-3):
                      0 = None (default)
                      1 = PDF name hex encoding + string octal/hex encoding
                      2 = Level 1 + JS bracket notation + javascript: URI case/whitespace obfuscation
                      3 = Level 2 + FlateDecode stream compression

難読化の例:``` python3 malicious-pdf.py https://your-interact-sh-url --obfuscate 2

root@kitploit:~
最大限の難読化(レベル4はJSペイロードをbase64デコーダスタブでラップするため、元のAPI呼び出しがリテラル文字列として現れることはありません):```
python3 malicious-pdf.py https://your-interact-sh-url --obfuscate 4

目的

  • PDFファイルを受け付けるWebページ/サービスをテスト
  • セキュリティ製品をテスト
  • PDFリーダーをテスト
  • PDFコンバーターをテスト
  • サーバーサイドPDF処理ライブラリ(PDFBox、iTextなど)をテスト
  • PDF静的解析ツールをテスト — 段階的なJSペイロード(フォームフィールドの /V、Base64デコーダー)は単純な /JS 正規表現スキャナーを無効化する
  • バグバウンティハンティング — PDF入力を受け付けるプログラムのファイルアップロードエンドポイント、PDFから画像への変換処理、文書処理パイプラインにおけるSSRF、XXE、ブラインドコールバック、NTLM漏洩の発見に有用

クレジット

  • Insecure features in PDFs
  • Burp Suite UploadScanner
  • Bad-Pdf
  • A Curious Exploration of Malicious PDF Documents
  • "Portable Document Flaws 101" talk at Black Hat USA 2020
  • Adobe Reader - PDF callback via XSLT stylesheet in XFA
  • Foxit PDF Reader PoC, DoHyun Lee
  • Eicar test file by Stas Yakobov
  • Multiple PDF Vulnerabilities - FormCalc & XXE
  • PDF - Mess with the web - FormCalc header injection
  • Adobe Reader PDF - Client Side Request Injection
  • ImageMagick - Shell injection via PDF password
  • Portable Data Exfiltration - PortSwigger Research
  • CVE-2024-4367 - Arbitrary JS execution in PDF.js
  • PDF File Formats Security - Philippe Lagadec
  • CVE-2016-2175 - Apache PDFBox XXE
  • CVE-2017-9096 - iText XXE
  • CVE-2020-29075 - Acrobat Reader silent DNS tracking

メディア掲載

  • Brisk Infosec
  • Daily REDTeam
  • Malicious PDF File | Red Team | Penetration Testing
  • John Hammond - Can a PDF File be Malware?
  • Black Hat Ethical Hacking
  • 0x1 Pentesting Collection
  • Security Toolkit / WADComs
  • unsafe.sh
  • Cristi Zot on LinkedIn
  • Siva R. on LinkedIn

全テストマトリックス

クリックして全70テストケースを展開

TODO: 新しいテストケース

  • Acrobat JSフィンガープリンティングAPI — 2026年4月のAdobe 0-dayエクスプロイトチェーンで使用された偵察/フィンガープリンティングAPIのテストケースを追加(参照):Collab.isDocReadOnly(ファイルシステムプロービング)、app.plugIns(インストール済みプラグインの列挙)、app.viewerVersion(バージョンフィンガープリンティング)

TODO: 未実装の難読化手法

  • 空パスワードPDF暗号化 — すべての文字列/ストリームを空のユーザーパスワードで暗号化。ドキュメントはプロンプトなしで開くが、静的解析ツールはコンテンツを読めない。現在の難読化における最大のギャップ。参照: Didier Stevens、How secure is PDF encryption?
  • オブジェクトストリーム(ObjStm) — PDFオブジェクトを圧縮ストリームコンテナ内に隠す。単純なパーサー(-O フラグなしのPDFiDを含む)はオブジェクトを完全に見逃す。参照: PDF仕様 ISO 32000 §7.5.7
  • getAnnots()コードストレージ — JavaScriptペイロードを注釈メタデータフィールド(subject、author)に分割。実行時に app.doc.getAnnots()[n].subject で取得してeval。参照: Julia Wolf - PDF Obfuscation using getAnnots()
  • Info辞書データ抽出 — エンコードされたペイロードを /Info トレーラーフィールド(/Title、/Author)に格納。実行時にJS内の info.Title 経由で取得。参照: corkami PDF tricks
  • AcroFormフィールド値抽出 — ペイロード断片をフォームフィールドの /V 値に格納。JS内の getField("name").value で取得。参照: corkami PDF tricks
  • 名前ツリー分割実行 — JavaScriptを複数の /Names エントリに分割して順次実行。参照:

実装予定なし

  • CVE-2023-26369 - Adobe Acrobat TTFフォントヒープOOB書き込み — バイナリエクスプロイト(ヒープスプレー、ROPチェーン、シェルコード)が必要。公開PoCなし。単純なコールバックは生成できない。
  • CVE-2021-28550 - Adobe Acrobat Use-After-Free — バイナリエクスプロイトチェーン+サンドボックスエスケープ(CVE-2021-31199/31201)が必要。公開PoCなし。単純なコールバックは生成できない。

スター履歴

Star History Chart

ツールをダウンロード
  • CVE-2022-28244 - Acrobat Reader CSP bypass
  • CVE-2018-5158 - Firefox PDF.js PostScript calculator injection
  • CVE-2018-20065 - PDFium URI action without user gesture
  • ExpMon - Sophisticated Adobe Reader 0-day analysis (April 2026) — テスト33_13/14/15と難読化レベル4の着想元
  • テストファイル関数CVE/参照攻撃ベクトル手法影響
    test1.pdfcreate_malpdf()CVE-2018-4993外部ファイルアクセス/GoToE アクションとUNCパスファイルシステム経由のネットワークコールバック
    test1_1.pdfcreate_malpdf()CVE-2018-4993外部ファイルアクセス/GoToE アクションとHTTPS URLHTTPS経由のネットワークコールバック
    test2.pdfcreate_malpdf2()XFAフォーム送信フォームデータの外部送信送信イベント付きXDPフォーム自動フォーム送信
    test3.pdfcreate_malpdf3()JavaScriptインジェクションコード実行/OpenAction と app.openDoc()外部ドキュメントの読み込み
    test4.pdfcreate_malpdf4()CVE-2019-7089XSLTインジェクション外部XSLTスタイルシートを含むXFAUNCパスコールバック
    test5.pdfcreate_malpdf5()PDF101リサーチURIアクション/URI アクションタイプDNSプリフェッチ/HTTPリクエスト
    test6.pdfcreate_malpdf6()PDF101リサーチ起動アクション外部URLを含む /Launch外部リソースの実行
    test7.pdfcreate_malpdf7()PDF101リサーチリモートPDF/GoToR アクションリモートPDFの読み込み
    test8.pdfcreate_malpdf8()PDF101リサーチフォーム送信HTMLフラグ付き /SubmitFormフォームデータの送信
    test9.pdfcreate_malpdf9()PDF101リサーチデータインポート/ImportData アクション外部データのインポート
    test10.pdfcreate_malpdf10()CVE-2017-10951JavaScript実行Foxit this.getURL() コールバックFoxit Reader経由のネットワークコールバック
    test11.pdfcreate_malpdf11()EICARテストAV検出埋め込まれたEICAR文字列アンチウイルステスト
    test12.pdfcreate_malpdf12()CVE-2014-8453FormCalcデータ外部送信XFA FormCalc Post() 関数クッキー付き同一オリジンデータの外部送信
    test13.pdfcreate_malpdf13()リクエストインジェクションCRLFヘッダーインジェクションXFA送信 textEncoding CRLFHTTPヘッダー操作
    test14.svgcreate_malpdf14()ImageMagickシェルインジェクションSVG/MSL経由のシェルインジェクションSVG-MSLポリグロット authenticate 属性ImageMagick経由のリモートコード実行
    test15.pdfcreate_malpdf15()PDF仕様FormCalcヘッダーインジェクションカスタムヘッダー付きXFA FormCalc Post()任意のHTTPヘッダーインジェクション
    test16.pdfcreate_malpdf16()PDF仕様GotoE経由のJavaScriptjavascript: URI付き /GoToEPDFが <embed>/<object> で埋め込まれた場合のブラウザXSS
    test17.pdfcreate_malpdf17()CVE-2014-8452XXEインジェクションXMLData.parse() 外部エンティティXML外部エンティティ解決
    test18.pdfcreate_malpdf18()PortSwiggerリサーチ注釈URIインジェクションエスケープされていない括弧が重複した /A キー経由でJSアクションを注入PDF-Lib/jsPDF出力経由のXSS
    test19.pdfcreate_malpdf19()PortSwiggerリサーチPV自動実行/AA /PV スクリーン注釈がページ表示時にJSを発火自動コード実行(Acrobat)
    test20.pdfcreate_malpdf20()PortSwiggerリサーチPCクローズトリガー/AA /PC 注釈がページクローズ時にJSを発火クローズ時のコード実行(Acrobat)
    test21.pdfcreate_malpdf21()PortSwiggerリサーチSubmitForm SubmitPDFFlags 256付き /SubmitForm がPDF全体を送信PDF全コンテンツの外部送信
    test22.pdfcreate_malpdf22()PortSwiggerリサーチJS submitForm()cSubmitAs: "PDF" 付き this.submitForm()PDFコンテンツの送信(Acrobat)
    test23.pdfcreate_malpdf23()PortSwiggerリサーチウィジェットボタンインジェクションページ全体を覆う不可視の /Btn ウィジェット、クリック時にJSコード実行(Chrome/PDFium)
    test24.pdfcreate_malpdf24()PortSwiggerリサーチテキストフィールドSSRFsubmitForm() POST付きウィジェット /Tx フィールドフォームデータ経由のブラインドSSRF
    test25.pdfcreate_malpdf25()PortSwiggerリサーチコンテンツ抽出getPageNthWord() が全テキストを読み取って外部送信するレンダリングテキストの外部送信
    test26.pdfcreate_malpdf26()PortSwiggerリサーチマウスオーバートリガー/AA /E 注釈がマウス進入時にJSを発火ホバー時のコード実行(PDFium)
    test27——削除済みtest3(Acrobat OpenAction JS)とtest23(Chrome Widget Btn)の重複—
    test28.pdfcreate_malpdf28()PortSwiggerリサーチURLハイジャックエスケープされていない括弧が新しい /URI アクションを注入PDF-Lib/jsPDF経由のクリックリダイレクト
    test29.pdfcreate_malpdf29()CVE-2024-4367FontMatrixインジェクションType1フォントの FontMatrix 文字列が c.transform() から脱出PDF.jsでの任意JS実行(Firefox < 126)
    test30.pdfcreate_malpdf30()PDF101リサーチ外部XObjectストリーム画像XObjectが /FS /URL 経由でリモートURLからデータを取得ページレンダリング経由のサイレントコールバック(アクション/JSなし)
    test31.pdfcreate_malpdf31()PDF101リサーチスレッドアクションリモートFileSpec付き /S /Threadスレッド参照経由のネットワークコールバック
    test32.pdfcreate_malpdf32()PDF101リサーチ印刷付き起動/Win << /O /print >> 付き /Launch がリモート取得を強制印刷操作経由のネットワークコールバック
    test33_1.pdfcreate_malpdf33_1()PDF101リサーチJS: this.submitForm()Acrobat JSフォーム送信コールバックAcrobat Reader
    test33_2.pdfcreate_malpdf33_2()PDF101リサーチJS: this.getURL()Acrobat JS URL取得Acrobat Reader
    test33_3.pdfcreate_malpdf33_3()PDF101リサーチJS: app.launchURL()Acrobat JS URL起動Acrobat Reader
    test33_4.pdfcreate_malpdf33_4()PDF101リサーチJS: app.media.getURLData()Acrobat JSメディア取得Acrobat Reader
    test33_5.pdfcreate_malpdf33_5()PDF101リサーチJS: SOAP.connect()Acrobat JS SOAP接続Acrobat Reader
    test33_6.pdfcreate_malpdf33_6()PDF101リサーチJS: SOAP.request()Acrobat JS SOAPリクエストAcrobat Reader
    test33_7.pdfcreate_malpdf33_7()PDF101リサーチJS: this.importDataObject()Acrobat JSデータインポートAcrobat Reader
    test33_8.pdfcreate_malpdf33_8()PDF101リサーチJS: app.openDoc()Acrobat JSドキュメントオープンAcrobat Reader
    test33_9.pdfcreate_malpdf33_9()PDF101リサーチJS: fetch()Web APIコールバック(PDF.js/ブラウザ)Firefox/PDF.js
    test33_10.pdfcreate_malpdf33_10()PDF101リサーチJS: XMLHttpRequestWeb APIコールバック(PDF.js/ブラウザ)Firefox/PDF.js
    test33_11.pdfcreate_malpdf33_11()PDF101リサーチJS: new Image()Web API画像コールバック(PDF.js/ブラウザ)Firefox/PDF.js
    test33_12.pdfcreate_malpdf33_12()PDF101リサーチJS: WebSocketWeb API WebSocketコールバック(PDF.js/ブラウザ)Firefox/PDF.js
    test33_13.pdfcreate_malpdf33_13()Adobe 0-dayブログ(2026年4月)JS: RSS.addFeed()Acrobat JS RSSフィードコールバックAcrobat Reader
    test33_14.pdfcreate_malpdf33_14()Adobe 0-dayブログ(2026年4月)JS: util.readFileIntoStream() + SOAP.request()ローカルファイル読み取り+外部送信チェーン(try/catchエラーパスでもコールバック)Acrobat Reader
    test33_15.pdfcreate_malpdf33_15()Adobe 0-dayブログ(2026年4月)フォームフィールドによる段階的JSローダー/Tx ウィジェットの /V にあるBase64ペイロードを getField() + util.stringFromStream でデコードAcrobat Reader
    test34_1.pdfcreate_malpdf34_1()PDF101リサーチUNC: XObjectストリームUNCパス付き画像XObjectページレンダリング経由のNTLM窃取
    test34_2.pdfcreate_malpdf34_2()PDF101リサーチUNC: GoToRUNC FileSpec付き /GoToR アクションリモートPDF経由のNTLM窃取
    test34_3.pdfcreate_malpdf34_3()PDF101リサーチUNC: ThreadUNC FileSpec付き /Thread アクションスレッド参照経由のNTLM窃取
    test34_4.pdfcreate_malpdf34_4()PDF101リサーチUNC: URIUNCパス付き /URI アクションURIアクション経由のNTLM窃取
    test34_5.pdfcreate_malpdf34_5()PDF101リサーチUNC: JS submitFormUNCパス付き this.submitForm()JSフォーム送信経由のNTLM窃取
    test34_6.pdfcreate_malpdf34_6()PDF101リサーチUNC: JS getURLUNCパス付き this.getURL()JS URL取得経由のNTLM窃取
    test34_7.pdfcreate_malpdf34_7()PDF101リサーチUNC: JS launchURLUNCパス付き app.launchURL()JS起動経由のNTLM窃取
    test34_8.pdfcreate_malpdf34_8()PDF101リサーチUNC: JS SOAPUNCパス付き SOAP.connect()JS SOAP経由のNTLM窃取
    test34_9.pdfcreate_malpdf34_9()PDF101リサーチUNC: JS openDocUNCパス付き app.openDoc()JSドキュメントオープン経由のNTLM窃取
    test35.pdfcreate_malpdf35()PDF101リサーチ名前辞書/Names /JavaScript カタログレベルの自動実行トリガー代替JS実行トリガー
    test36.pdfcreate_malpdf36()CVE-2016-2175 / CVE-2017-9096XMPメタデータ内XXE/Metadata XMPストリーム内のXXE <!ENTITY>サーバーサイドコールバック(PDFBox、iText)
    test37.pdfcreate_malpdf37()CVE-2016-2175 / CVE-2017-9096XFAフォームデータ内XXE/AcroForm /XFA ストリーム内のXXE <!ENTITY>サーバーサイドコールバック(PDFBox、iText)
    test38.pdfcreate_malpdf38()CVE-2020-29075サイレントDNSトラッキング/WC、/WS、/DS トリガー付きカタログ /AAプロンプトなしのDNSコールバック(Acrobat)
    test39.pdfcreate_malpdf39()CVE-2022-28244CSPバイパス埋め込みHTML/JS付きRichMedia注釈クロスオリジンリクエスト(Acrobat)
    test40.pdfcreate_malpdf40()CVE-2018-5158PostScript計算機インジェクション画像XObject内の /FunctionType 4 JSインジェクションPDF.jsワーカーでのJS実行(Firefox)
    test41.pdfcreate_malpdf41()CVE-2018-20065ユーザージェスチャなしのURI/S /URI 自動ナビゲーション付き /OpenActionサイレントナビゲーション(PDFium/Chrome)
    test42.pdfcreate_malpdf42()CVE-2025-66516XFA内XXE OOBパラメータエンティティ/AcroForm /XFA 内の %xxe; パラメータエンティティがDTD取得を強制サーバーサイドブラインドXXE(Tika、Confluence、Jira)
    test43.pdfcreate_malpdf43()CVE-2025-70401注釈 /T フィールドXSSテキスト注釈の /T(作成者)フィールド内の `` タグXSSコールバック(Apryse WebViewer、Webビューア)
    test44.pdfcreate_malpdf44()CVE-2024-12426LibreOffice URL展開vnd.sun.star.expand: 付き /URI が ${HOME} を展開環境変数の外部送信(LibreOffice < 24.8.4)
    test45.pdfcreate_malpdf45()CVE-2025-59803署名時のOCG JSトリガー署名ワークフローで /AA /WP+/DP がOCG経由でJSをトリガー署名中のコールバック(Foxit < 2025.2.1)
    test46.pdfcreate_malpdf46()CVE-2026-25755jsPDFオブジェクトインジェクション壊れたJS文字列+注入された /AA /O 自動アクション任意のビューア経由の自動コールバック(jsPDF < 4.2.0)
    test47.pdfcreate_malpdf47()PDF 2.0仕様関連ファイルHTML埋め込みカタログ /AF + /EF EmbeddedFile経由のHTML埋め込みHTML経由のコールバック(PDF 2.0対応ビューア)
    test48.pdfcreate_malpdf48()XFA仕様XFA SOAPコールバックinitialize イベント付き <submit method="soap">SOAP HTTPリクエスト(Acrobat XFAエンジン)
    corkami PDF tricks
  • %%EOF後のインクリメンタルアップデート — インクリメンタルアップデートで元の %%EOF マーカーの後に新しいオブジェクト/アクションを追加。参照: PDF101 content masking、Didier Stevens
  • JS unescape() エンコーディング — JSペイロードを eval(unescape("%61%6C%65%72%74...")) でラップ。参照: corkami PDF tricks
  • 偽のファイルヘッダー — %PDF- ヘッダーの前にJPEG/HTMLなどのマジックバイトを前置(仕様ではヘッダーが最初の1024バイト以内にあれば許可)。ファイルタイプ検出を混乱させる。参照: corkami、Decalage
  • エミュレーション対策チェック — ペイロードを実行する前に event.target.zoomType == "FitPage" やグローバル変数の型チェックで本物のAdobe Readerを検出。参照: corkami PDF tricks