Специалисты зафиксировали сложную целенаправленную атаку, построенную на социальной инженерии и многоэтапной доставке вредоносного кода. Злоумышленники замаскировали начальную точку заражения под официальный документ о санкциях Евросоюза, чтобы вызвать доверие у сотрудников внешнеполитических, торговых и юридических отделов компаний. В случае успешного проникновения на рабочую станцию жертвы устанавливается персистентный бэкдор, написанный на Go, который позволяет удалённо управлять системой и похищать данные.
Описание
Как устроена цепочка заражения
Атака начинается с отправки потенциальной жертве HTML-файла с названием на тему санкционной политики ЕС. Этот файл, по данным аналитиков, содержит специальный скрипт, который проверяет тип операционной системы и браузер. Если жертва использует Chrome или Edge на Windows, скрипт с нулевой задержкой перенаправляет её по протоколу "search:" на удалённую WebDAV-папку. Пользователи других платформ (macOS, мобильные устройства, Firefox) видят сообщение о том, что доступ разрешён только через Microsoft Edge или Google Chrome, и блокируются.
Полученный с WebDAV-сервера файл "Russias war against Ukraine EU sanctions Consilium.pdf.lnk" на самом деле является ярлыком LNK, а не PDF. В приведённом отчёте специалисты подробно разобрали его содержимое: двойной клик по такому ярлыку запускает скрытую команду PowerShell, которая параллельно выполняет четыре ключевых действия.
Четыре этапа PowerShell-команды
Сначала Powershell открывает реальный PDF-документ с официальным текстом санкций ЕС, хранящийся на том же удалённом ресурсе. Пользователь видит на экране легитимный файл и естественным образом снижает бдительность. В это же время скрипт переходит в системную временную папку и с помощью команды "echo" построчно записывает исходный код на C# в файл "v.cs". Далее PowerShell ищет компилятор csc.exe в каталоге .NET Framework и немедленно компилирует "v.cs" в исполняемый файл "v.exe".
После компиляции "v.exe" запускается и выполняет две основные задачи. Первая - внесение изменения в реестр: в раздел "HKEY_CURRENT_USER\Environment" добавляется параметр "UserInitMprLogonScript" со значением, запускающим бэкдор при каждом входе пользователя в систему. Вторая - скачивание по протоколу HTTPS (TLS 1.2) основного вредоносного модуля "gqeqwww.exe" с сервера "winserviceguard.center:8443". Этот файл сохраняется как "vdh.exe" в папку "%LOCALAPPDATA%\Microsoft\", где маскируется под обычный системный компонент.
Анализ финального бэкдора
Финальная нагрузка "vdh.exe" представляет собой 64-битный бэкдор, скомпилированный на Go. Его размер около 5,89 МБ, что нетипично мало для Go-программ, но объясняется отсутствием стандартных библиотек с графическим интерфейсом. При запуске бэкдор собирает данные о системе: имя пользователя (через "os/user.Current" с запасным вариантом через переменные окружения) и уникальный идентификатор машины (последовательно опрашивает реестр MachineGuid, WMIC и хостнейм). Затем эти данные объединяются, хешируются алгоритмом HMAC-SHA256 или SHA256, и кодируются в base64 - получается идентификатор хоста.
Далее бэкдор создаёт HTTP-клиент с отключённой проверкой сертификатов TLS, что позволяет C2-серверу использовать самоподписанные сертификаты. Каждые 10 секунд (интервал задаётся параметром "-interval") он отправляет GET-запрос на адрес "winlab.center:45567/capi/v1/load?id=...". В ответе C2 может прислать любую команду для выполнения в командной строке Windows. Получив команду (если длина строки больше 1 символа), бэкдор запускает скрытый процесс "cmd", "powershell" или "pwsh" (по доступности) с параметрами "-NoProfile -NonInteractive" и без показа окна. Результат выполнения (stdout и stderr) перехватывается, упаковывается в JSON и отправляется POST-запросом на тот же C2-сервер по адресу "/capi/v1/save".
Важная особенность - механизм тайм-аута: если выполнение команды превышает заданный лимит (по умолчанию 5 секунд), процесс прерывается, а частичный результат всё равно отправляется. Это позволяет злоумышленнику не ждать бесконечно зависших команд. Также присутствует обработка сигналов операционной системы: при получении сигнала завершения (Ctrl+C) бэкдор корректно останавливает цикл опроса.
Почему эта кампания опасна
Использование социальной инженерии, прикрытой официальными документами, делает атаку крайне эффективной против сотрудников, работающих с реальными санкционными списками. Многоступенчатость позволяет обойти многие сигнатурные детекторы: начальный HTML не содержит вредоносного кода, LNK-файл запускает легальный PDF, а вредоносный код компилируется из исходника прямо на машине жертвы, что обходит антивирусные проверки на основе известных сигнатур.
Закрепление в системе через реестр UserInitMprLogonScript устойчиво к перезагрузке и даже к удалению самого файла vdh.exe - нужно удалять и запись в реестре, и процесс. Кроме того, Go-бэкдор не использует типичные для C++ вредоносных программ функции, что затрудняет его статистический анализ.
Компании, работающие с европейскими партнёрами и следящие за санкциями, должны обратить особое внимание на этот тип угроз. Рекомендуется настроить политики безопасности так, чтобы блокировать выполнение скриптов из LNK-файлов, ограничить запуск компиляторов csc.exe для обычных пользователей и настроить мониторинг изменений в реестре по ключу Environment. Кроме того, необходимо дополнительно обучить персонал не открывать вложения со ссылками на WebDAV-ресурсы даже в том случае, если тема письма выглядит официальной.
Индикаторы компрометации
Domains
- winlab.center
- winserviceguard.center
URLs
- https://winlab.center:45567/capi/v1/load
- https://winlab.center:45567/capi/v1/save
- https://winserviceguard.center:8443/gqeqwww.exe
MD5
- 485a9f51bd195ce1bf06c96c1bc2e421
- 570896787ac12561b0d62402c5421663
- d557b83f86f0d6e692eb4770a03a306e