
Выполнение эксплойта десериализации с CVE-2017-5941
Эксплуатация уязвимости десериализации CVE-2018-15133 Этот эксплойт использует уязвимость десериализации в 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. Атакующий должен знать ключ приложения, что обычно никогда не происходит, но может случиться, если атакующий ранее имел привилегированный доступ или успешно совершил предыдущую атаку.
Для выполнения этого эксплойта вам необходимо установить следующее на вашу машину:
docker pull kozmico/laravel-poc-cve-2018-15133
docker run --name my-laravel-app -p 8000:80 -d kozmico/laravel-poc-cve-2018-15133
Это запустит машину Laravel.
Попробуйте открыть машину в браузере, чтобы убедиться, что она работает.
Это можно сделать с помощью IP-адреса и порта. Чтобы узнать IP в Windows, выполните:
ipconfig
В Linux:
ifconfig
wsl --set-default-version 2
wsl --update
./CVE-2018-15133 -URL http://localhost:8000 -API_KEY 9UZUmEfHhV7WXXYewtNRtCxAYdQt44IAgJUKXk2ehRk= -command "id"
Это должно вернуть ответ с идентификатором машины, которую вы хотите атаковать. Вы также можете использовать аналогичные команды для запроса папок и выполнения других задач.
Ответ: uid=0(root) gid=0(root) groups=0(root)
В заключение, в ходе этой уязвимости мы смогли наблюдать важность обновления фреймворков. Поскольку эти инструменты могут иметь уязвимости в безопасности и широко используются, мы подвергаемся риску, если не обновляемся.