Злоумышленники запускают NeedyMantis через DLL sideloading
NeedyMantis, модульное семейство вредоносного ПО, наблюдают как минимум с октября 2025 года в ходе целенаправленных вторжений в телекоммуникационные организации, университеты, медицинские некоммерческие организации, межправительственные организации и подрядчиков государственных органов. Microsoft связывает с этим семейством как минимум одного пользователя, Storm-3069, и считает, что наблюдаемая активность соответствует действиям злоумышленников из Китая. Атрибуция и количество операторов остаются нерешёнными вопросами.
Развёртывание и устройство архивов NeedyMantis
Злоумышленники обычно разворачивают NeedyMantis после получения доступа. Вредоносное ПО обеспечивает закрепление, длительный доступ и проведение дальнейших операций. Его упаковывают вместе с легитимным программным обеспечением и запускают с помощью техники боковой загрузки DLL (DLL sideloading). Злоумышленники злоупотребляли приложениями Poedit, curl, Vim и TightVNC, а также маскировались под компоненты DLL от Microsoft Office, Broadcom, Intel, NVIDIA и других производителей.
В одном из инцидентов злоумышленники применили Impacket, чтобы скопировать из сетевого ресурса легитимное приложение, вредоносную DLL и архив перед запуском приложения. Загрузчик первого этапа извлекает из пользовательского архива загрузчик второго этапа и запускает его. Для затруднения анализа первый загрузчик использует обфусцированные строки в стеке и динамически разрешает API Windows.
Архивы NeedyMantis сжаты и зашифрованы в собственном формате. Внешний слой и имена отдельных файлов декодируются с помощью XOR, а содержимое файлов распаковывается функцией RtlDecompressBuffer. В архивах собраны легитимные утилиты и вредоносные компоненты: конфигурационные данные, DLL для связи через WebSockets, шеллкод, а также компоненты для закрепления или загрузки модулей.
Загрузчики и основной компонент
Загрузчик второго этапа может маскироваться под скрипт PowerShell и содержать x64-шеллкод. Этот шеллкод декодирует и распаковывает основной компонент NeedyMantis. Основной компонент управляет каналами управления и контроля (C2) и динамически загружает дополнительные модули.
Конфигурационные данные могут храниться в файле, замаскированном под dnsapi.dll. В них могут содержаться хост C2, порт, URI, компонент связи и интервалы сна. Обмен данными начинается с HTTPS-запроса GET, а затем переходит на WebSockets с использованием бинарного протокола.
Обмен данными и управление модулями
Протокол использует случайный буфер для получения ключа RC4, сжатые данные сообщений и рандомизированные значения протокола. NeedyMantis поддерживает команды для загрузки и выгрузки модулей, а также передачи им данных. Эти команды позволяют расширять функциональность вредоносного ПО за пределы возможностей, которые наблюдались непосредственно.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



