Кража почты через OAuth

Как атакующие получают доступ к корпоративным сервисам, не воруя пароли и куки, — изучаем технику Shadow Token via Remote Debug, используемую в атаках APT ToddyCat.

Кража почты через OAuth

Когда организацию атакуют для кражи информации, злоумышленникам важно быть незаметными. Как правило, они хотят сохранять свой доступ надолго, поэтому им нужно не вызвать срабатывания средств ИБ, а также сохранить лазейку даже на тот случай, если их обнаружат и в организации начнется реагирование на инцидент или рутинная смена паролей. Вредоносное ПО наподобие инфостилеров и условно легитимные инструменты для удаленного доступа (RMM) нарушают первое условие: при их применении срабатывают средства EDR и появляются подозрительные события в консоли SIEM. Использование краденных паролей противоречит второму условию: как только команда ИБ заподозрит что-то неладное, смена паролей может произойти немедленно, и доступ исчезнет. Если же вместо паролей, например, красть куки из браузера, то возникает другая проблема: многие онлайн-сервисы сейчас сопоставляют характеристики устройства, на котором, по их сведениям, должны быть сохранены куки, и блокируют сессию, если куки используются явно на другом устройстве. Более того, защита куки от похищения, реализованная в этом году в браузерах семейства Chromium (Chrome, Edge, Opera и так далее), усложнила эту задачу.

Решая эту проблему устойчивого доступа, в APT ToddyCat, занимающейся преимущественно шпионажем, изобрели новую технику, которую эксперты «Лаборатории Касперского» при препарировании очередной атаки назвали Shadow Token via Remote Debug (STRD). Эта техника позволяет злоумышленникам надежно подключаться к почтовому ящику и другим ресурсам жертвы в Google Workspace. Причем при небольшой доработке этот подход может позволить атаковать и другие сервисы, дающие сторонним приложениям доступ через авторизацию по протоколу OAuth 2.0.

Общий принцип атаки с использованием STRD

Сначала злоумышленники должны заразить жертву вредоносным ПО. В прошлом для заражения организации APT ToddyCat эксплуатировала известные уязвимости в серверном ПО, а также рассылала зловредные загрузчики через мессенджеры. Конкретный сотрудник, выбранный атакующими в качестве жертвы, может вообще не заметить атаку. Это возможно, например, если злоумышленники сначала получили привилегированные учетные данные администратора организации, а затем с их помощью установили вредоносное ПО на нужные машины дистанционно. Главное: вредоносное ПО должно быть таким, что ни его установка, ни запуск не вызывают немедленного срабатывания средств защиты.

После запуска вредоносного ПО злоумышленник проводит атаку по технике STRD и подключает дистанционный сервис атакующих к почтовому ящику жертвы при помощи протокола OAuth 2.0. Пользователь ничего не видит и ничего не нажимает, а для корпоративного сервиса (в изученной атаке это был Google Workspace) дело выглядит так, как будто пользователь решил подключить к своему аккаунту стороннее приложение для чтения почты или резервного копирования.

После этого зловред может завершить свою работу и даже самоудалиться из системы, поскольку злоумышленники будут сохранять прямой доступ к почтовому ящику, пользуясь полученным токеном OAuth. Для этого им не нужен ни компьютер жертвы, ни доступ в корпоративную сеть. В зависимости от настроек Google Workspace, доступ может сохраняться очень продолжительное время и переживать даже смену пароля.

В чем суть Shadow Token via Remote Debug

Центральным звеном атаки является подключение к сервисам Google Workspace по OAuth 2.0. Это легитимный сценарий, используемый всякий раз, когда к данным календаря, почты или файлам на Google Drive пытается получить доступ сторонний сервис. Хотите, чтобы в Zoom отображались встречи из календаря и автоматически создавались ссылки на созвоны? Выдайте разрешение сервису Zoom обращаться к Google. Подключаете сторонний клиент почты или календаря? Снова нужно выдать разрешение. В процессе этого подключения сервис, которому нужен доступ, открывает новое окно браузера. В этом окне Google Workspace сначала запрашивает, для какого из аккаунтов пользователя нужно провести операцию. После выбора аккаунта на следующем экране нужно прочитать, какие именно права запрашивает стороннее приложение и согласиться с их выдачей либо отказаться. Чтобы этот сценарий сработал таким образом, пользователь должен заранее войти в браузере в сервисы Google — что, впрочем, абсолютно типично для организаций, использующих Google Workspace. Если пользователь не вошел в Google заранее, в цепочке появляются дополнительные шаги по вводу пароля и многофакторной аутентификации.

«Двухходовку» для случая, когда пользователь уже вошел в Google, и пытается провернуть вредоносный инструмент Umbrij, созданный злоумышленниками из ToddyCat. Первым делом вредоносное ПО определяет, какие браузеры есть в системе и какая папка в каждом из них хранит рабочий профиль пользователя. Атакующих интересуют Chrome и Edge, которые наиболее вероятно используются в организации как «рабочие лошадки».

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

Самое важное: браузер запускается в специальном отладочном режиме, обычно используемом в веб-разработке. Окно браузера и интерфейс на экране вообще не появляются (режим headless), зато браузером можно управлять через отладочный порт по протоколу DevTools, подавая команды и считывая состояние экрана. Для проведения этих действий Umbrij использует легитимную библиотеку Puppeteer.

Убедившись, что «отладочный» браузер успешно запущен, Umbrij открывает в нем легитимный экран OAuth-авторизации Google Workspace для нового приложения. Запрос в Google искусственно сформирован таким образом, чтобы отключить дополнительные проверки безопасности и запросить максимум прав доступа. В качестве кода приложения, которое якобы запрашивает все эти права, указывается одно из двух легитимных приложений: Google Workspace Migration for Microsoft Outlook (GWMMO) или Google Workspace Sync for Microsoft Outlook (GWSMO).

Когда Google отобразит нужное окно в невидимом браузере, Umbrij с помощью инструментов отладки кликает на имя рабочей учетной записи и нажимает кнопки ОК/Разрешить, в результате чего Google генерирует код авторизации для приложения. Этот код Umbrij сохраняет и в дальнейшем пересылает на сервер атакующих. Затем, уже в своей инфраструктуре, а не на компьютере жертвы, злоумышленники обменивают полученный код авторизации на токен доступа OAuth. Это единственное, что нужно злоумышленникам для продолжительного и полноценного доступа к почтовому ящику.

Как защищаться от похищения токенов OAuth

В случае если учетная запись Google Workspace скомпрометирована, меры по реагированию должны включать следующие шаги (после сбора необходимых журналов и других данных для расследования инцидента):

  • сброс пароля атакованного пользователя;
  • принудительное завершение всех веб-сессий пользователя;
  • отзыв OAuth-токенов, разрешений сторонних приложений;
  • проверка и удаление доступа через устаревший механизм App P

Помимо этого, команды ИБ и ИТ должны систематически проводить аудит выданных разрешений OAuth, отзывать необоснованно выданные разрешения, а также блокировать возможности по избыточной выдаче таких разрешений. Подробно эту тему мы освещали в статье про блокировку нежелательных ИИ-ассистентов.

Как защищаться от эксплуатации техники Shadow Token via Remote Debug

Пользователи продуктов «Лаборатории Касперского» защищены от атак с помощью инструмента Umbrij. Несмотря на это, службам ИБ стоит проактивно внедрить политику, которая запретит обычным пользователям запускать браузер в отладочном режиме, — эта функция нужна исключительно разработчикам сайтов и веб-приложений. Для этого можно использовать групповую политику DeveloperToolsAvailability (версия для Chrome, для Edge).

Дополнительно настройте мониторинг в SIEM/XDR, чтобы отслеживать запуск браузера с отладочным портом. Это событие само по себе служит хорошим индикатором данной атаки.

Советы

Как отключить слежку в iOS?

У вас есть iPhone, iPad или iPod? Потратьте несколько минут на настройку служб геолокации, чтобы сэкономить заряд батареи и сохранить конфиденциальность перемещений.