Бэкдор Sleepwalker для Windows маскируется под ESET и ждёт секретный пакет

Бэкдор Sleepwalker для Windows маскируется под ESET и ждёт секретный пакет

Исследователь вредоносного ПО Доминик Райхель опубликовал технический разбор ранее не описанного бэкдора для Windows под названием Sleepwalker. Материал подготовлен Джессикой Лайонс для The Register, это прямой инфосек-репортаж, а не сатира.

Бэкдор маскируется под системную библиотеку Microsoft dpapi.dll, копируя все семь её экспортируемых функций, и попадает в систему методом DLL sideloading, подгружается процессом ERAAgent.exe, агентом управления антивируса ESET. Убедившись, что запущен внутри ожидаемого процесса, Sleepwalker переходит в спящий режим в памяти, из-за чего его не видят обычные антивирусы.

В отличие от типичных бэкдоров, которые сами выходят на связь с управляющим сервером, Sleepwalker полностью пассивен: он не открывает портов и не инициирует соединений, а лишь следит за сетевым трафиком в поисках особого «магического пакета». Обнаружив такой пакет, бэкдор расшифровывает его содержимое алгоритмом AES-256-CCM и выполняет как команду. Райхель поясняет: «Важно не само появление пакета, а то, что он несёт: не читаемую команду, а короткую программу на языке команд, придуманном самим бэкдором. Его 23 инструкции охватывают планирование, несколько способов передачи данных, поэтапную доставку файлов и выполнение кода прямо в памяти».

Собственный командный язык Sleepwalker насчитывает 23 инструкции. Помимо базовых операций и распознавания «магического пакета», в нём есть четыре инструкции для передачи данных, одна устанавливает TCP-соединение с указанным адресом и портом (в том числе может использовать VMware VMCI вместо обычного сетевого адреса), другая пишет данные в именованные каналы Windows с опциональной аутентификацией. Ещё пять инструкций отвечают за приём входящих задач через TCP/UDP-порты и именованные каналы, и ещё пять, за сборку и запуск программ.

По словам Райхеля, такая архитектура «в целом характерна для целевой, хорошо ресурсно обеспеченной операции, а не оппортунистической атаки». Он также отметил, почему бэкдор так трудно обнаружить: «Поскольку бэкдор никогда не выходит на связь сам и по умолчанию не открывает никакого заметного слушающего порта, инструменты, которые отслеживают соединения с известно вредоносными доменами или необычный исходящий трафик, ничего необычного не увидят».

При этом ключевые вопросы остаются без ответа. Райхель прямо заявляет: «У меня нет данных о сборе информации, которые связывали бы файл с подтверждённым проникновением, поэтому я не могу назвать ни жертву, ни отрасль, ни страну, ни пострадавшую организацию». Он также не нашёл кода, который указывал бы на конкретную группировку: «Я не нашёл связанного кода, который подтверждал бы принадлежность к известной группе, и по одному образцу нельзя установить, когда и насколько широко Sleepwalker применялся, существуют ли его варианты и является ли он частью продолжающейся кампании». Неизвестен и вектор первоначального заражения, как именно вредоносная DLL попадает на машину жертвы.

Для потенциально заражённых систем Райхель подготовил диагностические инструменты, набор для декодирования байт-кода бэкдора, изучения зашифрованных артефактов и безопасного воспроизведения принимающего пайплайна без исполнения команд и передачи трафика, а также опубликовал скрипт для очистки системы после обнаружения. Пострадавших он просит связываться с ним напрямую.

Ключевые факты

  • Бэкдор Sleepwalker маскируется под системную DLL dpapi.dll Windows, копируя все семь её экспортируемых функций, и загружается методом DLL sideloading через процесс ERAAgent.exe, агент управления антивируса ESET.
  • Он полностью пассивен: не открывает портов и не выходит на связь сам, а ждёт в памяти особый «магический пакет», после чего расшифровывает его AES-256-CCM и выполняет как команду.
  • Собственный язык команд бэкдора содержит 23 инструкции: четыре, для передачи данных (включая TCP-соединения и поддержку VMware VMCI), пять, для приёма входящих задач, пять, для сборки и запуска программ.
  • Исследователь Доминик Райхель не смог установить ни жертву, ни отрасль, ни причастную группировку, образец обнаружен без контекста заражения, и вектор первоначального проникновения неизвестен.
  • Райхель опубликовал диагностический набор для декодирования бэкдора и скрипт для его удаления после обнаружения.

Почему это важно

Sleepwalker демонстрирует уровень инженерной проработки, нехарактерный для массового вредоносного ПО: собственный шифрованный командный язык, полная пассивность (никаких исходящих соединений и открытых портов) и маскировка под легитимный компонент антивируса через DLL sideloading. По оценке самого Райхеля, такая архитектура типична для целевой, хорошо ресурсно обеспеченной операции, а не для оппортунистической атаки, это редкий публичный разбор инструмента такого класса.

Кому это важно

В первую очередь, специалистам по инфобезопасности и администраторам Windows-инфраструктуры, особенно тем, кто использует антивирус ESET (его процесс ERAAgent.exe служит вектором доставки для Sleepwalker). Полезно и более широкому кругу защитников: техника пассивного «магического пакета» и маскировки под системную DLL применима как шаблон атаки за пределами конкретного образца.

Как это применить

Райхель опубликовал набор диагностических инструментов: средства для декодирования байт-кода бэкдора, изучения зашифрованных артефактов и безопасного воспроизведения принимающего пайплайна без исполнения команд и передачи трафика, а также отдельный скрипт для очистки системы после обнаружения. Организациям, использующим ERAAgent.exe, стоит проверить присутствие поддельной dpapi.dll в связанных каталогах; пострадавших исследователь просит писать ему напрямую.

Можно ли доверять

Источник, прямой инфосек-репортаж The Register (не из юмористической рубрики издания), основанный на техническом разборе исследователя вредоносного ПО Доминика Райхеля с прямыми цитатами и конкретными техническими деталями (число инструкций, алгоритм шифрования, задействованные процессы). Материал честно оговаривает границы своих выводов: сам Райхель прямо заявляет об отсутствии данных для атрибуции и определения жертв.

Риски и подводные камни

Полная пассивность Sleepwalker означает, что традиционный сетевой мониторинг, отслеживание исходящих соединений и обращений к известно вредоносным доменам, ничего не покажет, даже если бэкдор уже активен в системе. Атрибуция, масштаб распространения и способ первоначального заражения неизвестны, поэтому нельзя исключить, что это лишь один образец из более широкой, пока не обнаруженной кампании.

«Важно не само появление пакета, а то, что он несёт: не читаемую команду, а короткую программу на языке команд, придуманном самим бэкдором. Его 23 инструкции охватывают планирование, несколько способов передачи данных, поэтапную доставку файлов и выполнение кода прямо в памяти.»

— Доминик Райхель, исследователь вредоносного ПО