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

Cisco Talos выявила новую кампанию вымогателей DeadLock: злоумышленники используют уязвимый драйвер Baidu Antivirus (CVE-2024-51324), чтобы отключать EDR-системы через технику Bring Your Own Vulnerable Driver (BYOVD), ломают защиту PowerShell-скриптом, стирают резервные копии и шифруют файлы на Windows с помощью собственного алгоритма шифрования. При этом группа не ведёт сайт утечек и общается с жертвами через мессенджер Session.
По данным Talos, за атаками стоит финансово мотивированный оператор, который как минимум за пять дней до шифрования получает доступ к инфраструктуре жертвы и постепенно готовит систему к развёртыванию DeadLock. Один из ключевых элементов цепочки — BYOVD: злоумышленники сами приносят в систему легитимный, но уязвимый драйвер Baidu Antivirus BdApiUtil.sys, замаскированный под DriverGay.sys, и собственный загрузчик EDRGay.exe. Загрузчик в пользовательском режиме инициализирует драйвер, устанавливает с ним соединение через CreateFile() и начинает перечислять процессы в поисках антивирусных и EDR-решений.
Дальше эксплуатируется уязвимость CVE-2024-51324 — ошибка управления привилегиями в драйвере. Загрузчик отправляет в драйвер специальную команду DeviceIOControl() с кодом IOCTL 0x800024b4 и PID целевого процесса. На стороне ядра драйвер трактует её как запрос на завершение процесса, но из-за уязвимости не проверяет права вызывающей программы. Работая с привилегиями ядра, драйвер просто вызывает ZwTerminateProcess() и мгновенно «убивает» защитный сервис, открывая дорогу дальнейшим действиям злоумышленников.
Перед запуском шифровальщика оператор выполняет на машине жертвы подготовительный PowerShell-скрипт. Он сначала проверяет права текущего пользователя и при необходимости перезапускает себя с административными привилегиями через RunAs, обходя UAC и ослабляя стандартные ограничения PowerShell. Получив права администратора, скрипт отключает Windows Defender и другие средства защиты, останавливает и переводит в отключённое состояние службы резервного копирования, базы данных и прочий софт, который может помешать шифрованию. Параллельно он удаляет все snapshots теневых копий томов, лишая жертву стандартных средств восстановления, а в конце самоуничтожается, усложняя форензику.
При этом в скрипте предусмотрен детальный список исключений для системно важных служб. В него входят сервисы сети (WinRM, DNS, DHCP), механизмы аутентификации (KDC, Netlogon, LSM) и базовые компоненты Windows (RPCSS, Plug and Play, системный журнал событий). Это позволяет атакующим выключать максимум защитных и прикладных компонентов, не «роняя» систему целиком, чтобы жертва могла прочитать записку, связаться с вымогателями и заплатить. Отдельные фрагменты скрипта, связанные с удалением сетевых шар и альтернативными методами остановки процессов, Talos заметила закомментированными — видно, что авторы оставили их как «опции» под конкретные цели. Часть исключений скрипт подгружает динамически из внешнего файла run[.]txt.
Судя по телеметрии, доступ в сеть жертвы злоумышленники получают через скомпрометированные действительные учётные записи. После первичного входа они настраивают устойчивый удалённый доступ: через команду reg add изменяется значение fDenyTSConnections в реестре, чтобы включить RDP, затем с помощью netsh advfirewall создаётся правило, открывающее порт 3389, а служба RemoteRegistry переводится в режим по требованию и запускается — это даёт возможность управлять реестром удалённо.
За день до шифрования оператор устанавливает на одну из машин новый экземпляр AnyDesk, хотя другие инсталляции этого ПО уже есть в инфраструктуре, что делает этот запуск подозрительным. AnyDesk разворачивается «тихо», с автозапуском вместе с Windows, настроенным паролем для безучастного доступа и отключёнными обновлениями, которые могли бы нарушить сессию злоумышленников. После этого начинается активная разведка и перемещение по сети: используются команды nltest для поиска контроллеров домена и структуры домена, net localgroup /domain для перечисления привилегированных групп, ping и quser для проверки доступности и активных пользователей, а затем mstsc и mmc compmgmt.msc для подключения к другим хостам по RDP или через оснастку управления удалённым компьютером. Возможное обращение к внутренним веб-ресурсам фиксируется по запуску iexplore.exe с внутренними IP-адресами.
Отдельный этап — целенаправленное ослабление встроенной защиты Windows. Talos зафиксировала использование штатного системного бинарника SystemSettingsAdminFlows.exe для изменения настроек Windows Defender. Последовательность команд отключает защиту в режиме реального времени, облачные функции, отправку образцов подозрительных файлов и расширенные уведомления. Формально всё делает легитимная утилита Windows, что помогает обходить некоторые правила детектирования.
Непосредственным «боевым» компонентом в цепочке выступает шифровальщик DeadLock, ориентированный на Windows-системы. Бинарь написан на C++ и, по данным Talos, был скомпилирован в июле 2025 года — это совпадает со временем появления группы на радаре исследователей. После запуска DeadLock сначала сбрасывает в каталог ProgramData встроенный batch-скрипт, который меняет кодировку консоли на UTF-8 командой chcp 65001, запускает основной бинарь шифровальщика и удаляет сам себя. Далее используется техника process hollowing: вредоносный код внедряется в процесс rundll32.exe, маскируясь под стандартный системный компонент.
Работу DeadLock определяет массивный конфигурационный блок размером 8 888 байт, встроенный прямо в исполняемый файл. При старте шифровальщик разбирает его по разделителям «|» и загружает в память набор параметров: «посев» для криптографии, тайминги, списки процессов и служб для завершения, перечни исключаемых расширений и путей, идентификатор кампании, текст вымогательской записки, HTML-маркер и визуальные данные. В конфигурации обнаружена жёстко заданная 65-символьная числовая строка, которая используется как базовый ключ шифрования, а также тайминги, выступающие в роли источников для генерации псевдослучайных последовательностей и задержек выполнения.
«Список на уничтожение» включает как стандартные утилиты Windows (Explorer, PowerShell, «Диспетчер задач»), так и высокоценные цели: средства удалённого доступа (AnyDesk, RustDesk, mstsc), облачные хранилища (Dropbox, OneDrive), компоненты безопасности (Antimalware Service, SecurityHealthService, SmartScreen). Отдельно выделены сервисы баз данных (Microsoft SQL Server, Sybase SQL Anywhere, MySQL), решения резервного копирования (Veeam, Veritas Backup Exec, Acronis, CA Arcserve, Carbonite), модули антивирусов и EDR (Symantec/Norton, McAfee, 360 Security) и популярные бизнес-приложения вроде QuickBooks, Microsoft Exchange, Apache Tomcat и инструментов VMware. Одновременно в конфиге прописаны жёсткие списки исключений: системные папки вроде Windows, Program Files, ProgramData, System Volume Information, а также критически важные файлы и расширения — исполняемые файлы, драйверы, загрузчики и файлы конфигурации профилей. Это позволяет максимально зашифровать данные, не разрушив работоспособность ОС до состояния полной небоеспособности.
Сам процесс шифрования построен довольно изощрённо. DeadLock рекурсивно обходит файловую систему, отбрасывая файлы и каталоги из списков исключений, и использует собственный потоковый шифр вместо стандартных Windows-криптоAPI. Ключевые потоки генерируются на основе системного времени (через GetSystemTimeAsFileTime) с дополнительными математическими операциями, формирующими 8-байтные псевдослучайные последовательности. Файлы обрабатываются блоками по 16 байт: содержимое валидируется как UTF-8, шифруется в памяти с использованием сгенерированного ключевого потока и только потом перезаписывается на диск. В конце каждый зашифрованный файл получает новое имя с добавлением шестнадцатеричного идентификатора и расширения .dlock. Для ухода от песочниц в логике заложена задержка около 50 секунд перед началом активного шифрования.
Параллельно DeadLock вносит заметные визуальные изменения в систему. В ProgramData он сбрасывает icon-файл, batch-скрипт и bitmap-изображение, а затем меняет иконку для расширения .dlock через ключ DefaultIcon в разделе Software реестра — все зашифрованные файлы получают свой «брендированный» значок. Также шифровальщик подменяет обои рабочего стола на кастомное изображение и отключает командные утилиты, чтобы усложнить ручное восстановление. В каждом каталоге, где были зашифрованы файлы, оставляется вымогательская записка.
Содержание записки устроено по классическому сценарию: авторы заявляют об использовании «военного» уровня шифрования, расписывают пошаговую (из шести шагов) процедуру восстановления и предупреждают от самостоятельных попыток расшифровки или переименования файлов. Оплата выкупа принимается в Bitcoin или Monero, а в имени файла записки используется персональный идентификатор жертвы в формате READ ME.<hex_identifier>.txt. В качестве канала связи злоумышленники предлагают мессенджер Session — его сквозное шифрование и анонимность позволяют минимизировать риски деанонимизации оператора и строить общение вокруг уникального Session ID.
Комбинация BYOVD-эксплуатации уязвимого драйвера, агрессивного отключения средств защиты, кастомного шифра и отказа от публичного «сливного» сайта показывает, что операторы DeadLock делают ставку на тихий, но технологически продвинутый шифровой шантаж. Для потенциальных жертв это означает, что одних обновлённых антивирусов уже недостаточно: критично следить за уязвимыми драйверами, контролировать использование легитимных утилит Windows в нетипичных сценариях, мониторить установки удалённых доступов вроде AnyDesk и обращать внимание на нетипичную PowerShell-активность задолго до появления расширения .dlock на файловых серверах.