Исследователи Unit 42 описали имплант PEERSTITCH для FortiOS, который внедряется в память системных процессов и может менять обработку определённых SSL/VPN-сеансов. Данных о затронутых организациях в России или СНГ в исследовании нет: активность обнаружили при длительном проникновении в сеть провайдера управляемых телекоммуникационных услуг в сентябре 2024 года.
PEERSTITCH связывают с кластером CL-STA-0954, который также отслеживается как UNC5820. Unit 42 оценивает его как предполагаемого злоумышленника высокого уровня. В описанном инциденте первоначальный доступ был получен через критическую уязвимость FortiManager FortiJump — CVE-2024-47575.
От FortiManager к управляемым FortiGate
После компрометации FortiManager атакующие похитили архив с актуальными конфигурациями, криптографическими материалами и файлами баз данных, относящимися более чем к 500 управляемым межсетевым экранам FortiGate. В архиве находились:
- серийный номер FortiManager и сведения о его связях с подключёнными устройствами;
- текущие конфигурации более 500 FortiGate — как во внутренней инфраструктуре провайдера, так и в сетях его клиентов;
- базы SQLite для централизованного управления;
- перечень более чем 500 серийных номеров FortiGate с соответствующими публичными IP-адресами;
- карты внутренней топологии, таблицы маршрутизации и конфигурации интерфейсов;
- зашифрованные административные, локальные и SSL/VPN-учётные данные;
- зашифрованные материалы доверия, включая открытые сертификаты и закрытые ключи.
По данным Unit 42, похищенную информацию применяли для сетевой разведки, закрепления, перехвата трафика, создания несанкционированных SSL/VPN-сеансов FortiGate на периферийных устройствах и развёртывания бэкдоров. Для установки PEERSTITCH операторы использовали CVE-2025-61624: при наличии привилегированного доступа она позволяла произвольно записывать или удалять файлы.
CVE-2025-61624 получила оценку CVSS 5,4. Это ошибка обхода путей в интерпретаторе командной строки FortiOS, FortiPAM, FortiProxy и FortiSwitchManager. При наличии привилегированного доступа специально подготовленные аргументы к существующим командам позволяют произвольно записывать или удалять файлы. Fortinet исправила проблему в апреле 2026 года.
Имплант без постоянных файлов и отдельного сетевого канала
PEERSTITCH представляет собой 64-разрядный исполняемый файл Linux для ARM64, написанный на C. Как отмечают исследователи, внедрённый в память имплант не оставляет постоянных бинарных файлов на диске, не открывает порты для приёма соединений и не создаёт собственных исходящих сетевых подключений. Вместо этого он использует трафик, который генерируют штатные процессы скомпрометированного устройства.
На этапе доставки и развёртывания автоскрипт, связанный с PEERSTITCH, загружает с внешнего сервера 23.240.77[.]233:8085 пять компонентов. Этот адрес относится к доставке компонентов загрузчиком, а не к сетевому каналу уже внедрённого в память импланта:
- pM.js — самоудаляющийся сценарий подготовки среды;
- a.js, сохраняемый как index.js, — модуль среды выполнения JavaScript на Emscripten;
- a.wasm, сохраняемый как index.wasm, — скомпилированный модуль WebAssembly;
- b.js, сохраняемый как ipssem.js, — сценарий координации развёртывания;
- dd, сохраняемый как lldprx, — нативный ELF-инжектор для ARM64, составляющий ядро PEERSTITCH.
После задержки ipssem.js запускает lldprx. Инжектор модифицирует память двух ключевых демонов FortiOS: /bin/miglogd и /bin/iked. Он находит связанные с ними запущенные процессы, анализирует структуру их памяти, присоединяется к ним через ptrace и останавливает выполнение с помощью PTRACE_INTERRUPT. Затем lldprx выделяет исполняемую память, записывает туда вредоносный код и перенаправляет поток выполнения через внедрённый код.
При выборе SIEM-платформы для централизованной корреляции журналов можно отдельно изучить Security Capsule SIEM и сопоставить её с требованиями своей инфраструктуры.
Цель этого этапа Unit 42 называет созданием скрытого резидентного в памяти канала обмена между двумя легитимными процессами FortiOS. Обычное сетевое соединение или файл для этого не используются: штатные процессы одновременно служат каналом и прикрытием для обхода механизмов обнаружения.
Метки в трафике и альтернативная обработка VPN
Внедрённый в miglogd хук распознаёт маркеры в данных, проходящих через процесс. Исследователи выделили две конкретные метки:
- значение TCP-порта 8550, встроенное в данные трафика и не являющееся портом для приёма соединений;
- IP-адрес 169[.]254[.]0[.]1, используемый как локальный идентификатор канала для сопоставления шаблонов.
При обнаружении шаблона miglogd передаёт связанный с ним токен сеанса или идентификатор в iked. Хук в iked ищет этот идентификатор при обработке последующих VPN-сеансов. Если метка присутствует в буфере вставки конкретного VPN-сеанса, запускается альтернативный путь выполнения, обходящий стандартные проверки безопасности FortiOS.
Таким образом, хуки в miglogd и iked меняют обработку отмеченных VPN-сеансов, а не поднимают отдельный сетевой сервис управления имплантом.
Помимо PEERSTITCH операторы развернули отдельный канал управления. На FortiGate применялся встроенный модуль Apache mod_md для запуска обратной SSH-оболочки. Также, по данным Unit 42, атакующие выдавали себя за платформу FortiManager, чтобы получать данные с управляемых межсетевых экранов на других узлах целевой сети. Исследователи расценили это как признак глубокого знания архитектуры устройств Fortinet, внутреннего устройства FortiOS и протоколов её управления.
Версия об имитации FortiManager и сокрытие следов
Unit 42 допускает, но не считает окончательно установленным, что для имитации FortiManager могли использоваться CVE-2024-26009 и CVE-2024-26008. Эксплуатация этих уязвимостей требует регистрации устройства в FortiGate Cloud/FortiCloud SSO. Ни один из затронутых межсетевых экранов в исследовании там зарегистрирован не был, что ограничивает эту версию.
CL-STA-0954 также противодействовал расследованию: прекращал генерацию syslog, очищал журналы сбоев, нарушал регистрацию телеметрии и автоматически удалял поддельные учётные записи администраторов и объекты автоскриптов после выполнения.
По выводу Unit 42, инцидент показывает риск компрометации нижестоящих сетей через централизованные экосистемы управления периферийными устройствами. PEERSTITCH в этой схеме выступает одноразовым инжектором: он избегает остаточных артефактов на диске и создаёт скрытый межпроцессный мост в памяти. Сохранение долговременного доступа в кампании обеспечивалось также иными средствами.
Практический вывод для организаций с FortiManager и управляемыми FortiGate — учитывать не только состояние исправления CVE-2025-61624, закрытой Fortinet в апреле 2026 года, но и последствия возможной компрометации централизованной управляющей системы. В описанном случае доступ к ней открыл сведения о конфигурациях, адресах, учётных данных и криптографических материалах сотен устройств.
