
PoC - ステガノグラフィーとポリグロットを利用したエクスプロイト配信, CVE-2014-0282
by Charmve - yidazhang1 [at] gmail[dot]com, @Charmve @therealsaumil @amichael
2021年5月

Stegosploit は、"ドライブバイ"ブラウザエクスプロイトをエンコードし、画像ファイルを介して配信する新しい方法を生み出します。これらのペイロードは現在の手段では検出できません。本稿では、画像ベースのエクスプロイト配信に使用される2つの広範な基礎技術、ステガノグラフィとポリグロットについて説明します。ドライブバイブラウザエクスプロイトは、JPGおよびPNG画像にステガノグラフィでエンコードされます。結果の画像ファイルはHTMLおよびJavascriptデコーダコードと融合され、HTML+Imageポリグロットになります。このポリグロットは画像のように見えますが、被害者のブラウザで読み込まれるとデコードされ、トリガーされます。
Stegosploit は、ユーザーが画像を分析し、JPGおよびPNGファイルにエクスプロイトデータをステガノグラフィでエンコードし、エンコードされた画像をHTMLとしてレンダリングまたはJavascriptとして実行可能なポリグロットファイルに変換するツールで構成されています。
Stegosploit の現在のバージョンは0.2で、International Journal of Proof-of-Concept or Get The Fuck Out (Poc||GTFO) 第0x08号に掲載されています。ツールキットの抽出方法に関するヒントを見つけるには、PoC||GTFOの記事の最後まで読む必要があることに注意してください。
README.mdcopying.txt - WTFPLstego/
image_layer_analysis.html - 画像のビットレイヤーを解析iterative_encoding.html - JPGまたはPNG画像にエクスプロイトをエンコードimagedecoder.html - ステガノグラフィでエンコードされた画像をデコードimagedecode.jshistogram.jsmd5.jsbase64.jsexploits/
exploits.js - 既製のエクスプロイトコードdecoder_cve_2014_0282.html - デコーダコード + CVE-2014-0282 HTML要素imajs/
html_in_jpg_ie.pl - IE用JPG+HTMLポリグロットを生成html_in_jpg_ff.pl - Firefox用JPG+HTMLポリグロットを生成html_in_png.pl - PNG+HTMLポリグロットを生成(任意のブラウザ向け)pngenum.pl - PNGファイルのFourCCチャンクを列挙jpegdump.c - JPGファイルのセグメントを列挙CRC32.pmPNGDATA.pmproject-stegosploit/ - コア部分 ビデオショー1 | テキストショー1
encoding/ - コア
iterative_encoding.html - エクスプロイトコードのステガノグラフィエンコーディングimage_layer_analysis.htmlimagedevoder.htmldecode_and_run_cinput_withjs.htmlexploits/ - decoder.htmlimages/ - エンコード済みおよび元画像polyglots/ - lena_poly_demo.htmlscripts/ - HTML+PNGポリグロットを作成 polyglot_with_jpg.pytmp/ run jpegdump.c はRalph Gilesによって書かれ、https://svn.xiph.org/experimental/giles/jpegdump.cからダウンロードできます。
このリポジトリでは、重要なことに、project-stegosploitがキーとなる部分であり、エクスプロイトコードを画像に隠し、エンコード/デコードし、meterpreterフレームワークを実行する方法を示しています。
エクスプロイトコードは画像のピクセル内に挿入され、画像がエクスプロイトコードを含むようになります。次にIMAJSは、画像として読み取られ、かつjavascriptエクスプロイトを抽出して実行するデコーダを含むポリグロット画像を作成します。
使用するエクスプロイトは、Internet ExplorerのUse-after-freeエクスプロイト(CVE-2014-0282)です。
python -m http.server 8000
ハイライト:
10.0.2.2:5000経由でVMに画像を提供できます.htmlおよび.jpg)を構築できます CRC32.pmをリファクタリング
PNGDATA.pmをリファクタリング
html_in_jpg_ie.plをリファクタリング
pngenum.plをリファクタリング
デモサーバー
/staticに移動template_renderを使用して解析されることを確認私のリポジトリ
yidazhang1[#]gmail[dot]com
--/tools/msf4$ ./msfconsole -r ./tmp/load_meterpreter.rcREADME.md - このproject-stegosploitの使い方を示す