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.
Индикаторы компрометации
IPv4
- 101.32.26.15
- 101.32.26.154
- 101.99.91.107
- 103.207.14.195
- 107.173.135.116
- 108.171.195.163
- 13.232.191.219
- 138.68.61.82
- 158.247.224.100
- 188.166.87.88
- 192.3.153.18
- 205.169.39.55
- 206.188.197.52
- 223.184.254.150
- 31.192.107.157
- 45.76.93.60
- 47.97.42.177
- 51.79.66.183
- 65.49.235.210
- 85.106.113.168
IPv4 Port Combinations
- 138.68.61.82:4544
- 47.97.42.177:3232
Domains
- d-69b.pages.dev
- ocr-freespace.oss-cn-beijing.aliyuncs.com
- overseas-recognized-athens-oakland.trycloudflare.com
URLs
- http://101.32.26.154/rymhNszS/ansgdhs.bat
- http://108.171.195.163:8000/$FILE_NAME$.txt
- http://158.247.224.100:38205/EACA38DB.tmp
- http://31.192.107.157:38205/ReportQueue.exe
- http://65.49.235.210/download/2.jpg
- https://d-69b.pages.dev/sshb64.ps1
- https://overseas-recognized-athens-oakland.trycloudflare.com/v2.js
SHA256
- 1abf922a8228fd439a72cfddf1ed08ea09b59eaa4ae5eeba1d322d5f3e3c97e8
- 2e6f348f8296f4e062c397d2f3708ca6fdeab2c71edfd130b2ca4c935e53c0d3
- 3f5fd4b23126cb21d1007b479954af619a16b0963a51f45cc32a8611e8e845b5
- 427877aadd89f427e1815007998d9bb88309c548951a92a6e4064df001e327c2
- 4b17beee8c2d94cf8e40efc100651d70d046f5c14a027cf97d845dc839e423f9
- 5919f2eab8a826d7ba84e6c413626f5d11ed412d7df0d3ab864f31d3a8db3763
- 598b38f44564565e0e76aa604f915ad88a20a8d5b5827151e681c8866b7ea8b0
- 5a8ddc779dcf124fe5692d15be44346fb6d742322acb0eb3c6b4e90f581c5f9e
- 69bb809b3fee09ed3ec9138f7566cc867bd6f1e8949b5e3daff21d451c533d75
- 6c6c984727dc53af110ed08ec8b15092facb924c8ad62e86ec76b52a00a41a40
- 7aab6ec707988ff3eec37f670b6bb0e0ddd02cc0093ead78eb714abded4d4a79
- 888e953538ff668104f838120bc4d801c41adb07027db16281402a62f6ec29ef
- 9fb57a4c6576a98003de6bf441e4306f72c83f783630286758f5b468abaa105d
- b3e4c4018f2d18ec93a62f59b5f7341321aff70d08812a4839b762ad3ade74ee
- b9ef95ca541d3e05a6285411005f5fee15495251041f78e715234b09d019b92c
- c7b9ae61046eed01651a72afe7a31de088056f1c1430b368b1acda0b58299e28
- df492597eb412c94155a7f437f593aed89cfec2f1f149eb65174c6201be69049