Шістнадцятирічний дослідник під псевдонімом Faav знайшов у Microsoft діру в захисті, яка відкривала доступ до величезного обсягу внутрішніх даних, повідомляє Tom's Hardware. За відповідальне розкриття вразливості компанія нарахувала йому $5000.

Хто стоїть за знахідкою

Юний баг-хантер займається пошуком вразливостей у чужих сервісах уже понад рік. За його власними словами, окрім Microsoft він цього року також перевіряв на міцність Amazon, Google та Adobe, роблячи це у вільний від навчання час. Основним інструментом йому служить Antares — ШІ-бот власної розробки, який бере на себе рутинні етапи пошуку. Усі подробиці Faav описав у своєму блозі.

Як розгорталися події

25 серпня 2026 року бот Antares звернув увагу на внутрішню аналітичну платформу Microsoft із назвою Titan. Пряме звернення до її вебінтерфейсу блокувала вимога VPN, тож зайти туди ззовні було неможливо. Однак пошук тривав, і бот виявив піддомен на інфраструктурі Azure Cloud, де відкрито лежав файл Swagger із чотирма маршрутами API. Три з них потребували авторизації через Azure AD, а четвертий — /v2/Query — приймав необроблені SQL-запити. Саме на ньому Faav і зосередив зусилля.

Не вистачало тільки назви таблиці, і тут допоміг архів Wayback Machine: у знімку сторінки за 2023 рік зберігся конфігураційний файл Apache Superset із описом 56 таблиць.

Десять днів боротьби з JWT

Спочатку сервер відмовляв у доступі через відсутність токена JWT. Протягом десяти днів Antares перебирав різні підходи, аналізуючи повідомлення про помилки одне за одним. Зрештою виявилося дивне: навіть після зміни змісту токена підпис не змінювався, а сервер все одно приймав нові дані. Це свідчило про те, що підпис узагалі не перевіряється.

Тоді Faav створив токен без підпису, вказавши в заголовку alg: none. Сервер прийняв такий токен, але щоразу повідомляв, що користувача не знайдено. ШІ перебирав варіанти ідентифікаторів, схожих на електронні адреси, проте безрезультатно.

Прорив стався в ніч на 5 вересня, невдовзі після першої години. Faav замислився, як бекенд обробляє поле upn, і замінив у токені електронну адресу словом admin. У відповідь система видала цифру 1 — вона розпізнала admin як локальне ім'я користувача з ID 1 і роллю адміністратора, після чого виконала запит.

Що знайшлося всередині

Команда SHOW DATABASES відкрила решту баз, включно з метаданими самої платформи. Серед знахідок:

  • близько 25 тисяч записів про акаунти й електронні адреси
  • 17 990 записів про імейли співробітників та 15 001 запис про їхні організаційні одиниці
  • 355 конфігурацій баз даних
  • 24 569 дашбордів, 425 891 діаграма та 27 347 визначень датасетів

Також була доступна службова інформація про співробітників — посади, відділи, ієрархія підпорядкування. Faav зауважує, що подібні дані потенційно можна було б використати для соціальної інженерії, хоча сам він таку можливість не перевіряв.

Окремо він натрапив на джерело аналітики Bing, де виконав лише два однорядкові запити й нікого не ідентифікував.

Наскільки великим виявився масив

З 56 маршрутів, зазначених у конфігурації, працюючими виявилися 30. Через 24 конфігурації вони вели до 17 підключених аналітичних баз, які містили 9863 унікальні таблиці. Загальної цифри ніде не було вказано, тож підліток попросив ШІ підрахувати показники з метаданих усіх 17 баз ClickHouse, а потім перевірив результат двома різними способами.

Підсумкова цифра склала 17 333 335 124 315 рядків. Оскільки була вже друга ночі й батьки спали, гучно висловити радість Faav не міг.

Хронологія подальших подій

  • 5 вересня — Faav повідомив Microsoft про вразливість через MSRC
  • 6–8 вересня — MSRC попросила зупинити тестування й підтвердити IP-адресу
  • 9 вересня — ендпоінт закрили
  • 17 вересня — Faav отримав винагороду $5000
  • 22 вересня — відбулася зустріч із Microsoft щодо узгодження розкриття
  • 25 вересня — вийшов допис у блозі

За словами Faav, Microsoft подякувала йому за скоординоване розкриття інформації.

Два висновки автора

Перший висновок стосується взаємодії людини і штучного інтелекту: Antares виконав десять днів рутинної роботи, але не додумався, що поле upn у цьому випадку працює як локальний логін — останній крок зробила людська інтуїція.

Другий висновок технічний: платформа Titan перевіряла зміст токена — тенант, аудиторію, ID застосунку, користувача — але не перевіряла його підпис.

Це як готель, де на кожних дверях є замок, проте відчиняє його будь-яка картка.

Faav

Автор радить розробникам і кодовим агентам насамперед перевіряти підписи токенів. Нагадаємо, кілька днів тому Microsoft оприлюднила проєкт «правил поведінки» штучного інтелекту.

Джерело: Highload.tech