Группа ToddyCat автоматизировала кражу OAuth-токенов Gmail с помощью инструмента Umbrij

APT

Эксперты Kaspersky продолжили анализ инструментария группы ToddyCat и выявили новый метод атак на корпоративную переписку. Злоумышленники создали утилиту Umbrij, которая через удаленную отладку браузера получает OAuth-токен доступа к аккаунту Google. Атака ориентирована на пользователей Chromium-браузеров, использующих Gmail в корпоративной среде. Целью является захват контроля над облачной почтой и календарями без привлечения внимания систем мониторинга.

Описание

Группа ToddyCat известна как целевой APT-актор, нацеленный на государственные учреждения и крупные корпорации в Азиатско-Тихоокеанском регионе. В предыдущем отчете специалисты Kaspersky описали методы группы, включающие кражу данных из браузеров и локальных почтовых клиентов. Однако эти способы уже эффективно блокируются современными EPP- и EDR-решениями. В поиске обхода защитных механизмов ToddyCat разработала новый инструмент, который полностью автоматизирует процесс получения доступа к облачным учетным записям через Google API, оставаясь незамеченным для классических средств мониторинга.

Инструмент получил название Umbrij. Как показано в отчёте Kaspersky, это DLL-библиотека, написанная на .NET и обфусцированная с помощью открытого обфускатора ConfuserEx. Umbrij использует технику Shadow Token via Remote Debug (STRD) - получение OAuth-авторизационного кода через порт удаленной отладки браузера. Атака возможна, если жертва не вышла из своего аккаунта Google в браузере. Злоумышленники запускают браузер в headless-режиме (без графического интерфейса) с флагом "--remote-debugging-port", подключаются к нему через протокол DevTools с помощью библиотеки Puppeteer Sharp и отправляют запрос на получение разрешений для доступа к Google-аккаунту от имени текущей сессии.

Umbrij проходит несколько этапов. Сначала он проверяет доступность порта для отладки. Затем инструмент получает контекст пользователя: для этого он ищет процесс "explorer.exe" и дублирует его токен, что соответствует технике T1134.003 (манипуляция токенами доступа). После этого Umbrij копирует профиль браузера в отдельную директорию "BackupFiles", сохраняя файлы "IndexedDB", "Local Storage", "Network", "Login Data", "Preferences", "Secure Preferences" и "Web Data". Если какие-то файлы заблокированы, используется специальная функция принудительного копирования. Затем инструмент запускает браузер с аргументами, указывающими на скопированный профиль и порт отладки. Внутри этого сеанса действуют все сохраненные cookie, поэтому аутентификация не требуется.

Следующий шаг - отправка GET-запроса к странице авторизации Google OAuth 2.0. Umbrij использует "client_id", принадлежащий легитимному приложению Google Workspace Migration for Microsoft Outlook (GWMMO). В зависимости от параметра "-sync" может применяться "client_id" другого инструмента - Google Workspace Sync for Microsoft Outlook (GWSMO). Эти идентификаторы официально зарегистрированы, поэтому Google воспринимает запрос как исходящий от доверенного приложения. При этом Umbrij опускает ряд стандартных параметров, таких как "code_challenge" для PKCE (Proof Key for Code Exchange) и "state" для защиты от CSRF-атак. Redirect URI также заменен на "http://localhost" без конкретного порта и пути - это нужно только для перехвата кода из строки запроса.

После перехода на страницу выбора аккаунта Umbrij автоматически находит HTML-элемент с email жертвы и эмулирует клик мыши с помощью JavaScript. На следующей странице с запросом разрешений инструмент также программно нажимает кнопку "Allow". При этом запрашивается полный доступ к почте, облачному хранилищу Drive, контактам, календарю и административным функциям Directory API. После подтверждения браузер перенаправляется на указанный redirect_uri. Umbrij извлекает параметр "code" из GET-запроса и сохраняет его в лог-файл. Этот авторизационный код злоумышленник затем обменивает на постоянный OAuth-токен, который позволяет работать с Gmail через Google API без ограничений.

Всего исследователи обнаружили три версии Umbrij (обозначены как a, b и c). Они различаются набором командных параметров. Например, версия a поддерживает ключи "-regex" для фильтрации профилей по email, "-user" для выбора системного пользователя, "-deepsearch" для дополнительных проверок. Версия b добавляет возможность сохранять скриншот страницы в PDF с помощью параметра "-savepdf", а версия c использует "-lport" для указания порта. Инструмент также включает функцию создания PDF-снимка страницы в случае возникновения ошибки - это помогает атакующему диагностировать проблемы без обнаружения.

Загрузка Umbrij на хосте жертвы происходит через технику DLL-подстановки (DLL sideloading). Атакующие используют легитимные исполняемые файлы, уязвимые для такой атаки. В ходе расследования были выявлены три таких файла: "BDSubWiz.exe" из Bitdefender ConnectAgent, загружающий "log.dll"; "VSTestVideoRecorder.exe" из Visual Studio, загружающий "Microsoft.VisualStudio.QualityTools.VideoRecorderEngine.dll"; и "GoogleDesktop.exe" из отключенного приложения Google Desktop Search, загружающий "GoogleServices.dll". Эти файлы запускаются из подозрительных каталогов и маскируются под штатные процессы, например через создание задачи с именем "KasperskyEndpointSecurityEDRAvp".

Последствия успешной атаки включают полный доступ к корпоративной электронной почте, календарям, контактам и файлам на Google Drive. Злоумышленники могут читать, отправлять и удалять письма, а также использовать права администратора Directory API для управления пользователями. Автоматизация процесса позволяет ToddyCat масштабировать атаки и проводить их чаще, оставаясь незамеченной для систем мониторинга, поскольку браузер работает в фоновом режиме, а все действия выполняются через стандартные OAuth-запросы.

Для защиты от этой атаки корпоративным командам безопасности рекомендуется мониторить события загрузки DLL, связанные с известными уязвимыми приложениями, и отслеживать запуск браузеров с параметрами "--remote-debugging-port" и "--headless". Администраторам следует настроить политику "DeveloperToolsAvailability" со значением "0x00000002" в реестре, чтобы полностью отключить инструменты разработчика для всех пользователей, не занимающихся веб-разработкой. Также необходимо регулярно проверять список сторонних приложений и сервисов, имеющих доступ к Google-аккаунтам, и немедленно отзывать разрешения для GWMMO и GWSMO, если они не используются. Пользователей стоит проинструктировать выходить из аккаунтов Google после завершения сессии, чтобы снизить риск эксплуатации сохраненных сеансов. Развертывание комплексного решения класса EDR, такого как Kaspersky Endpoint Security, позволяет выявлять подозрительную активность на ранних стадиях, включая маскировку под штатные процессы и несанкционированное копирование профилей браузеров.

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

MD5

  • 1ab58838e5790efb22f2d35ab98c0b7d
  • 22aaeb4946ba6d2f2e27feb7dbb295de
  • 28cb7b261f4eb97e8a4b3b0d32f8def1
  • 3432dd9ac0df80ef86eb80bd080f839b
  • 3d3a621f852c42d97fd7260681e42508
  • 9f5f2f0fb0a7f5aa9f16b9a7b6dad89f
  • a7d7d6c4c3f227f7117261c63b9e23a9
  • bae82a15d1dbfb024617b9b56a8e5f66
  • f169d6d172dfb775895a5e2b1540c854
  • f61fbfb7aa1cd5dc8f70b055b51563e2

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