Зловредов прячут в надстройках Office, созданных с помощью Visual Studio

Зловредов прячут в надстройках Office, созданных с помощью Visual Studio

Зловредов прячут в надстройках Office, созданных с помощью Visual Studio

Эксперты Deep Instinct зафиксировали несколько атак, авторы которых используют надстройки VSTO (Microsoft Visual Studio Tools for Office) для доставки NET-зловредов в обход защиты Windows.

Вредоносная сборка чаще всего упакована вместе с документом, реже — загружается со стороннего сервера. Исполнение кода происходит при открытии файла в соответствующем офисном приложении (Word, Excel и проч.).

Согласно блог-записи Deep Instinct, присутствие VSTO-надстройки в файле можно определить по наличию пользовательских данных XML (custom.xml), по которым приложение находит и устанавливает целевую сборку.

 

Зависимости полезной нагрузки (скомпилированной в NET динамической библиотеки) хранятся вместе с документом, обычно внутри контейнера ISO. Злоумышленники задают этим файлам свойство «скрытый», чтобы создать видимость, будто архив содержит только документ Office.

При его запуске на экране появляется предложение включить режим редактирования — как в случае с макросом, только здесь еще требуется разрешение на установку надстройки для просмотра документа. Если пользователь даст согласие, система выведет предупреждение с кнопками выбора:

 

Образец пейлоада, обнаруженный в ходе одной из атак, исполнял закодированный и сжатый PowerShell-код, загружающий дополнительный скрипт с C2. Другой семпл хранился отдельно от документа на удаленном сервере; в его задачи входила доставка запароленного ZIP-архива с вшитого URL, распаковка содержимого в папку %\AppData\Local\ и запуск высвобожденного conhost.exe.

Финальную полезную нагрузку в обоих случаях определить не удалось: на момент анализа C2-серверы были недоступны.

Для демонстрации VSTO как вектора атаки аналитики создали PoC-код, умышленно выбрав пейлоад с высоким уровнем детектирования. Остальные компоненты с успехом обошли Microsoft Defender.

Атаки с использованием VSTO пока редки, однако исследователи не исключают, что этот вектор возьмут на вооружение APT-группы и другие хорошо обеспеченные хакеры. Это еще одна альтернатива макросам VBA, для которых Microsoft ввела дефолтную блокировку. Злоумышленники теперь опробуют другие методы доставки вредоносов, отдавая предпочтение форматам файлов, не вызывающим подозрение у защиты — таким как ISO, VHD, RAR, XLL.

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

RSS: Новости на портале Anti-Malware.ru