Заброшенный AgreeTo ожил и стал пожирать учетные данные как бешеный.

Исследователи зафиксировали первый известный случай, когда вредоносное дополнение для Microsoft Outlook распространялось через официальный каталог Office Add-in Store. Речь идет о надстройке AgreeTo для планирования встреч. К атаке он отношения не имеет, но после того как проект забросили, злоумышленник перехватил адрес, на который ссылалась надстройка, и превратил ее в фишинговый инструмент прямо внутри интерфейса Outlook.
AgreeTo появился в 2022 году как сервис для подбора удобного времени встреч. У него было расширение для Chrome и надстройка для Outlook. Пользователи активно ставили браузерную версию, у нее держался высокий рейтинг и положительные отзывы. Проект выглядел живым, с открытым репозиторием, кодом на TypeScript, интеграцией с Microsoft Graph API, Google Calendar и платежами через Stripe. Затем развитие остановилось. Последнее обновление Chrome-расширения вышло в мае 2023 года. Домен agreeto.app перестал продлеваться и отключился. В отзывах люди писали, что сервис больше не открывается. В итоге версию для Chrome удалили из магазина в феврале 2025 года. Надстройка Outlook при этом осталась доступна в каталоге Microsoft.
Механика надстроек Office устроена довольно просто. Внутрь почтового клиента не ставится полноценный модуль с зафиксированным кодом. Разработчик отправляет в Microsoft манифест, XML-файл с описанием разрешений и адреса, который нужно открывать во встроенном окне в боковой панели Outlook. После проверки манифест подписывается, и карточка появляется в магазине. А весь интерфейс и логика работы каждый раз загружаются с удаленного сервера по указанному URL. По сути, надстройка — это доверенная ссылка с набором прав доступа.
В манифесте AgreeTo, одобренном в декабре 2022 года, было указано разрешение ReadWriteItem. Оно позволяет читать и изменять письма пользователя. Для инструмента планирования встреч такой доступ выглядел оправданным. Проблема в том, что разрешение сохраняется независимо от того, что именно теперь отдает сервер по этому адресу. Платформа повторно не проверяет содержимое страницы. Нет контрольной суммы и закрепленной версии. Что размещено по ссылке сегодня, то и откроется внутри Outlook.
После остановки проекта размещение на Vercel удалили, и поддомен outlook-one.vercel.app освободился. Его занял атакующий. На этом адресе он разместил фишинговый набор из нескольких страниц. Поддельную форму входа Microsoft, страницу ввода пароля, скрипт отправки данных и автоматический переход на настоящий сайт авторизации. Никаких новых публикаций в магазине не требовалось. Запись AgreeTo уже существовала и продолжала устанавливаться через инфраструктуру Microsoft. Достаточно было взять под контроль забытый адрес.
По структуре файлов видно, что исходный разработчик и злоумышленник — разные люди. Старые ресурсы сервиса, иконки, обработчики OAuth и дизайн-файлы Microsoft недоступны и отдают ошибку. Новый владелец адреса не воссоздавал весь проект, а добавил только страницы, нужные для кражи учетных данных.
Сценарий выглядит так. Пользователь открывает надстройку AgreeTo в Outlook и видит не планировщик встреч, а страницу входа Microsoft. Вводит почту и пароль. Скрипт на странице собирает данные вместе с IP-адресом и отправляет их через Telegram Bot API. Отдельный сервер управления не используется, все уходит обычным запросом напрямую боту. Затем появляется индикатор загрузки и происходит незаметный переход на настоящий login.microsoftonline.com. Со стороны это похоже на повторный запрос авторизации. Жертва не замечает подмены.
Сам прием с поддельной формой входа довольно простой. Срабатывает он за счет контекста. Страница открывается внутри Outlook и загружается через официальный механизм надстроек, после стандартного окна с разрешениями. Многие средства защиты такую схему пропускают. Почтовые фильтры не помогают, потому что письмо с вредоносной ссылкой не используется. Защита на рабочей станции видит легитимный процесс Outlook. Фильтрация адресов тоже не всегда спасает, так как хостинг vercel.app обслуживает большое число нормальных проектов.
Каталог надстроек Microsoft не показывает количество установок, поэтому по карточке нельзя было понять масштаб. Исследователям удалось получить доступ к каналу, куда стекались украденные данные. Он был настроен слабо. Внутри обнаружились сведения более чем о 4000 жертвах. Среди них учетные записи Microsoft, номера банковских карт и ответы на контрольные вопросы. Специалисты выгрузили весь массив, начали уведомлять пострадавших и отправили жалобы хостинг-провайдеру и в Telegram. На момент анализа кампания продолжалась, новые данные продолжали поступать, а оператор проверял украденные логины и пароли.
Дополнительная проверка показала, что тот же человек или группа ведет не менее 12 фишинговых наборов под разные бренды. Среди приманок канадские провайдеры, банки и почтовые сервисы. В перехваченных записях есть номера карт, CVV, PIN и банковские проверочные ответы, которые используют при подтверждении переводов Interac e-Transfer. Надстройка Outlook оказалась лишь одним из каналов распространения.
Суть проблемы здесь глубже, чем одна фишинговая страница. Архитектура надстроек Office изначально завязана на удаленный контент, который можно поменять в любой момент. Проверка проходит только манифест при публикации. Все, что меняется по адресу загрузки позже, работает без новой модерации. Дополнение может быть безопасным в день проверки и вредоносным спустя месяцы или годы. В случае AgreeTo разрешение на чтение и изменение писем продолжало действовать и после захвата адреса. Это открывало путь не только к краже паролей, но и к чтению переписки или рассылке сообщений от имени пользователя.
В отчете приведены индикаторы компрометации, включая домен outlook-one.vercel.app и идентификатор надстройки WA200004949. Информацию передали Microsoft, Vercel и Telegram для блокировки инфраструктуры и удаления записи из каталога.