
Эксплойт RCE с аутентификацией для WBCE CMS <= 1.6.3, который создаёт вредоносный ZIP-архив модуля с PHP-обратной оболочкой и прослушивателем netcat.
Это уязвимость аутентифицированного удалённого выполнения кода (Authenticated Remote Code Execution), которую я обнаружил во время участия в событии Hackfinity на платформе TryHackMe. Она была протестирована на версиях 1.6.2 и 1.6.3, работающих на Ubuntu, и потенциально затрагивает более ранние версии. По умолчанию WBCE доверяет любому загруженному в него модулю. Единственная проверка, выполняемая для .zip-файла модуля, — это наличие в нём файла info.php. Выдержка из /admin/modules/install.php в WBCE:
// Check if uploaded file is a valid Add-On zip file
if (!($list && file_exists($temp_unzip . 'info.php'))) {
// Remove the temp unzip directory and the temp zip file
rm_full_dir($temp_unzip);
if (file_exists($temp_file)) {
unlink($temp_file);
}
$admin->print_error($MESSAGE['GENERIC_INVALID_ADDON_FILE']);
}
Как только модуль проходит эту проверку в качестве «действительного дополнения» (valid Add-On), любые скрипты install.php автоматически выполняются на сервере. Данный эксплойт просто использует php reverse shell в качестве php-полезной нагрузки.
Демонстрация на YouTube: https://youtu.be/Dhg5gRe9Dzs?si=LHC29PBRRRPNNy73
Description:
This is an Authenticated RCE exploit for WBCE CMS version <= 1.6.3
It will create an infected module .zip file and start a netcat listener.
Once the zip is created, you will have to login to the admin page
to upload and install the module, which will immediately run the shell
Shell taken from: https://github.com/pentestmonkey/php-reverse-shell/tree/master
Usage:
./exploit.sh <lhost> <lport>