SLEEPWALKER: бэкдор, который спит до прихода одного «волшебного пакета»

· Безопасность
Независимый исследователь описал ранее неизвестный Windows-бэкдор, который бездействует в памяти, пока не получит специально сформированный сетевой пакет, а затем исполняет команды на собственном языке из 23 инструкций.

cover.svg

Независимый исследователь вредоносного ПО Доминик Райхель, ранее работавший в Unit 42 компании Palo Alto Networks, опубликовал разбор ранее не описанного бэкдора для Windows под названием SLEEPWALKER. Образец — неподписанная 64-битная DLL размером 59 904 байта. Она выдаёт себя за системную библиотеку Microsoft dpapi.dll, экспортируя те же семь функций защиты данных, и предназначена для side-loading в ERAAgent.exe — исполняемый файл ESET Management Agent.

Молчит, пока не постучат

Главная особенность SLEEPWALKER в том, что он ничего не делает сам. В файле нет ни доменов, ни IP-адресов, ни URL, и он не устанавливает исходящих соединений — заражённая машина выглядит чистой для инструментов, следящих за обращениями к известной вредоносной инфраструктуре. Вместо этого бэкдор бесконечно слушает все сетевые интерфейсы в ожидании одного специально сформированного пакета. Слушатель захватывает весь проходящий трафик, включая адресованный другим машинам, поэтому шлюз, VPN-сервер или узел на стыке сегментов может случайно поймать триггер, предназначенный для соседа.

Получив сигнал, SLEEPWALKER исполняет команды, приходящие в виде байткода на языке из 23 инструкций собственной разработки. Даже восстановив ключ шифрования (AES-256-CCM), аналитик получит опкоды в формате, который существует только внутри этого файла. Райхель считает такой подход признаком «целенаправленной, хорошо обеспеченной ресурсами операции, а не оппортунистической».

Что умеет язык из 23 команд

Инструкции покрывают планирование задач, несколько способов передачи данных, поэтапную доставку файлов с проверкой по SHA-256 перед запуском и исполнение кода прямо в памяти. Ни одна команда не пишет на диск. Транспортов шесть: TCP, UDP, ICMP, именованные каналы SMB с перемещением по сети, «сырой» перехват пакетов и VMware VMCI. Трафик VMCI идёт через слой виртуализации, минуя сетевой адаптер, — перехват между двумя машинами его попросту не увидит.

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

Не входная дверь, а последствие взлома

SLEEPWALKER — это постэксплуатационный имплант, а не точка входа: чтобы записать DLL в нужную директорию, оператор уже должен обладать правами локального администратора. Side-loading опирается на порядок поиска DLL в Windows, а не на уязвимость в продуктах ESET, так что «патчить» здесь нечего — ответом на подтверждённое совпадение служит реагирование на инцидент и пересборка системы. ESET по состоянию на 26 августа не выпустила никаких заявлений.

Райхель не смог привязать образец к известной группировке, установить жертву или страну и даже определить, применялся ли он в реальных атаках. Он опубликовал индикаторы компрометации, YARA-правило и PowerShell-сканер, отметив, что покрытие детектированием на момент публикации было низким.


Источник: The Hacker News

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.