May 2, 2020

RCE - Drupal CMS

В этом статье вы узнаете, как проверить лазейки в системе безопасности Drupal CMS на предмет любой критической уязвимости, которая может нанести большой ущерб любому веб-сайту.

Удаленное выполнение кода

  • RCE - это уязвимость, которая возникает из-за небезопасной обработки входных данных серверным приложением или может использоваться, если команды вводятся в файле или строке и выполняется синтаксическим анализатором языка программирования. Не очищается должным образом в запросе POST, а также при принятии параметра строки запроса во время запросов GET.

RCE может привести к полной компрометации уязвимого веб-приложения, а также веб-сервера.

Начнём.

Для доступа к пользовательской консоли я использовал следующие данные:

Username: ra Password: 123

Получив доступ к консоли администратора, пришло время использовать веб-приложение, внедряя в него вредоносный контент. Непосредственное написание вредоносных сценариев в виде веб-содержимого не даст нам обратной оболочки приложения, для этого требуется модуль PHP. Поэтому мы переходим к установке нового модуля через:

« Управление»> «Расширить»> «Список»> «Установить новый модуль».

Это может сработать, если у Drupal есть права на установку модулей на web-сервер, или этого шага можно избежать если модуль уже установлен. В целом, такой вектор на практике встречается очень редко.

Вы можете скачать пакет PHP для Drupal здесь и загрузить файл tar для установки нового модуля.

Итак, когда установка будет завершена, нам нужно включить добавленный модуль.

Снова перейдите в « Управление»> «Расширить»> «Фильтры» и установите флажок для фильтров PHP.

В качестве метода получения соединения, можно использовать любой подходящий PHP shell. Не забудьте добавить «listening IP & port», чтобы получить обратное соединение.

Когда все настроено соответствующим образом, нажмите кнопку предварительного просмотра, и вы получите reverse shell через netcat.

Reverse shell в действии, как итог: