NetamLoader: атака на госструктуры Азии через Windows Update

Безопасность

NetamLoader: атака на госструктуры Азии через Windows Update

NetamLoader, атака на госструктуры Азии: загрузчик .NET в каталоге обновлений Windows 10

«Лаборатория Касперского» описала атаку NetamLoader на госструктуры Азии: ранее неизвестный загрузчик .NET-сборок нашли в специальной сборке Windows 10. CAB лежал в кеше обновлений рядом с легитимными компонентами Patch My PC. CVE у этой техники нет, одним патчем её не закрыть.

Коротко

  • Kaspersky нашла NetamLoader в первой половине 2026 года: в телеметрии одна система госучреждения в Азии.
  • В CAB было семь файлов, вредоносный код сидел только в Resources.resx, архив лежал в кеше SoftwareDistribution.
  • Легитимный PatchMyPC-ScriptRunner.exe стартовал цепочку через AppDomainManager-инъекцию.
  • Дальше шли обход AMSI, имплант внутри dllhost.exe, паузы до 22-28 часов и подчистка части следов.
  • Канал доставки, масштаб ущерба и группа за атакой не установлены.

Что такое NetamLoader и как прошла атака на госструктуры Азии?

NetamLoader, это загрузчик .NET-сборок, которого раньше не описывали. «Лаборатория Касперского» нашла его в первой половине 2026 года на компьютере госучреждения в Азии. Компоненты распаковываются по очереди, а имплант для долговременной связи с сервером управления поднимается уже внутри dllhost.exe.

The Hacker News написала об этом 1 ноября 2026 года. Kaspersky на той же неделе разобрала цепочку, точную дату своего отчёта компания не указала. Жертвой стала не рядовая Windows 10, а сборка только для государственных организаций.

Издание допускает, что речь о Windows 10 China Government Edition, но страну Kaspersky не назвала. Это версия журналистов, не установленный факт. Привязывать атаку к конкретному государству по одному названию сборки рано.

Телеметрия «Лаборатории Касперского» показала одну скомпрометированную систему. Из этого не следует, что пострадавший был единственным: видимость могла покрывать лишь часть инфраструктуры. Неизвестно, успели ли злоумышленники забрать данные или перейти на другие машины.

Атрибуции нет. Kaspersky не связала активность с известной группой. Смотреть стоит порядок запусков, правки конфигурации и сетевое поведение, а не догадки о заказчике.

Как CAB-архив оказался в каталоге обновлений Windows?

Точный способ доставки не установлен. Исследователи подозревают компрометацию доверенного стороннего поставщика, доказательств взлома у них нет. Корректно говорить о возможной атаке на цепочку поставок ПО, а не о подтверждённом взломе Patch My PC.

CAB лежал в подкаталоге кеша пакетов Windows Update. Содержимое распаковали в папку Install того же дерева SoftwareDistribution. Администратор ждёт там временные пакеты обновлений, а не посторонний загрузчик, поэтому каталог сам работает как легенда.

Путь архива, который привела Kaspersky:

C:\Windows\SoftwareDistribution\Download\e4537a1762fcafd2fd96bfc825bad34f9db9a24

Распаковка шла сюда:

C:\Windows\SoftwareDistribution\Download\Install\

В архиве было семь файлов, четыре из них Kaspersky относит к легитимным компонентам Patch My PC, средства управления конечными точками. Вредоносный код нашли только в Resources.resx. Остальные файлы были чистыми: репутация или подпись одного EXE весь набор не разоблачила бы.

  • fabric.config;
  • Microsoft.HostIntegration.Connectors.dll;
  • PatchMyPC-Enum.dll;
  • PatchMyPC-Models.dll;
  • PatchMyPC-ScriptRunner.exe;
  • PatchMyPC-ScriptRunner.exe.config;
  • Resources.resx.

RESX, это обычный XML-формат ресурсов .NET. В нём бывают строки, сериализованные объекты и данные Base64, сам файл не запускается. Вредоносна здесь вся связка: загрузчик читает ресурс, распаковывает его и передаёт следующие компоненты на выполнение.

Тот же перенос доверия уже разбирали в материале об атаках на цепочку поставок в dev-инструментах: знакомый продукт прикрывает файлы рядом с ним. Канал доставки NetamLoader при этом так и не установлен.

Как работает AppDomainManager-инъекция?

При AppDomainManager-инъекции чужая .NET-сборка загружается при старте легитимного приложения, если изменить его конфигурацию или параметры среды. Здесь подменили логику запуска, а не память подписанного EXE.

  1. Запускается легитимный PatchMyPC-ScriptRunner.exe.
  2. Приложение читает PatchMyPC-ScriptRunner.exe.config и загружает Microsoft.HostIntegration.Connectors.dll.
  3. Библиотека в том же каталоге открывает fabric.config и по ней подхватывает Resources.resx. Из ресурса достают слои XAML, сборок .NET и JSON.

Это злоупотребление штатным механизмом CLR, а не ошибка в коде Patch My PC или Windows. Запретить приложениям читать собственную конфигурацию патчем нельзя: так устроен запуск .NET.

Подпись относится к самому PE-файлу. Соседние .config и .resx в неё не входят. Бинарник остаётся подлинным, а список загружаемых сборок уже задаёт изменённая конфигурация.

Конфигурация запуска входит в поверхность атаки, особенно если программа работает с повышенными правами или приезжает через канал обслуживания парка.

Зачем NetamLoader обходит AMSI и прячется в dllhost.exe?

Вторая ступень обходит AMSI (Antimalware Scan Interface), чтобы .NET-компоненты реже попадали под проверку в памяти. Имя процесса dllhost.exe даёт импланту вывеску штатной службы Windows. Ни один из этих приёмов не делает атаку невидимой при полноценном мониторинге.

Цепочка ресурсов упакована слоями. XAML-1 загружает XAML-2, а тот достаёт сжатые и закодированные в Base64 файлы XAML-2-1 и XAML-2-2. Первый обходит AMSI. Второй несёт .NET 1 Loader и JSON-1. Дальше загрузчик расшифровывает, собирает и запускает следующую стадию.

JSON-1 делится на конфигурацию сервера управления JSON-1-c и пакет JSON-1-p. В пакете лежат сборка .NET 2 Plugin и зашифрованные XAML-шаблоны, из которых собирается XAML-3. XAML-3 поднимает имплант внутри dllhost.exe.

Перед этим .NET 1 Loader отчитывается перед сервером управления о готовности. Он же удаляет файлы, извлечённые из CAB, журналы использования CLR и записи Prefetch.

Имя dllhost.exe само по себе ничего не доказывает. На разборе смотрят полный путь, родителя, командную строку, загруженные модули и соединения. Снос Prefetch и журналов CLR не стирает MFT, USN Journal, Amcache, события Windows, Sysmon, EDR и сетевые журналы.

Имплант сначала ждёт случайные 20-40 минут. Дальше ритм зависит от ответа: после корректного ответа пауза 5-6 минут, без ответа молчание тянется 22-28 часов. Каждые 10 минут модуль проверяет, не истекло ли отведённое время.

Перед первым запросом .NET 2 Plugin читает свою конфигурацию, собирает сведения о системе из реестра Windows и убеждается, что процесс, это dllhost.exe. Затем он опрашивает сервер, получает XAML и выполняет его в изолированном AppDomain.

Kaspersky опубликовала имя сервера управления. Его ищут в DNS, proxy и firewall-логах как редкие исходящие запросы ScriptRunner и dllhost.exe к незнакомому домену, особенно после паузы в десятки минут или почти сутки.

Такой режим легко пропустить при разовом осмотре: если следить только за активными соединениями, имплант может почти сутки не подать ни одного признака жизни. Нужны журналы DNS, proxy, firewall и EDR хотя бы за несколько недель.

При чём здесь суверенные ОС?

Связь здесь прямая: собственная ОС даёт контроль над платформой, но всю работу по её защите и обновлению перекладывает на владельца. NetamLoader нашли как раз в системе для закрытого круга государственных пользователей.

Kaspersky ставит случай в ряд более широкой тенденции. Страны собирают свои операционные системы, базы данных, промежуточное ПО и облака, чтобы сами вести разработку и обновления. Обратная сторона автономии: всю экосистему теперь приходится защищать самостоятельно. Быстро выстроить зрелые процессы эксплуатации такой платформы не получится.

В августе 2026 года Bloomberg со ссылкой на осведомлённые источники написал, что Министерство государственной безопасности КНР велело части ведомств уйти с Windows 10 Government Edition на китайские дистрибутивы Linux. Причиной называли опасения за данные. Публикация не доказывает ни страну жертвы NetamLoader, ни связь атаки с этим переходом.

Для CTO вывод шире госструктур. Свой дистрибутив, внутренний репозиторий или корпоративный агент обновлений требуют контроля источников пакетов, проверки всей поставки и отдельного мониторинга конечных систем. Смена бренда ОС эту работу не отменяет.

Что проверить после атаки вроде NetamLoader?

Сверяют связку, а не один файл: .NET-приложение в каталоге обновлений, изменённую конфигурацию загрузки, необычную сборку, активность dllhost.exe и редкие выходы в сеть.

  • До очистки сохраните CAB, содержимое Install, .config и Resources.resx. Зафиксируйте подписи и контрольные суммы: подпись EXE не доказывает чистоту всего набора.
  • Проверьте появление .NET-приложений в SoftwareDistribution\Download и параметры AppDomainManager в конфигурациях рядом с подписанными EXE. Сверьте оба пути из разбора Kaspersky, включая подкаталог с шестнадцатеричным именем и папку Install.
  • Разберите запуски dllhost.exe: путь к образу, родитель, командная строка, модули, соединения. Совпадение одного имени ничего не доказывает.
  • В DNS, proxy и firewall за несколько недель найдите редкие запросы с хостов, где стартовали ScriptRunner или нетипичный dllhost.exe. Имя сервера управления берите из отчёта Kaspersky и ищите его как есть.
  • Если пропали Prefetch или журналы CLR, смотрите MFT, USN Journal, Amcache, события Windows и Sysmon. Пустой удалённый журнал не значит, что запуска не было.
  • Не запускайте найденный ScriptRunner «для проверки» на рабочем хосте: цепочка может ожить, выйти на сервер управления и стереть улики. Разбирайте копию в изоляции.

Команды часто сверяют версии и подписи EXE и не сравнивают соседние конфигурации с эталоном. Этот пробел закрывают контролем целостности конфигураций агентов и служебных утилит.

Защита держится на инвентаризации, поведенческом обнаружении и разборе инцидента. Регулярная оценка уязвимостей инфраструктуры находит неучтённые агенты, а симуляция целевой атаки Red Team показывает, заметит ли команда такую цепочку на практике.

Частые вопросы

Что такое NetamLoader?

Модульный загрузчик .NET-сборок, который Kaspersky впервые описала на специальной сборке Windows 10 для госорганизаций Азии. Он слоями распаковывает XAML и сборки, обходит AMSI и оставляет имплант для долговременной связи с сервером управления.

Как NetamLoader попал на заражённый компьютер?

Канал доставки неизвестен. CAB лежал в кеше пакетов Windows Update, в подкаталоге Download с шестнадцатеричным именем, а файлы извлекли в Install. Компрометацию стороннего поставщика подозревают, но не доказали, поэтому взлом Patch My PC утверждать нельзя.

Что такое AppDomainManager injection простыми словами?

Легитимное .NET-приложение читает изменённую конфигурацию и само загружает чужую сборку. Подписанный EXE при этом может остаться нетронутым.

Кто стоит за атакой NetamLoader?

Неизвестно. Kaspersky не привязала активность к известной группе. Догадка The Hacker News про Windows 10 China Government Edition не называет ни страну жертвы как факт, ни заказчика.

Существует ли патч от NetamLoader?

Отдельного CVE и исправления нет: используются штатные механизмы .NET и доверенные файлы. Закрывать технику приходится контролем конфигураций, поведенческим мониторингом и разбором цепочки запуска.

Кто пострадал от атаки NetamLoader?

В телеметрии Kaspersky видна одна система азиатского госучреждения. Страна, число остальных жертв и факт кражи данных не раскрыты.

Если нужно проверить, заметит ли защита такую цепочку в доверенных каталогах, HirexTech проведёт симуляцию целевой атаки Red Team и разберёт результат вместе с вашими инженерами.

Прокрутить вверх