✔16-летний исследователь обнаружил баг в системе аутентификации Microsoft Titan - «Новости»
16-летний ИБ-исследователь под ником Faav обнаружил серьезную ошибку аутентификации во внутренней аналитической платформе Microsoft Titan. Баг позволял получить права администратора без действительных учетных данных, выполнять произвольные SQL-запросы и потенциально обращаться к базам, содержащим около 17,3 трлн строк данных.
Так как система Titan предназначена для использования сотрудниками Microsoft, доступ к веб-интерфейсу платформы ограничен, но Faav вместе с самописным ИИ-ботом Antares обнаружил публичный API Titan на хосте Azure Cloud Services. Оказалось, что сервис проверял содержимое JSON Web Token (JWT), однако не проверял их подпись.
Исследование началось 25 августа. Faav рассказывает, что около десяти дней он вместе с Antares экспериментировал с аутентификацией, однако Titan отклоняла запросы. Переломный момент наступил ранним утром 5 сентября, когда исследователь попробовал указать в неподписанном токене вместо email-адреса обычное имя пользователя — admin.
Titan распознала admin как локальную учетную запись, сопоставила ее с пользователем с ID 1, которому принадлежали права администратора, и разрешила выполнять SQL-запросы.
Причиной такого поведения оказалась критическая уязвимость: сервис проверял содержимое JWT — tenant, audience, ID приложения и пользователя, — но вообще не проверял подпись токена. То есть атакующий мог самостоятельно сформировать токен с нужными значениями, и Titan принимала его как настоящий.
Как объясняет Faav, после этого остальные проверки аутентификации фактически теряли смысл: это было похоже на гостиницу, где на каждой двери установлен кардридер, однако любым ключом можно открыть любой номер.
После получения доступа исследователь смог изучить метаданные платформы. Среди них он нашел около 25 000 записей об аккаунтах и email-адресах, 17 990 адресов сотрудников, 15 001 запись об их подразделениях, 355 конфигураций БД, более 20 000 SQL-описаний виртуальных датасетов, 24 569 дашбордов и 425 891 график. Кроме того, каталог раскрывал должности, подразделения и управленческую иерархию сотрудников, что теоретически могло использоваться в атаках с применением социальной инженерии.
Также исследователь выявил тестовый датасет Bing и просмотрел две строки с поисковой информацией, идентификаторами и приблизительными данными о местоположении пользователей. Он отмечает, что точных координат там не было.
Но самые масштабные последствия бага обнаружились при проверке старых значений маршрутизации: из 56 значений 30 по-прежнему работали и через 24 конфигурации вели к 17 аналитическим БД с 9863 уникальными именами таблиц. Опираясь на метаданные, исследователь оценил их общий объем примерно в 17,3 трлн строк (17 333 335 124 315). Он подчеркивает, что в эту цифру, вероятно, входят старые, дублирующиеся и производные данные.
С 6 по 8 сентября представители Microsoft попросили исследователя прекратить тестирование и предоставить IP-адрес, чтобы убедиться, что активность ограничивалась рамками программы bug bounty. Вскоре доступ к проблемному эндпоинту закрыли, а 17 сентября Faav получил от компании вознаграждение в размере 5000 долларов США.
Faav отмечает, что перед публикацией отчета в Microsoft попросили его переписать часть материала, убрать из него некоторые разделы и цифры, а также скорректировать описание последствий бага.





