Уязвимость в ПО Openfire открывает несанкционированный доступ к скомпрометированным серверам

Фото TimaMiroshnichenko/pexels.com

Компания «Доктор Веб» информирует пользователей о распространении вредоносных плагинов для сервера обмена сообщениями Openfire. По всему миру на момент публикации более 3000 серверов с установленным ПО Openfire подвержены уязвимости, позволяющей хакерам получать доступ к файловой системе и использовать зараженные серверы в составе ботнета.

В июне 2023 года в компанию «Доктор Веб» обратился один из клиентов с сообщением об инциденте, в ходе которого злоумышленники смогли зашифровать файлы на сервере. В процессе расследования выяснилось, что заражение было реализовано в ходе пост-эксплуатации уязвимости CVE-2023-32315 в ПО для обмена сообщениями Openfire. Этот эксплойт выполняет атаку типа «обход каталога» и позволяет получить доступ к административному интерфейсу ПО Openfire без авторизации, что используется злоумышленниками для создания нового пользователя с административными привилегиями. Затем взломщики входят в систему под новой учетной записью и устанавливают вредоносный плагин helloworld-openfire-plugin-assembly.jar (SHA1:41d2247842151825aa8001a35ee339a0fef2813f), обеспечивающий выполнение произвольного кода. Плагин позволяет выполнять команды интерпретатора командой строки на сервере с установленным ПО Openfire, а также запускать код, написанный на языке Java, который передается в POST-запросе к плагину. Именно таким образом и был запущен троян-шифровальщик на сервере нашего клиента.

Чтобы получить образец данного шифровальщика, мы создали сервер-приманку с установленным ПО Openfire и в течение нескольких недель наблюдали за атаками на него. За время работы этого сервера нам удалось получить образцы трех разных вредоносных плагинов. Помимо этого, мы получили представителей двух семейств троянов, которые устанавливались на наш сервер после взлома ПО Openfire.

Первым трояном был майнер, написанный на языке Go, который известен под именем kinsing (Linux.BtcMine.546). Атака с использованием этого трояна осуществляется в четыре этапа:

1. Эксплуатация уязвимости CVE-2023-32315 для создания административной учетной записи с именем OpenfireSupport.

2. Аутентификация под созданным пользователем.

3. Установка вредоносного плагина plugin.jar (SHA1:0c6249feee3fef50fc0a5a06299c3e81681cc838) на сервер.

4. Скачивание и запуск трояна с помощью установленного вредоносного плагина.

В рамках другого сценария атаки в систему устанавливался троян Linux.BackDoor.Tsunami.1395, написанный на языке С и запакованный пакером UPX. Процесс заражения во многом аналогичен описанному выше — с тем отличием, что административный пользователь создается со случайными именем и паролем.

Третий сценарий представляет наибольший интерес, так как злоумышленники не устанавливали троян в систему, а использовали вредоносный плагин для Openfire, через который получали информацию о скомпрометированном сервере. В частности, сведения о сетевых подключениях, IP-адресе, пользователях и версии ядра системы.

Устанавливаемые во всех случаях вредоносные плагины представляют собой бэкдоры JSP.BackDoor.8, написанные на языке Java. Эти плагины позволяют выполнять ряд команд в виде GET- и POST-запросов, отправляемых злоумышленниками.

Рассматриваемая уязвимость сервера отправки сообщений Openfire была устранена в обновлениях этого ПО до версий 4.6.8 и 4.7.5. Специалисты компании «Доктор Веб» рекомендуют использовать обновленные версии. В отсутствие такой возможности следует предпринять усилия по минимизации площади атаки: ограничение сетевого доступа к портам 9090 и 9091, изменение файла настроек Openfire, перенаправление адреса консоли администратора на loopback-интерфейс или использование плагина AuthFilterSanitizer.

Антивирус Dr.Web успешно обнаруживает и нейтрализует модификации бэкдора JSP.BackDoor.8, а также троянов семейств Linux.BtcMine и Linux.BackDoor.Tsunami поэтому для наших пользователей они никакой опасности не представляют.