
========================= タイトル =========================================
CVE-2013-1491 JIT-Sprayを使用したPoC by Yuki Chen (古河)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Twitter: @guhe120
Weibo: http://weibo.com/u/1874932054
========================= このPoCについて =========================================
このエクスプロイトは、Java-JIT-Spray技術を使用してJavaネイティブの脆弱性を悪用する方法を示す概念実証エクスプロイトです。 開発され、テストされたのはWindows 7 Enterprise 32ビットのみです。
この脆弱性は、accuvantlabsのJushua J Drake(jduck)によって発見されました。 この脆弱性の詳細については、以下を参照してください: http://blog.accuvantlabs.com/sites/default/files/Papers/Pwn2Own%202013%20-%20Java%207%20SE%20Memory%20Corruption.pdf
Java JIT Spray技術の詳細については、SyScan360での私のスライドを参照してください: http://aj43xnbacx.l31.yunpan.cn/lk/QGb98dgpj74YJ
========================= コンパイル方法 ======================================
ソースコードをコンパイルするには、JDKとPythonがインストールされている必要があります。
「javac」と「python」がパス環境に含まれていることを確認してください。
ソースを「src」ディレクトリにチェックアウトし、ターミナルを開いて「src」フォルダに移動します。
以下のコマンドを実行します: make.bat 40 60
最初のパラメータ「40」は各クラスファイルに40個のJIT関数が含まれることを意味し、2番目のパラメータ「60」は合計60個のクラスをスプレーすることを意味します。
コマンドを実行すると、同じフォルダ内に「Exploit.jar」という名前のJARファイルが生成されます。
========================= テスト方法 =========================================
環境: JRE 7u17 + Windows 7 32bits (英語版)
注: JIT-Sprayには時間がかかります(テストマシンによって7〜??秒)。スプレー中は辛抱強くお待ちください:)