Назад
16-річний дослідник знайшов баг Microsoft і отримав адміндоступ до баз із 17,3 трильйона рядків
SiTech AI Team3 წთ. საკითხავი

16-річний дослідник знайшов баг Microsoft і отримав адміндоступ до баз із 17,3 трильйона рядків

16-річний дослідник Faav знайшов у сервісі Microsoft Titan вразливість авторизації. Непідписаний токен дав йому адмінправа й доступ до баз із 17,3 трильйона рядків. Microsoft закрила її та виплатила 5000 доларів.

16-річний дослідник безпеки, який веде блог під іменем Faav, виявив вразливість авторизації у внутрішньому аналітичному сервісі Microsoft Titan. Він отримав права адміністратора, виконав SQL-запити без валідних даних і дістався аналітичних баз, де зберігається приблизно 17,3 трильйона рядків.

Titan — це внутрішня платформа Microsoft, і доступ до веб-інтерфейсу мають лише співробітники. Досліднику допомагав створений ним AI-бот Antares. Він зрозумів, що зможе дістатися API Titan з хоста Azure Cloud Services, оскільки сервіс не перевіряв підпис токена входу.

Як відбулося виявлення

Дослідження почалося 25 серпня, коли Antares знайшов публічний API Titan. Наступні 10 днів людина й бот перевіряли JWT-авторизацію сервісу та імена користувачів у форматі електронної пошти (UPN) і зрештою знайшли непідписаний токен.

5 вересня Faav змінив UPN токена з формату електронної пошти на admin. Titan розпізнав його як локального користувача, перенаправив на ID 1, який мав роль адміністратора, і надав право виконувати SQL. Сервіс перевіряв вміст JWT, а не підпис. За порівнянням дослідника, це було схоже на готель, де на кожних дверях є робочий читач карток, але будь-яка картка відчиняє будь-яку кімнату.

У блозі він написав: «Це було 2 години. Мені хотілося кричати, але батьки спали. Тому я просто сидів і дивився на число 17 333 335 124 315».

До яких даних він отримав доступ

Уразливість дала доступ до бази метаданих платформи Titan, звідки він міг робити прямі запити до таблиць застосунку. У метаданих було приблизно 25 000 записів акаунтів і електронних адрес, 17 990 електронних адрес співробітників, 355 конфігурацій баз, SQL-визначення 20 979 віртуальних наборів даних, 24 569 дошок і 425 891 діаграма.

Каталог користувачів розкривав посади, відділи та управлінську ієрархію, що, на думку дослідника, могло бути корисним для соціальної інженерії, хоча він це не перевіряв. Він також знайшов зразок аналітики Bing і перевірив два рядки, де були пошукова інформація, ідентифікатори та місцеположення лише на рівні країни або регіону.

З архівованої конфігурації він перевірив 56 значень маршрутизації, і 30 з них усе ще були активними. Ці 30 значень через 24 конфігурації вели до 17 пов’язаних аналітичних баз. Загальний обсяг становить приблизно 17,3 трильйона рядків; за словами Faav, це оцінка, отримана з метаданих, і вона також охоплює історичні та дубльовані дані.

Реакція Microsoft

6–8 вересня Microsoft попросила підлітка припинити тестування та зажадала його IP-адресу, щоб підтвердити, що за межами дослідження в межах bug bounty не було шкідливої активності. Наступного дня компанія закрила ендпоінт. 17 вересня Microsoft виплатила йому 5000 доларів.

За заявою компанії, координоване розкриття вразливості допомогло зміцнити сервіси та захистити користувачів. Сам дослідник зазначив, що переписав текст блогу на прохання Microsoft і переформулював опис впливу перед публікацією.

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.