Китайский руткит RegPhantom использует реестр Windows для скрытой загрузки модулей в ядро

Backdoor

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

Описание

Основная функция руткита - это предоставление привилегированному вредоносному процессу в пользовательском пространстве возможности выполнять рефлективную загрузку произвольных PE-файлов прямо в ядро. При этом загруженный модуль не попадает в стандартные списки загруженных драйверов, становясь невидимым для администраторов и средств безопасности. Инструмент был подписан действительными код-сигнатурами, выданными на китайские компании Guangzhou Xuanfeng Technology Co., Ltd. и Shenzhen Gemo Technology Co., Ltd., что позволяло ему легитимно загружаться в системах с включённой проверкой цифровой подписи драйверов (DSE, Driver Signature Enforcement).

Механизм работы построен на использовании системного вызова "CmRegisterCallback". Драйвер RegPhantom регистрирует в ядре фильтр, который перехватывает все операции с реестром в системе. Однако он реагирует только на очень специфическое событие: попытку записи 56-байтового бинарного значения (тип REG_BINARY). При обнаружении такой записи в любом ключе реестра драйвер копирует данные, расшифровывает их с помощью простого XOR, выполняет команду и возвращает системе статус "Доступ запрещён" (STATUS_ACCESS_DENIED), блокируя фактическую запись. Таким образом, сам реестр никогда не изменяется, а в журналах мониторинга (например, в Process Monitor или через ETW) эта операция выглядит как обычная ошибка прав доступа, не вызывая подозрений.

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

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

С точки зрения обфускации, RegPhantom использует несколько слоёв защиты от анализа. Наиболее заметным является искажение графа потока управления (Control Flow Graph) с помощью непрозрачных предикатов и дублирования базовых блоков. Это сильно затрудняет статический анализ и работу декомпиляторов. Кроме того, все вызовы функций, включая обращения к API ядра, осуществляются через косвенную адресацию, что мешает автоматическим инструментам определять связи внутри бинарного файла. Несмотря на сложность, аналитики отмечают, что шаблоны обфускации повторяются, что делает их уязвимыми для автоматического упрощения с помощью скриптов.

Обнаружение подобной активности в работающей системе крайне затруднительно, поскольку руткит целенаправленно минимизирует свои следы: не оставляет артефактов в реестре, не создаёт файлов на диске после загрузки, стирает исполняемый код из памяти и скрывает загруженные модули от перечисления. Поэтому специалисты рекомендуют сосредоточить усилия на превентивном обнаружении самого драйвера на диске с помощью сигнатурных правил YARA, нацеленных на уникальные последовательности байт в его коде, такие как цикл XOR-расшифровки и диспетчер команд. Активность, связанная с образцами RegPhantom и использующими те же методы обфускации подписанными драйверами, отслеживалась на протяжении нескольких месяцев. География отправки образцов и используемые сертификаты указывают на связь инструмента с угрозой, исходящей из Китая, с умеренной степенью уверенности. Это свидетельствует о развитой и активно поддерживаемой инфраструктуре, которая, вероятно, включает и другие инструменты.

Индикаторы компрометации

SHA256

  • 006e08f1b8cad821f7849c282dc11d317e76ce66a5bcd84053dd5e7752e0606f
  • 9721430672e361eff1f92dd4cc81686635730bc9656f1542411ed2df93dea831
  • a0eee7cd05ca3dbddb57414df99768c05ade18f9c13fb31e686558e636badf26
  • cc123e35363aeace09900bf3de76080eb46f7e04edede742dbdf2d80be129cc0

YARA

Комментарии: 0