
Эксплойт RCE для Laravel. CVE-2018-15133
| | __ _ _ __ __ _ ___ ___ _ __ () _ __ | |
| | / || '__| / _ |/ | / || '|| || ' \ | |
| | | (| || | | (| |_ | (__ | | | || |) || |
|| _,||| _,||/ _||| ||| .__/ _|
|_|
Авторы: @pwnedshell & @rsgbengi
CVE-2018-15133 для удалённого выполнения команд, если уязвимое Laravel-приложение открыто. Вы можете отправлять команды и получать ответ, например, . Также можно запросить оболочку — скрипт выдаст reverse shell. Он поддерживает персонализацию: вы можете указать тип reverse shell (bash или sh), язык, используемый для получения оболочки (php, bash, mkfifo, python...), или метод RCE Laravel (1,2,3 или 4). Кроме того, обеспечивается хорошее взаимодействие с оболочкой и ссылки на обработку оболочки или повышение привилегий в Linux.
В Laravel Framework до версии 5.5.40 и в версиях 5.6.x до 5.6.29 возможно удалённое выполнение кода в результате вызова unserialize для потенциально недоверенного значения X-XSRF-TOKEN. Это связано с методом decrypt в Illuminate/Encryption/Encrypter.php и PendingBroadcast в gadgetchains/Laravel/RCE/3/chain.php в phpggc. Злоумышленник должен знать ключ приложения, что в обычных условиях никогда не должно произойти, но может случиться, если злоумышленник ранее имел привилегированный доступ или успешно осуществил предыдущую атаку.
Обязательные параметры: уязвимый и в base64. Смотрите .
Отправляем команду
Получаем reverse shell с помощью полезной нагрузки mkfifo. Указываем lhost на нашу локальную машину
cat /etc/passwdgit clone https://github.com/PwnedShell/Larascript pip3 install -r requirements.txt
larascript.py -husage: larascript.py [-h] -k APPKEY [-c COMMAND] [-m {1,2,3,4,5}] [-s {bash,python,perl,php,ruby,nc,mkfifo,lua,java}]
[-t {bash,sh}] [-p PORT] [-P LPORT] [-U LHOST]
url
whoami