
Группа киберразведки Positive Technologies зафиксировала новую фишинговую кампанию хакерской группировки NetMedved, нацеленную на российские организации. Как и в описанных нами ранее атаках , операторы используют деловую тематику, документы-приманки и легитимный инструмент удаленного администрирования NetSupport Manager, развернутый в системе жертвы.
В предыдущих кампаниях NetMedved уже применялись архивы с документами-приманками, вредоносные LNK-файлы, PowerShell-загрузчики, сценарии с использованием finger, а также HTA-варианты с декодированием приманки и NetSupportRAT из тела файла. В новой кампании операторы сохранили основную модель атаки, но расширили набор начальных стадий и инфраструктурных приемов.
В рамках исследования были выявлены два основных направления развития кампании:
LNK-файлы запускают PowerShell-цепочку через сервис-redirector, получают AES-зашифрованный PowerShell-stage и разворачивают NetSupport Client из ZIP-архива;
LNK-файлы запускают PowerShell-цепочку через сервис-redirector, получают AES-зашифрованный PowerShell-stage и разворачивают NetSupport Client из ZIP-архива;
ZIP/JScript-вариант, в котором полезная нагрузка встроена непосредственно в .js-файл и декодируется локально через Windows Script Host.
ZIP/JScript-вариант, в котором полезная нагрузка встроена непосредственно в .js-файл и декодируется локально через Windows Script Host.
LNK- и PowerShell-сценарий
Цепочка атаки с использованием LNK-файла выглядит следующим образом:
В исследованных образцах LNK-файлы маскируются под заявки на закупку от имени российских компаний. Названия документов и файлов выдержаны в деловом стиле и рассчитаны на сотрудников, работающих с закупками, договорами и документооборотом. Для LNK-вариантов был зафиксирован следующий паттерн имен файлов: «Заявка на закупку от компании [REDACTED] на июнь 2026г.lnk».
Исследованные LNK содержат Base64-команду, закодированную в UTF-16LE. После декодирования она принимает следующий вид:
PowerShell в данной цепочке выполняет роль загрузчика: он обращается к удаленному ресурсу, получает следующий этап полезной нагрузки и запускает его в памяти.
Для затруднения обнаружения в образцах используется несколько типовых видов обфускации:
Командлет Invoke-Expression , отвечающий за выполнение полученного кода, не указывается напрямую, а разрешается динамически через Get-Command с wildcard-маской – шаблоном поиска с подстановочными символами, где означает любую последовательность символов. Например, конструкция ( gcm vo*p*s*n ) позволяет найти Invoke-Expression без его явного указания в коде.
Командлет Invoke-Expression , отвечающий за выполнение полученного кода, не указывается напрямую, а разрешается динамически через Get-Command с wildcard-маской – шаблоном поиска с подстановочными символами, где означает любую последовательность символов. Например, конструкция ( gcm vo*p*s*n ) позволяет найти Invoke-Expression без его явного указания в коде.
Для получения следующего этапа полезной нагрузки используется COM-объект MSXML2.ServerXMLHTTP , а не более типичные для PowerShell механизмы вроде Invoke -WebRequest , DownloadString или Net.WebClient . За счет этого в коде отсутствуют распространенные сигнатурные строки, часто используемые при статическом анализе вредоносных PowerShell-скриптов. Однако такой прием не позволяет полностью скрыть активность загрузчика. Полезная нагрузка по-прежнему может детектироваться по созданию COM-объекта MSXML2.ServerXMLHTTP , вызовам методов .open() и .send() , обращению к свойству .responseText , а также по последующему исполнению полученного ответа как кода.
Для получения следующего этапа полезной нагрузки используется COM-объект MSXML2.ServerXMLHTTP , а не более типичные для PowerShell механизмы вроде Invoke -WebRequest , DownloadString или Net.WebClient . За счет этого в коде отсутствуют распространенные сигнатурные строки, часто используемые при статическом анализе вредоносных PowerShell-скриптов. Однако такой прием не позволяет полностью скрыть активность загрузчика. Полезная нагрузка по-прежнему может детектироваться по созданию COM-объекта MSXML2.ServerXMLHTTP , вызовам методов .open() и .send() , обращению к свойству .responseText , а также по последующему исполнению полученного ответа как кода.
В текущей кампании домен crop[.]sh не является основным сервером полезной нагрузки, а используется как промежуточный redirector-слой между первичным LNK и инфраструктурой доставки.
При запуске LNK-файла инициируется обращение к sunlightfriends.tech, сервер возвращает PowerShell-код, содержащий крупный Base64-blob. Этот blob представляет собой AES-зашифрованный PowerShell-код следующего этапа. Ключ и вектор инициализации – служебное значение, необходимое для корректной расшифровки AES-данных вместе с ключом, – также встроены в тело скрипта в Base64-форме.
Далее скрипт расшифровывает встроенный blob алгоритмом AES-128-CBC , преобразует полученный результат в PowerShell-код и выполняет его в памяти через обфусцированный вызов Invoke-Expression .
После расшифровки полезная нагрузка выполняет роль загрузчика: через redirect-домен обращается к sunlightfriends.tech, скачивает ZIP-архив, сохраняет его во временную директорию и распаковывает содержимое в %LOCALAPPDATA%\ . Из распакованного архива запускается NetSupportRAT.
Для закрепления в системе создаетcя запись автозапуска в ветке HKCU\Software\Microsoft\Windows\CurrentVersion\Run , указывающая на извлеченный NetSupportRAT. В результате полезная нагрузка будет автоматически запускаться при последующих входах пользователя в систему.
Внутри ZIP находится client32.ini – конфигурационный файл NetSupport Client. В нем заданы параметры скрытного запуска, ограничения пользовательского интерфейса и gateway-серверы.
тихий режим работы клиента
отсутствие значка в системном трее
запрет отключения пользователем
отключение встроенного чата
отключение сообщений NetSupport
отключение запроса помощи
ValidAddresses.TCP=*
разрешение подключений с любых адресов
интервал опроса gateway 60 секунд
GatewayAddress=imhfamily.com:1414
основной NetSupport gateway
SecondaryGateway=akiliridge.com:1414
резервный NetSupport gateway
Цепочка атаки с использованием ZIP-архива и Jscript-дроппера
В ходе дальнейшего исследования был выявлен еще один вариант доставки NetSupportRAT, отличающийся от LNK-цепочки с PowerShell. В этом случае операторы распространяли ZIP-архив, содержащий вредоносный JScript-файл, замаскированный под закупочный документ. Тематика социальной инженерии при этом осталась прежней, а цепочка атаки выглядит следующим образом:
Скрипт представляет собой JScript-дроппер, использующий COM-объекты Windows для декодирования встроенных данных, записи файлов на диск, запуска документа-приманки и закрепления в системе.
Для декодирования встроенных данных используется механизм bin.base64 через XML DOM. Такой подход позволяет хранить внутри JScript-кода как документ-приманку, так и компоненты NetSupport Client в виде закодированных blob-данных. В наблюдаемом варианте основная полезная нагрузка извлекается из тела самого скрипта, без необходимости обращения к внешней инфраструктуре.
После запуска JScript создает и открывает PDF-файл NOTICE-793-0001.pdf, параллельно разворачивая NetSupport RAT.
В отличие от LNK-варианта, где документ-приманка входит в состав ZIP-архива, в JScript-варианте PDF хранится в закодированном виде непосредственно внутри скрипта.
В одном из LNK-образцов также наблюдалась дополнительная тактика: PowerShell-стейджер автоматически открывал ссылку на Яндекс Диск, где был размещен PDF-файл. Использование легитимного облачного сервиса для размещения приманки снижает подозрительность сетевого обращения и затрудняет блокировку по доменному признаку.
В отличие от LNK-варианта, в цепочке с использованием JS-файла зафиксировано два механизма закрепления:
Скрытая задача планировщика Windows. Задача создается через COM-интерфейс Schedule.Service. В параметрах задачи зафиксированы следующие значения:
Скрытая задача планировщика Windows. Задача создается через COM-интерфейс Schedule.Service. В параметрах задачи зафиксированы следующие значения:
Hidden=TrueAction=%LOCALAPPDATA%\Stereo\audio.exe
Ключ автозапуска текущего пользователя. В реестре создается значение Stereo, указывающее на основной исполняемый файл NetSupport Client:
Ключ автозапуска текущего пользователя. В реестре создается значение Stereo, указывающее на основной исполняемый файл NetSupport Client:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Stereo = C:\Users\admin\AppData\Local\Stereo\audio.exe
Сочетание двух механизмов закрепления повышает устойчивость установки: если один из них будет удален в ходе стандартной очистки автозапуска, второй может продолжить обеспечивать запуск NetSupport Client после перезагрузки или повторного входа пользователя в систему.
В ходе исследования JScript-дроппера был проведен ретроспективный поиск по базе данных вредоносных образцов. В результате были обнаружены скрипты, распространявшиеся в 2024 году и демонстрирующие характерное сходство с кампанией 2026 года по трем ключевым признакам.
Цепочка распространения. Доставка осуществлялась аналогичным образом: ZIP-архив содержал JScript-файл, который при запуске через wscript.exe извлекал полезную нагрузку из собственного тела и разворачивал ее на устройстве жертвы без обращения к внешней инфраструктуре.
Цепочка распространения. Доставка осуществлялась аналогичным образом: ZIP-архив содержал JScript-файл, который при запуске через wscript.exe извлекал полезную нагрузку из собственного тела и разворачивал ее на устройстве жертвы без обращения к внешней инфраструктуре.
Документы-приманки. Архивы 2024 года содержали документы, имитирующие коммерческие запросы цены и предложения от российских юридических лиц, файлы именовались по шаблону «[Тип запроса] от [полное наименование] на [месяц год]. [НомерЗаявки].js» . К 2026 году название упростилось до «Заявка на закупку от компании ООО [НАЗВАНИЕ] на [месяц год]», однако целевая аудитория – сотрудники снабжения и закупок – осталась неизменной.
Документы-приманки. Архивы 2024 года содержали документы, имитирующие коммерческие запросы цены и предложения от российских юридических лиц, файлы именовались по шаблону «[Тип запроса] от [полное наименование] на [месяц год]. [НомерЗаявки].js» .
К 2026 году название упростилось до «Заявка на закупку от компании ООО [НАЗВАНИЕ] на [месяц год]», однако целевая аудитория – сотрудники снабжения и закупок – осталась неизменной.
Конечная полезная нагрузка. Целевым инструментом в обоих случаях выступает NetSupportRAT, развертываемый в пользовательском каталоге со скрытой конфигурацией client32.ini.
Конечная полезная нагрузка. Целевым инструментом в обоих случаях выступает NetSupportRAT, развертываемый в пользовательском каталоге со скрытой конфигурацией client32.ini.
Таким образом, JScript-вариант доставки применялся группировкой как минимум с 2024 года.
Новая активность NetMedved показывает, что операторы продолжают развивать способы доставки вредоносного ПО, сохраняя при этом основную полезную нагрузку в виде NetSupport Manager, используемого как RAT. Несмотря на полную смену инфраструктуры, кампания сохраняет устойчивые признаки: тот же инструмент (сборка NetSupportRAT 2017 года), неизменный шаблон именования приманок, парная схема gateway в конфигурации client32.ini и совпадающее значение SecurityKey2 в обоих вариантах доставки.
В новой кампании заметны следующие изменения:
Собственный redirect-сервис. Группировка использует контролируемый домен crop[.]sh в качестве промежуточного redirector-слоя. Это позволяет менять конечную инфраструктуру доставки без модификации первичного LNK-файла: то есть уже разосланные вредоносные файлы продолжают работать после ротации серверов.
Собственный redirect-сервис. Группировка использует контролируемый домен crop[.]sh в качестве промежуточного redirector-слоя. Это позволяет менять конечную инфраструктуру доставки без модификации первичного LNK-файла: то есть уже разосланные вредоносные файлы продолжают работать после ротации серверов.
Многоуровневое AES-шифрование с помощью полезной нагрузки. Сервер доставки возвращает PowerShell-код с AES-128-CBC зашифрованным blob внутри.
Многоуровневое AES-шифрование с помощью полезной нагрузки. Сервер доставки возвращает PowerShell-код с AES-128-CBC зашифрованным blob внутри.
ZIP/JScript-вариант. Новый вектор не обращается к внешней инфраструктуре: все компоненты зашиты в тело скрипта. Это делает JS-вариант невидимым для сетевой детекции при первичном заражении и снижает зависимость от доступности серверов в момент выполнения.
ZIP/JScript-вариант. Новый вектор не обращается к внешней инфраструктуре: все компоненты зашиты в тело скрипта. Это делает JS-вариант невидимым для сетевой детекции при первичном заражении и снижает зависимость от доступности серверов в момент выполнения.
Инфраструктурная кластеризация. Все домены C2 зарегистрированы в один день – 27.04.2026. Это на месяц раньше начала кампании (конец мая – начало июня), но такая подготовка инфраструктуры обычная практика. Домены imhfamily[.]com и stillpaving[.]com принадлежат одному ASN (58329), домены sunlightfriends[.]tech и fleepsterones[.]fun разрешаются в один IP-адрес (144.172.116.63). Такая кластеризация позволяет атрибутировать новые домены по инфраструктурным пересечениям даже при отсутствии совпадений по коду.
Инфраструктурная кластеризация. Все домены C2 зарегистрированы в один день – 27.04.2026. Это на месяц раньше начала кампании (конец мая – начало июня), но такая подготовка инфраструктуры обычная практика. Домены imhfamily[.]com и stillpaving[.]com принадлежат одному ASN (58329), домены sunlightfriends[.]tech и fleepsterones[.]fun разрешаются в один IP-адрес (144.172.116.63). Такая кластеризация позволяет атрибутировать новые домены по инфраструктурным пересечениям даже при отсутствии совпадений по коду.
T1566.001
Phishing: Spearphishing Attachment
NetMedved рассылали ZIP-архивы с LNK- и JS-вложениями, замаскированными под деловые запросы от российских компаний.
T1204.002
User Execution: Malicious File
NetMedved ожидают что жертва самостоятельно запустит вредоносный LNK- или JS-файл.
T1059.001
NetMedved скрытно запускали PowerShell с параметром - EncodedCommand из LNK-файла.
T1059.007
NetMedved исполняли .js-файл через wscript.exe (JScript-вариант).
Command and Control
NetMedved использовали NetSupportRAT для получения полного удаленного доступа к зараженной системе.
Obfuscated Files or Information
NetMedved применяли обфускацию: Base64 в LNK-файле, Base64-blob с AES-CBC в Stage 2 и полезной нагрузкой в теле JS-файла.
NetMedved реализовали декодирование Base64 и AES-CBC-расшифровку в Stage 2, а также обработку bin.Base64 в JScript-варианте.
NetMedved маскировали вредоносные компоненты под легитимные объекты: LNK-файл использовал иконку Notepad, каталоги назывались DisplayMenu и Stereo, а бинарные файлы — displayport.exe и audio.exe.
Command and Control
NetMedved загружали ZIP с NetSupportRAT через crop[.]sh → sunlightfriends[.]tech (LNK-вариант).
Command and Control
NetMedved использовали crop[.]sh как redirector, а Яндекс.Диск — для хостинга файлов-приманок.
T1547.001
NetMedved создавали ключи реестра HKCU\Run\DisplayMenu и HKCU\Run\Stereo для автозапуска RAT.
T1053.005
NetMedved создавали крытую задачу планировщика Windows (Hidden=True) JScript-вариант.
T1497.003
NetMedved использовали WScript.Sleep (60000), задержка на 60 секунд в JScript-варианте.
NetMedved обращались к реестру при инициализации компонентов NetSupportRAT.
System Information Discovery
NetMedved собирали сведения о системе жертвы.
NetMedved получали имя пользователя через WMI в JScript-варианте цепочки.
T1071.001
Application Layer Protocol: Web
Command and Control
NetMedved использовали HTTP/HTTPS для обмена командами с C2-инфраструктурой NetSupportRAT.
Command and Control
NetMedved использовали порты C2 NetSupportRAT: 1414/TCP в LNK-варианте и 1411/TCP в JScript-варианте.
Дата регистрации
crop[.]sh
104.21.60.89
172.67.195.1
13335
21.10.2025
redirect-домен
sunlightfriends[.]tech
144.172.116.63
14956
25.05.2026
сервер доставки
fleepsterones[.]fun
144.172.116.63
14956
27.04.2026
сервер доставки
imhfamily[.]com
185.158.249.83
58329
27.04.2026
akiliridge[.]com
27.04.2026
stillpaving[.]com
79.132.128.202
58329
27.04.2026
glowstickspro[.]com
27.04.2026
Название файла
56cc6b8260c676dca2ee4e4ef4785373
c8d51044d37f247937616adb489836c62b25b599
38d96dd1c26a7a98c8b55c925863d0f5c8c099a73192c65e3a1e47ea636d3d29
da95797a9bcfe8ee9500077636f0835a
2e7b753186817a85961cdefb47bdf5436515b694
0c2947904711ef63ac3cc24ba2e7a059e318dc219d14eeaebb6b46fd277f7f3d
0db3fabb4049a896b831e41a364d6def
78bd86da8f36d3c9d3cdf249de50abfdba9b6e1c
e345117ccd1adf3815a2e8877a1021ee8686bea0993eb59eca87660e4f9112fe
4c0564f1e34a6161313547c4caefce55
7f97e8aabe44f25d952603674651bbf5735ecd6b
312862333715ab97e568d581cfdd1f4a1b5036922021ff74f7b67a38ec0901b8
Заявка на закупку от компании ООО [REDACTED] на июнь 2026г.lnk
5c56fd9d306a62642cfe6c6b3989efdd
fbdb66de614bd41a1d68f3fa0abc85fb092b28bc
c5a1dee1ae7f0a04dfa91481d0c1d5ad5c887a77e657def8878af600a98fd8c6
Заявка на закупку от компании ООО [REDACTED] на июнь 2026г.lnk
174a44b2a1511e7ebf64525beffd0f9f
0c964a304edaa8d5d5c58486f4fea4bebe4de36b
20c8fd700796b80ea093e23ec812943adfc63c3b8653bb09b581fd7f4127c652
Заявка на закупку от компании ООО [REDACTED]на май 2026г_105.js
8d7d45534bdfefedb6bd7c3214eb3c5b
ce69cdeac9c1ca625859134414323c93bef5c728
d1e4c6578b588e95d8ed03b46f2febc0ce2d5a8a8b612cafe640b6e23ba637d7
Заявка на закупку от компании ООО [REDACTED] на май 2026г_3.js
54ad73dda690f63470cff1c0c60195d4
c436bc363ccb5fb3b96950ae23c766c4aa468b0a
df1bb5c2aac6220ca59bed32b53e02836ff53b6d732bd4a91c5252d507748d03
portal
f49185941e3785c805664a4ce9871651
a1e9c5624536522c6c5bb1f359664eb5effdbdc6
fdcbef12799d7c49dcc15746cc87720c608e1e246eac08772cbb43c6f8ab54c8
file.ps1
b67aa8823328b895cd793c3c40a6c447
ca57e0dc19d0b516705f8bde6d02c17057f23dfa
bef3add1e3ba37827908e06c0e064613ce271b02d929a5d9a769c6a6700097c9
Карточка_предприятия.docx
04a99c1cdcc0c9aa0c63c20d89f9b00f
bed70a8b4b8ee1a45f54d6b62efe387cd6812b54
4972b6583645d28600f076e73def05890b54a9d98c8b328d61f421c79a021db6
Реквизиты [REDACTED].doc
06e85fc3718ececcdd3766e7fee93a7f
c487904befab8721644a02d16da26aa7f79ba666
9988c051016bafe3dcbe0ee4bebba6fe229cf6e6b6022197b47bb9bfc8388e25
Специалист группы киберразведки TI-департамента экспертного центра безопасности, Positive Technologies