Дослідник кібербезпеки BruteCat виявив критичну вразливість в інфраструктурі Google, яка створювала серйозні загрози приватності мільйонів користувачів. Експлойт дозволяв зловмисникам отримати доступ до номерів телефонів практично будь-якого власника акаунту Google, відкриваючи шлях для масштабних фішингових атак та SIM-swapping.
Архітектурні недоліки застарілої системи аутентифікації
В основі уразливості лежав застарілий ендпоінт accounts.google.com/signin/usernamerecovery, який працював без підтримки JavaScript та сучасних засобів захисту від автоматизованих атак. Ця форма призначалася для допомоги користувачам у перевірці зв’язку між резервною електронною поштою або номером телефону з відображуваним ім’ям акаунту.
Ключовою проблемою стала відсутність ефективних механізмів rate limiting, які дослідник успішно обійшов за допомогою ротації IPv6-адрес. Використовуючи підмережі /64, BruteCat генерував трильйони унікальних IP-адрес, що дозволяло проводити масштабні брутфорс-атаки без блокування.
Складна методологія обходу захисних систем
Для подолання CAPTCHA-захисту дослідник застосував інноваційний підхід, підставляючи валідний токен BotGuard у параметр bgresponse=js_disabled. Цей токен отримувався з JavaScript-версії форми, що дозволяло імітувати легітимні запити.
Автоматизований інструмент, розроблений BruteCat, включав декілька критично важливих компонентів: бібліотеку libphonenumber від Google для генерації коректних форматів номерів, базу масок телефонних номерів різних країн та скрипт для генерації токенів BotGuard через headless Chrome. Результуюча швидкість атаки досягала 40 000 запитів на секунду.
Регіональні особливості ефективності атак
Час, необхідний для компрометації номерів, суттєво варіювався залежно від географічного регіону. Найбільш вразливими виявилися користувачі з Сингапуру (менше 5 секунд) та Нідерландів (менше 15 секунд), тоді як американські номери потребували близько 20 хвилин для визначення.
Експлуатація Looker Studio для отримання метаданих
Для проведення цілеспрямованих атак проти конкретних користувачів необхідно було знати їхнє відображуване ім’я. Незважаючи на обмеження, запроваджені Google у 2023-2024 роках, дослідник знайшов обхідний шлях через сервіс Looker Studio.
Створюючи документ у Looker Studio та призначаючи жертву його власником за Gmail-адресою, зловмисник міг отримати доступ до відображуваного імені без будь-якої взаємодії з ціллю. Додатково використовувалися часткові номери телефонів з функції відновлення акаунту, що показувала останні дві цифри номера для звуження кола пошуку серед тисяч акаунтів з однаковими іменами.
Процес виявлення та усунення загрози
Про уразливість було повідомлено в рамках програми bug bounty Google у квітні 2024 року. Спочатку компанія оцінила ризики як низькі, проте 22 травня 2024 року рівень небезпеки було підвищено до “середнього” з застосуванням тимчасових заходів захисту.
Остаточне усунення уразливості відбулося 6 червня 2024 року, коли Google повністю відключив доступ до форми без підтримки JavaScript. За виявлення критичної вразливості BruteCat отримав винагороду у розмірі 5000 доларів США.
Цей інцидент наочно демонструє важливість регулярного аудиту застарілих компонентів веб-додатків та необхідність застосування сучасних механізмів захисту до всіх елементів інфраструктури. Користувачам настійно рекомендується активувати двофакторну автентифікацію та регулярно перевіряти налаштування безпеки своїх акаунтів для мінімізації ризиків від подібних атак у майбутньому.