Введение
В программном обеспечении CyberPanel обнаружена уязвимость, связанная с обходом аутентификации и выполнением произвольных команд через эндпоинты /dns/getresetstatus и /ftp/getresetstatus. Уязвимость присутствует в файлах dns/views.py и ftp/views.py версий до 2.3.7 включительно.
Данная статья представлена исключительно в образовательных целях. Red Team сообщество "GISCYBERTEAM" не несёт ответственности за любые последствия ее использования третьими лицами.
Что такое CyberPanel
CyberPanel — это популярная бесплатная (с премиум-версией) панель управления сервером с открытым исходным кодом, разработанная для управления веб-хостингом и серверными ресурсами.
Она позволяет администраторам удобно управлять сайтами, доменами, базами данных, почтовыми сервисами и другими функциями через графический веб-интерфейс.
CyberPanel особенно востребована среди небольших хостинговых компаний, разработчиков и владельцев сайтов, благодаря своей простоте использования и поддержке современных технологий.

Подготовка стендового окружения
Для эксплуатирования уязвимости будет использоваться VPS, на которой используется CyberPanel уязвимой версии.
Для установки необходимо выполнить следующие команды:
Обновить кэш пакетного менеджера:
apt-get update
Установить утилиту wget и скачать установочный скрипт:
apt install wget
cd /opt
wget -O installer.sh <https://cyberpanel.net/install.sh>
Запустить скрипт:
chmod +x installer.sh
sh installer.sh
Далее идет конфигурирование панели перед установкой.
По окончании процедуры установки будет такой вывод:

Когда операционная система сервера загрузится, откройте в браузере вебстраницу https://<IP_вашего_сервера>:8090.
Разбор уязвимости
RCE (Remote Code Execution) — это тип уязвимости в программном обеспечении, позволяющий злоумышленнику удалённо выполнять произвольный код на сервере или устройстве, уязвимом к данной атаке. RCE считается одной из наиболее опасных уязвимостей, так как она предоставляет атакующему практически полный контроль над целевой системой.
Для демонстрации эксплуатации воспользуемся публичным эксплойтом:
git clone https://github.com/refr4g/CVE-2024-51378.git
Запустим скрипт:
cd CVE-2024-51378
python3 CVE-2024-51378.py http://target.com:8090 /ftp/getresetstatus

Получаем root-флаг:


Рекомендации по устранению
Патч для уязвимости доступен. Необходимо обновить
CyberPanelдо версии, включающей исправление. Эта уязвимость затрагивает версии до2.3.6и непатченную2.3.7. Убедитесь, что вы используете последнюю версию программного обеспечения. Инструкции по обновлению можно найти на официальном сайтеCyberPanel.Ограничьте доступ к панели управления.
Заключение
Для предотвращения атак настоятельно рекомендуется срочно установить патч, ограничить доступ к панели управления и провести аудит системы на предмет возможного компрометации. Эта уязвимость подчеркивает важность регулярного обновления ПО и применения средств мониторинга.
Подписывайтесь на наш Telegram-канал https://t.me/giscyberteam