
CVE-2016-9079(Firefox の Use-After-Free)の公開エクスプロイトを教育目的でスタンドアロンな JavaScript として実装したもので、元の Exploit-DB/Metasploit モジュールを基にしています。
CVE-2016-9079の公開エクスプロイトの教育用実装です。元のExploit-DB/Metasploitモジュールをスタンドアロンで使用できるように移植したものです。
免責事項
このリポジトリは、教育および研究目的のみで提供されます。公開されているエクスプロイトのJavaScript移植版を含み、歴史的なブラウザエクスプロイト技術を研究するためのものです。所有していない、またはテスト許可を得ていないシステムに対する不正使用を意図したものではありません。
このリポジトリには、Mozilla Firefoxの旧バージョンに影響するUse-After-Free (UAF) 脆弱性であるCVE-2016-9079の公開エクスプロイトのスタンドアロンJavaScript実装が含まれています。
この脆弱性はFirefoxのSMIL (Synchronized Multimedia Integration Language) アニメーションサブシステムに存在し、特定の条件下でリモートコード実行を可能にします。
元の公開エクスプロイトはMetasploitモジュールとして配布されていますが、このリポジトリは単純なHTTPサーバーから配信できるブラウザベースの実装を提供します。
このリポジトリは、現代のエクスプロイトツールというよりも、歴史的な教育用リファレンスとして意図されています。
OSCPの準備中に、古い脆弱なバージョンのFirefoxを実行しているCTFマシンに遭遇しました。
列挙の結果、ブラウザエクスプロイトが意図された権限昇格の経路であることが判明しました。
Exploit-DBで公開されているエクスプロイトはMetasploitモジュールとして実装されていました。OSCP試験ではMetasploitの使用が制限されているため、フレームワークなしで実行できるスタンドアロン版が必要でした。
公開エクスプロイトを調査した後、これをJavaScript実装に移植しました。
以下の点に注意してください:
CVE: CVE-2016-9079
種別: Use-After-Free (UAF)
影響を受けるコンポーネント: Firefox SMIL Animation (nsSMILTimeContainer)
影響: リモートコード実行
この脆弱性は、Firefoxのアニメーションエンジン内部でuse-after-free状態を引き起こす、特別に細工されたSVGアニメーションオブジェクトを介してトリガーされます。エクスプロイトは、コード実行を達成するためにROPチェーンを実行する前に、ヒープ操作を行います。
このリポジトリは、教育目的で公開文書化されたエクスプロイト技術を保存しています。
index.htmlメインのエントリポイントです。
JavaScriptコンポーネントを読み込み、互換性のあるFirefoxバージョンで開くと脆弱性をトリガーします。
worker.jsエクスプロイトロジックの大部分を含みます。以下を含みます:
この実装は公開されているエクスプロイトから移植されています。
README.md脆弱性、リポジトリの目的、使用方法を説明するドキュメントです。
新しいFirefoxリリースとの互換性は期待されていません。

python3 -m http.server 8000
以下に移動します:
http://<server-ip>:8000/index.html
脆弱なFirefoxインスタンスからアクセスしてください。

注意 - エクスプロイトは複数回試行する必要がある場合があります。
このリポジトリは意図的に最小限であり、一般的なエクスプロイトフレームワークと見なすべきではありません。
元のMetasploit実装と比較して:
そのため、この実装は、互換性が確認されている既知のバージョンを使用した管理された環境でのみ使用してください。
元のエクスプロイトの作者ではありませんが、スタンドアロン実装に移植することで、以下の概念に貴重な触れる機会が得られました:
このリポジトリは、OSCP準備プロセスの一部を文書化することで、私のアプリケーションセキュリティおよびバグバウンティの活動を補完するものです。
このリポジトリは教育目的のみで配布されています。
元のエクスプロイト技術の功績は、公開エクスプロイトの元の研究者および作者に帰属します。このリポジトリは、公開されている実装を教育用のスタンドアロン形式に適応したものにすぎません。