Злоумышленники эксплуатируют легитимные URL Microsoft для доставки вредоносного MSI через Ninite

phishing

Исследовательская группа Barricade Cyber выявила новую цепочку доставки вредоносного ПО, которая обходит традиционные механизмы защиты, используя подлинный URL входа Microsoft. Атакующие применяют легитимную конечную точку OAuth компании Microsoft в качестве открытого перенаправителя. Жертва переходит по ссылке, которая ведёт на настоящий домен login.microsoftonline.com, и в результате получает вредоносный пакет Windows Installer (MSI). Вредоносная нагрузка не представляет собой классический бэкдор. Вместо этого MSI в фоновом режиме устанавливает легитимный инструмент управления исправлениями Ninite Pro Remote. После этого атакующий регистрирует скомпрометированную систему в своём аккаунте Ninite Remote. Оператор получает возможность удалённого управления на уровне SYSTEM и выполнения произвольного кода. Затем через Ninite устанавливаются два распространённых инструмента удалённого доступа - TeamViewer и AnyDesk. Такая избыточность обеспечивает атакующему непрерывный доступ даже в случае обнаружения одного из инструментов.

Описание

Ключевая особенность атаки заключается в том, что фишинговая ссылка не содержит тайпосквоттинга или подмены домена. Это реальный URL login.microsoftonline.com. Злоумышленник использует конечную точку OAuth Microsoft как открытый перенаправитель. Вредоносный пункт назначения не отображается в ссылке, которую проверяют фильтры URL или пользователь "на глаз". Поэтому стандартные рекомендации по безопасности - навести курсор на ссылку и проверить домен - не работают.

Цепочка атаки состоит из трёх этапов. На этапе доставки подлинный URL авторизации Microsoft OAuth перенаправляет жертву на вредоносный MSI, размещённый в облачном хранилище злоумышленника. Затем MSI устанавливает агент Ninite Remote в качестве службы Windows под учётной записью SYSTEM и регистрирует его в арендаторе атакующего. На финальном этапе через скомпрометированный агент Ninite оператор устанавливает TeamViewer и AnyDesk, получая избыточный интерактивный удалённый доступ к хосту.

Механизм доставки основан на особенностях работы протокола OAuth. Ссылка, которую получает жертва, содержит идентификатор приложения (client_id) - глобальный уникальный идентификатор (GUID). Этот идентификатор сам по себе не содержит адреса перенаправления. Адрес перенаправления (redirect_uri) хранится на стороне Microsoft как настройка зарегистрированного приложения. В ссылке этот параметр отсутствует. Когда запрос OAuth его не содержит, Microsoft использует зарегистрированный redirect_uri. Атакующий создаёт своё приложение в одноразовом арендаторе Entra ID (ранее Azure AD) и устанавливает redirect_uri на URL своего вредоносного MSI, размещённого в облачном объектном хранилище OVH.

Параметр prompt=none заставляет Microsoft выполнять "молчаливый" вход без показа экрана входа. Когда у жертвы нет активной сессии Microsoft (обычная ситуация при переходе по ссылке из письма или в песочнице), молчаливый вход невозможен. Согласно стандарту OAuth, вместо показа страницы входа Microsoft возвращает ошибку и перенаправляет браузер на зарегистрированный redirect_uri приложения. Этот redirect_uri и есть вредоносный MSI. Таким образом, сама Microsoft выдает перенаправление на вредоносный файл.

Как показал анализ Barricade Cyber, в песочнице было зафиксировано именно такое поведение. Браузер перенаправлялся на URL вида https://construction-quotation.s3.rbx.io.cloud.ovh[.]net/quotation_qu26022202.msi?error=interaction_required&error_description=Session+information+is+not+sufficient+for+single-sign-on.&state=ut. Параметр error=interaction_required является точным признаком того, что техника сработала. Наличие этого параметра - отпечаток метода. Поскольку облачное хранилище игнорирует добавленную Microsoft строку запроса, файл просто загружается.

Этот метод обходит многие стандартные средства защиты. Ссылка выглядит как настоящий URL Microsoft с действительным сертификатом TLS. Почтовые шлюзы и веб-прокси, которые доверяют или разрешают домен login.microsoftonline.com, пропускают ссылку. Статическая проверка ссылки не находит вредоносного содержимого. После щелчка вредоносный пункт назначения подставляется Microsoft из регистрации приложения. Обычно в журналах входа Entra ID организации-жертвы не остаётся записей, так как запрос prompt=none завершается ошибкой без аутентификации. Обнаружение должно происходить на сетевом уровне и на уровне конечных точек.

Внутри MSI используется библиотека DLL с пользовательским действием. Установщик запускает Ninite.exe из временной папки с параметрами тихой установки. Ninite.exe устанавливает NiniteAgent.exe как службу Windows под учётной записью SYSTEM. Служба является механизмом закрепления в системе. Агент обращается к панели управления Ninite Remote и регистрирует хост в учётной записи оператора. Для атакующего Ninite Remote представляет собой легитимное средство, которое обеспечивает постоянный доступ, возможность удалённого выполнения кода и маскировку в сети - агент подписан легитимным издателем, трафик идёт на легитимные домены Ninite. Такой подход повторяет известный шаблон злоупотребления легитимными RMM-инструментами (AnyDesk, Atera, ScreenConnect), но применяется к менее контролируемому продукту.

Второй этап заключается в установке TeamViewer и AnyDesd через скомпрометированный агент. Использование двух независимых продуктов удалённого доступа является намеренной избыточностью. Если один из них будет удалён, заблокирован или помечен как вредоносный, второй сохранит доступ оператора. Как отмечают исследователи, первоначальный анализ в публичной песочнице показал только установку агента Ninite и сбор информации об установленном ПО, но не зафиксировал установку второго этапа из-за ограниченности окна захвата. Длительное ручное исследование подтвердило факт установки TeamViewer и AnyDesk. Потенциал атаки также включает возможность использования пользовательских скриптов, которые можно прикрепить к развёртыванию любого приложения через платформу Ninite Nintune. Хотя в данном случае этот функционал не применялся, такая возможность существенно расширяет риски при компрометации аккаунта Ninite Pro.

Последствия атаки для организаций критичны. Полученный доступ на уровне SYSTEM позволяет атакующему размещать любое вредоносное ПО, похищать данные и перемещаться по сети. Долгосрочное закрепление через легитимный RMM-инструмент затрудняет обнаружение. Командам безопасности следует сосредоточиться на сетевой и конечной телеметрии. Рекомендуется проверять цепочки перенаправлений, начинающиеся с login.microsoftonline.com, которые завершаются загрузкой исполняемых файлов из облачного хранилища, не принадлежащего Microsoft. Необходимо настроить оповещения о появлении неподтверждённых RMM-агентов, в том числе Ninite, TeamViewer и AnyDesk, особенно если они устанавливаются вскоре друг после друга. Важно вести учёт разрешённых средств удалённого управления и блокировать всё остальное. Пользователей следует предупреждать, что ссылка на настоящий домен Microsoft не гарантирует безопасности, и запускать неожиданные файлы, в том числе документы и квитанции, которые они не запрашивали, категорически не рекомендуется.

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

Domain

  • construction-quotation.s3.rbx.io.cloud.ovh.net
  • lp1.ninite.com
  • remote.ninite.com
  • remote1.ninite.com

URL

  • https://construction-quotation.s3.rbx.io.cloud.ovh.net/quotation_qu26022202.msi
  • login.microsoftonline.com/common/oauth2/v2.0/authorize?...client_id=17c4bab1-4866-4277-8408-4600c155acfd

SHA256

  • 88174718adac0d95c5c2d87eab47b63d8b135dcec6c77b5962d9cc2c1433204e
  • dbda294c39231d7b33cfcd533fd4af4615628a48b4856000d1d5d0df8806d160
  • dc821fbd5ea68250c4d35f0f84682714b64ee459180a20d833d85d61d4cd2e00

Комментарии: 0