SLEEPWALKER: скрытный бэкдор Windows с DLL side-loading и байт-кодом
SLEEPWALKER представляет собой пассивный бэкдор для Windows, который использует технику подмены DLL, известную как DLL side-loading. Вредоносная библиотека загружается в процесс ESET Management Agent, ERAAgent.exe, и не устанавливает постоянное соединение с инфраструктурой управления.
Механизм загрузки
ВПО выполнено в виде неподписанной 64-битной DLL, которая маскируется под dpapi.dll. Информация о версии в файле скопирована из легитимного агента ESET. При проверке SLEEPWALKER анализирует только имя хост-процесса. Путь к исполняемому файлу и его цифровая подпись не проверяются.
Загрузка библиотеки через DllMain или один из семи перенаправленных экспортов DPAPI запускает фоновый поток. Он инициализирует ВПО и активирует собственный интерпретатор байт-кода.
Пассивная модель управления
В отличие от традиционных бэкдоров, SLEEPWALKER не отправляет beacon, не обращается к фиксированной инфраструктуре управления и не содержит встроенных доменных имён, IP-адресов, URL или полезных нагрузок второго этапа.
Проанализированная конфигурация содержит только пятибайтовую инструкцию. Она переводит все сетевые интерфейсы в промискуивный режим и бесконечно ожидает специально сформированный пакет-триггер.
Сырые задания проходят проверку с помощью CRC-32 и защищаются алгоритмом AES-256-CCM. После расшифровки полезная нагрузка интерпретируется как проприетарный байт-код, а не как набор команд, читаемых человеком.
Возможности командного языка
Командный язык SLEEPWALKER включает 23 инструкции. Они поддерживают следующие функции:
- приостановку работы и запланированное выполнение;
- повторение операций;
- обмен данными по протоколам TCP, UDP и ICMP;
- коммуникацию через именованные конвейеры SMB и VMware VMCI;
- запуск сетевых прослушивателей;
- поэтапную сборку полезной нагрузки с проверкой по SHA-256;
- работу с задачами, сжатыми с помощью LZMA;
- зашифрованную загрузку задач из локальных файлов;
- прямое выполнение shellcode в памяти.
ВПО также поддерживает триггеринг на основе DNS, однако в проанализированной конфигурации bootstrap эта функция не активирована. Задачи, передаваемые через DNS, используют кодирование Base32 поверх AES-256-CCM. Вложенные запланированные программы дополнительно подвергаются XOR-обфускации в памяти.
Изменение параметров Windows
SLEEPWALKER способен изменять параметры защиты Windows, чтобы обеспечить доступ к именованным каналам без аутентификации. Для этого ВПО устанавливает параметр EveryoneIncludesAnonymous, добавляет имя собственного канала в NullSessionPipes и назначает разрешительные ACL для каналов.
Обмен данными через VMCI может происходить между гостевыми системами VMware либо между гостевой системой и хостом. Такой трафик не отображается в стандартных сетевых захватах.
Срабатывание на основе сырых пакетов требует, чтобы трафик достигал контролируемого интерфейса. После запуска задания могут инициировать исходящие соединения с адресатами, которыми управляет оператор.
Что неизвестно об использовании SLEEPWALKER
В ходе анализа не удалось идентифицировать злоумышленника, жертву, кампанию, цепочку доставки или подтверждённое использование реализованных возможностей.
Возможности обнаружения
К признакам, которые могут помочь выявить SLEEPWALKER, относятся:
- неожиданные файлы dpapi.dll без цифровой подписи, расположенные рядом с ERAAgent.exe;
- подозрительная активность внутри доверенного процесса ESET Management Agent;
- аномальные настройки анонимного SMB;
- необычное поведение, связанное с именованными каналами;
- признаки выполнения кода в памяти.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



