Linux-имплант эксплуатирует CVE-2025-53521 в F5 BIG-IP APM
Вредоносное ПО представляет собой Linux-имплант, нацеленный на среды BIG-IP Access Policy Management (APM) на базе Apache/PHP, в частности на развертывания webtop. F5 связывает активность, отслеживаемую как c05d5254, с эксплуатацией уязвимости CVE-2025-53521.
Уязвимость позволяет удаленно выполнить код без аутентификации в BIG-IP APM, если политика доступа настроена на виртуальном сервере. Проанализированный образец, по всей видимости, является полезной нагрузкой второго этапа.
Заражение и закрепление в системе
Согласно сообщениям, связанный компонент первого этапа заражает /usr/sbin/httpd, сохраняется при обновлении образов BIG-IP, изменяет конфигурацию SELinux и развертывает имплант второго этапа. Для этого потенциально могут использоваться рабочие процессы обновления в каталоге /mnt/tm_install.
Имплант применяет собственную стратегию загрузки ELF и выполняет манипуляции во время работы системы. Операционные строки он расшифровывает с помощью RC4, используя зашитый ключ TrswBWIl90Z5e38n. Кроме того, вредоносная программа анализирует /proc/self/exe и /proc/self/maps, а также перехватывает __libc_start_main, чтобы выполнить код до вызова функции main() хост-приложения.
Перехват Apache и PHP
Затем имплант перехватывает функции Apache Portable Runtime, в частности apr_dso_load, и ожидает загрузки Apache-модуля PHP, libphp.
После обнаружения модуля в памяти имплант временно изменяет права доступа к памяти, вносит изменения в цели перемещений и PC-относительных вызовов, а также перенаправляет функции, включая:
open;close;mmap;__fxstat.
Эти хуки обеспечивают работу веб-шелла без использования файлов. Когда PHP открывает три целевых файла .php3, связанных с веб-интерфейсом BIG-IP APM webtop, имплант фиксирует файловые дескрипторы и изменяет последующие отображения памяти.
PHP получает версию скрипта в оперативной памяти. Перед легитимным кодом в нее добавлен встроенный шелл, при этом измененное содержимое не записывается на диск.
Обработка команд веб-шелла
Шелл считывает данные запроса из php://input и требует магический префикс BSOHAzPB. Оставшееся содержимое он расшифровывает с использованием ключа, внедряемого во время выполнения, например wSLjN1beuR, после чего выполняет его с помощью eval.
Ответы импланта используют HTTP-статус 201 и заголовок Content-Type: text/css; charset=utf-8.
Интерактивный доступ через UNIX-сокет
Имплант также создает локальный UNIX-сокет в /run/bigtlog.pipe. После отложенной активации через apr_time_now рабочий поток создает сокет и может перенаправить потоки ввода, вывода и ошибок в /bin/bash.
Такая схема обеспечивает интерактивный доступ без TCP-слушателя.
Сигналы обнаружения
К релевантным сигналам обнаружения относятся:
- чтение Apache файла
/proc/self/maps; - кратковременное изменение разрешений с RWX на RX в
libphp; - необычные POST-запросы к путям
.php3; - запуск процесса
/bin/bashиз процессов Apache.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



