24 апреля 2025 года компания SAP раскрыла информацию о CVE-2025-31324, критической уязвимости с оценкой CVSS 10.0, затрагивающей Visual Composer Framework компании SAP NetWeaver версии 7.50. В этом обзоре угроз приводится краткий обзор уязвимости и наш анализ, а также подробная информация о том, что мы наблюдали с помощью наших служб реагирования на инциденты и телеметрии.
Описание
Данная уязвимость позволяет неавторизованным пользователям загружать произвольные файлы на сервер приложений SAP NetWeaver, что может привести к удаленному выполнению кода (RCE) и полной компрометации системы. Эксплуатация достигается путем отправки специально созданных HTTP-запросов к конечной точке /developmentserver/metadatauploader. Palo Alto наблюдали, как злоумышленники используют эту уязвимость для развертывания веб-оболочек (например, helper.jsp и cache.jsp) для постоянного доступа и последующего выполнения команд.
Злоумышленники используют эту уязвимость для развертывания, например, инструментов обратной оболочки и обратного SSH SOCKS-прокси с использованием различных сетевых инфраструктур.
Подробности CVE-2025-31324
CVE-2025-31324 - критическая уязвимость в компоненте Visual Composer (VCFRAMEWORK) сервера приложений SAP NetWeaver Application Server Java. Хотя этот компонент не установлен по умолчанию, бизнес-аналитики обычно используют его для создания приложений без кодирования, что делает его широко распространенным в развертываниях SAP.
Основная проблема этой уязвимости заключается в отсутствии проверки авторизации в загрузчике метаданных, доступном через конечную точку /developmentserver/metadatauploader. Это означает, что любой пользователь, даже не прошедший аутентификацию, может взаимодействовать с этой конечной точкой и загружать произвольные файлы на сервер.
Вот описание того, как работает уязвимость:
- Неограниченный доступ: Конечная точка /developmentserver/metadatauploader открыта по HTTP/HTTPS и не имеет надлежащего контроля аутентификации или авторизации.
- Вредоносная загрузка файлов: Злоумышленник может отправить на уязвимую конечную точку специально созданный HTTP-запрос, содержащий вредоносный файл в теле запроса.
- Доступ к файловой системе: Из-за отсутствия проверки авторизации сервер принимает запрос злоумышленника и записывает загруженный файл в файловую систему сервера. Часто файл записывается в место в доступных каталогах веб-приложения (например, в каталоге /irj/servlet_jsp/irj/root/).
- Выполнение веб-оболочки (распространенный сценарий): Если злоумышленник загружает веб-оболочку в виде файла страницы сервера Java (JSP), он может получить доступ к ней через веб-браузер. Теперь, находясь на сервере, эта веб-оболочка позволяет злоумышленнику выполнять произвольные команды операционной системы с привилегиями процесса сервера приложений SAP.
- Компрометация системы: получив возможность выполнять команды от имени системного администратора SAP (имя системной учетной записи: sidadm), злоумышленник фактически получает контроль над системой SAP и связанными с ней данными. После этого злоумышленник может выполнять различные вредоносные действия.
CVE-2025-31324 позволяет злоумышленникам обходить средства контроля безопасности, напрямую загружать и исполнять вредоносные файлы на уязвимых серверах SAP, что потенциально может привести к полной компрометации системы. Простота эксплуатации (не требуется аутентификация) и возможность сильного воздействия делают эту уязвимость критической, требующей немедленного внимания и устранения.
Текущий масштаб атак, использующих CVE-2025-31324
В соответствии с отраслевыми наблюдениями, в конце января 2025 года Palo Alto заметили подозрительные HTTP-запросы к конечной точке /developmentserver/metadatauploader в системах SAP NetWeaver, которые, вероятно, проверяли эту уязвимость до ее раскрытия. После затишья в активности, начиная с середины марта 2025 года, один из злоумышленников использовал эту уязвимость для развертывания веб-оболочек JSP с такими именами, как cache.jsp и help.jsp.
Неудивительно, что после публичного раскрытия этой уязвимости Palo Alto увидели множество атак, эксплуатирующих эту уязвимость и пытающихся отправить на сервер различные полезные нагрузки.
Palo Alto наблюдали две стадии активности после компрометации:
- Разведка
- Развертывание инструментов
Разведка
После успешного эксплойта и создания начальной веб-оболочки злоумышленники использовали множество распространенных команд разведки для сбора информации о взломанных системах и окружающей сети. Во время вторжений были замечены такие команды, как:
- cat /etc/hosts
- cat /etc/resolv.conf
- cat ~/.bash_history
- cat /etc/issue
- crontab -l
- ps -ef
- df -a
- last -n 30
- netstat -tenp
- nltest /domain
- uname -a
- ls /mnt
- ls /var
- ls /opt
Развертывание инструментов
Большинство первоначальных действий после эксплойта было сосредоточено на развертывании и использовании веб-оболочек. Хотя выше мы отметили веб-оболочки с именами helper.jsp и cache.jsp, злоумышленники также развертывали другие JSP-файлы для веб-оболочек.
Один из таких примеров - ran.jsp. Это простой JSP-файл, способный выполнять команды, отправленные в качестве параметра cmd. Результаты выполнения этих команд возвращаются в виде HTML-текста, если указан правильный ключевой параметр.
GOREVERSE
Palo Alto также наблюдали, как злоумышленники используют другие инструменты обратного шелла с конфигурацией имени файла. К ним относится общедоступный инструмент, который Google называет GOREVERSE. Судя по странице проекта на GitHub, GOREVERSE обладает следующими возможностями:
- Управление и подключение к обратным оболочкам с использованием родного синтаксиса SSH
- Динамическая, локальная и удаленная переадресация
- Встроенные реализации SCP и SFTP для получения файлов от целей
- Полная оболочка Windows
- Несколько сетевых транспортов, таких как HTTP, веб-сокеты и TLS.
- Взаимная аутентификация клиента и сервера для создания высокодоверенных каналов управления.
Наблюдаемый образец представлял собой 64-битный ELF-бинарный файл, который был обфусцирован с помощью другого инструмента с открытым исходным кодом под названием Garble. В данном случае угрожающий субъект сначала загрузил сценарий config.sh на скомпрометированный сервер SAP, используя начальную веб-оболочку helper.jsp. Этот сценарий был загружен с сайта ocr-freespace.oss-cn-beijing.aliyuncs[.]com.
Этот образец GOREVERSE использует жестко закодированный адрес C2 и номер порта 47.97.42[.]177:3232. IP-адрес 47.97.42[.]177 также был связан с вредоносным ПО, основанным на инструменте с открытым исходным кодом SUPERSHELL.
Обратный SSH SOCKS прокси
Palo Alto наблюдали, как злоумышленник выполнил следующую команду PowerShell для загрузки подозрительной полезной нагрузки.
Домен pages[.]dev используется легитимной службой Cloudflare, которая может разворачивать веб-сайты. В данном примере на домене d-69b.pages[.]dev был размещен сценарий PowerShell в Base64-кодировке. Декодированный скрипт выполняет несколько действий:
- Получает доменное имя и имя пользователя взломанной системы, которые злоумышленник использует для создания закрытого ключа.
- Убивает все запущенные процессы ssh.exe и sshd.exe.
- Создает временные каталоги для загрузки и хранения файлов OpenSSH с GitHub
- Генерирует SSH-ключи и загружает локальный закрытый ключ на жестко заданный злоумышленником C2-сервер 45.76.93[.]60
- Использует ssh.exe для создания удаленного туннеля к серверу C2.