Новый многоступенчатый вредоносный комплекс использует .NET AOT для усложнения анализа и скрытой добычи криптовалюты

information security

Группа исследователей кибербезопасности Howler Cell обнаружила и детально проанализировала ранее неизвестную многоступенчатую цепочку доставки вредоносного программного обеспечения. Её ключевая особенность - активное использование компиляции .NET Native Ahead-of-Time (AOT) в качестве основного метода обхода средств защиты и усложнения анализа. Этот подход, ранее применявшийся в основном в легальном программном обеспечении для повышения производительности, становится всё более популярным у злоумышленников, ориентированных на финансовую выгоду, поскольку он радикально снижает видимость кода для стандартных инструментов реверс-инжиниринга. Атака нацелена на конечных пользователей и завершается скрытой установкой майнера криптовалюты XMRig и хищением данных с помощью стилера Rhadamanthys.

Описание

Инцидент начался с фишинговой кампании, в рамках которой жертве предлагалось перейти по ссылке, ведущей на архив "tv0ww9.zip". Чтобы вызвать доверие, архив был упакован вместе с шестью легитимными, цифрово подписанными библиотеками Qt5. Среди них находился вредоносный исполняемый файл "KeyAuth.exe", выступавший в роли загрузчика. Этот троянец, написанный на C++, использовал стандартный API "URLDownloadToFileA" для загрузки следующей ступени - файла "bound_build.exe" с удалённого сервера. Именно на этом этапе проявляется первая линия обороны злоумышленников.

Файл "bound_build.exe" оказался скомпилирован с использованием .NET AOT. В отличие от традиционных .NET-сборок, содержащих промежуточный язык (IL) и богатые метаданные, AOT-компиляция преобразует код непосредственно в нативный машинный код, удаляя бо́льшую часть служебной информации. Для аналитиков это означает, что привычные инструменты вроде dnSpy или ILSpy, работающие с IL, становятся бесполезны. Анализ приходится проводить на уровне нативного кода с помощью дизассемблеров, что требует иных навыков и значительно замедляет процесс. Как сообщают исследователи, при открытии файла в Binary Ninja было идентифицировано лишь 34 функции из 4588, то есть менее 1% логики программы.

Основной вклад исследования Howler Cell заключается не только в документировании новой угрозы, но и в разработке практической методологии анализа подобных AOT-образцов. Учёные предложили повторяемый четырёхэтапный процесс, позволяющий вернуть понимание кода. Первым шагом стала компиляция собственного тестового .NET 8 AOT-приложения, включающего распространённые библиотеки. Затем, используя встроенную в Binary Ninja систему сигнатур WARP (GUID‑based signature system), на основе этого тестового файла был сгенерирован файл сигнатур. Его загрузка для исследуемого вредоносного "bound_build.exe" позволила идентифицировать уже 3918 функций, повысив покрытие анализа до 85%. Третий этап включал дамп памяти во время исполнения для извлечения строк и структур данных, которые динамически помещаются в специальную секцию "hydrated" во время выполнения AOT-бинарника.

Анализ показал, что "bound_build.exe" действует как загрузчик, расшифровывающий два встроенных ресурса с помощью XOR и записывающий их на диск. Этими ресурсами оказались дополнительные загрузчики на C++, аналогичные первой ступени. Один из них, "Crypted_build.exe", загружал и исполнял шеллкод, упакованный с помощью инструмента Donut, который, в свою очередь, развёртывал известный стилер Rhadamanthys, настроенный на связь с командным сервером. Второй загрузчик, "Miner.exe", отвечал за доставку финальной полезной нагрузки - майнера.

Ключевым компонентом атаки стал AOT-скомпилированный загрузчик "MicrosoftEdgeUpdater". Перед выполнением своей основной функции он проводил серию сложных проверок окружения, направленных на выявление анализа. Алгоритм присваивал системе баллы за объём оперативной памяти, время бесперебойной работы, количество пользовательских файлов на рабочем столе и в документах, а также за отсутствие процессов известных антивирусов. Если итоговый счёт был ниже порогового значения, программа завершалась, не оставляя следов. Дополнительно загрузчик проверял наличие процессов, связанных с отладкой и мониторингом, а также искал в реестре признаки работы в виртуальной машине.

После успешного прохождения проверок вредонос создавал персистентность, копируя себя в папку "%LOCALAPPDATA%\SystemMonitoring\" под именем "DataSyncHost.exe" и добавляя запись в автозагрузку реестра Windows. Затем он расшифровывал в памяти и сохранял на диск конфигурацию и сам исполняемый файл майнера XMRig, маскируя его под "msedge_updater.exe". Майнер запускался с параметрами, указывающими на пул для майнинга Monero, что прямо указывает на финансовую мотивацию атакующих.

Особо изощрённой оказалась функция скрытности майнера. Родительский процесс "DataSyncHost.exe" непрерывно отслеживал список активных процессов. При обнаружении таких инструментов, как «Диспетчер задач», Process Hacker или мониторы производительности, он немедленно завершал процесс майнера и переходил в режим ожидания, возобновляя скрытую добычу только после закрытия пользователем подозрительных программ.

Данный кейс наглядно демонстрирует эволюцию тактик злоумышленников. .NET AOT compilation представляет собой недорогой, но высокоэффективный слой обфускации, который подрывает работу детектов, ориентированных на IL, и затрудняет ручной анализ. Хотя такая техника пока не стала доминирующей, её использование в среде финансово мотивированных угроз растёт. Для специалистов по безопасности это означает необходимость осваивать методики анализа нативного кода и развивать собственные базы сигнатур, так как стандартные средства всё чаще оказываются бесполезными против подобных усложнённых угроз. Проактивный мониторинг сетевой активности на предмет соединений с известными пулами для майнинга, а также поведенческий анализ на конечных точках, выявляющий аномально высокую нагрузку на CPU и попытки скрыть процессы, остаются ключевыми мерами защиты.

Индикаторы компрометации

IPv4

  • 176.46.152.62
  • 176.46.152.80

Domains

  • pool.supportxmr.com

SHA256

  • 0cb27847077eae63a1641cf3efc9ba807612cdde1cdd4ebcb7323f4697449114
  • 1133f41e2b463ce5024423dcad44bcc0ff9543c2d38eae5bddc6016da9f7a64d
  • 11bd2c9f9e2397c9a16e0990e4ed2cf0679498fe0fd418a3dfdac60b5c160ee5
  • 556d8ed53e1015b4d40383198e5a787e022fa26dc132820fc053e55ec28317b7
  • 5ff26d13c49966d579f5cf97c8a20fb6e2aa327acadfa8662f3d018032af2bb2
  • 63e3d55e61542fb15706ad2f87551fecbb0c2b94e85e597a1f31eca54cfe2c4f
  • 6762c5807021fb7871f051135248cfd8f2cb387495b4544817433d71c160acaa
  • 6bbb5d3086050c49741fb934dabecad210ece7991eef718c232767195bea1527
  • edf1b62620e3a90eca34eb6660182f492a02912e652b19fec4b8d4be1ffa0e0f
  • f29d673b032f7ff763dec032aefd6c5759a1583b211625f7f770017bedf03689
Комментарии: 0