Google исправила баг с утечкой привязанных к аккаунтам телефонных номеров

Исследователь безопасности BruteCat обнаружил уязвимость, которая позволяла перебирать номера телефонов для восстановления любого аккаунта Google, просто зная имя профиля и часть номера. Компания заявила, что исправила баг.

Метод атаки заключается в использовании устаревшей версии формы восстановления имени пользователя Google с отключённым JavaScript, в которой отсутствовали современные средства защиты от злоупотреблений. Это создавало риск фишинга и подмены SIM-карт.

BruteCat сообщил, что номер телефона, настроенный пользователями для восстановления аккаунта Google, в подавляющем большинстве случаев совпадает с основным номером.

Форма позволяет запрашивать, связан ли номер телефона с учётной записью Google на основе отображаемого имени профиля пользователя («Джон Смит») с помощью двух запросов POST.

Исследователь обошёл элементарные средства защиты, ограничивающие скорость, в форме, используя ротацию адресов IPv6 для генерации триллионов уникальных исходных IP-адресов через подсети /64 для этих запросов. CAPTCHA, отображаемые многими запросами, были обойдены путем замены параметра «bgresponse=js_disabled» на действительный токен BotGuard из формы с поддержкой JS. С помощью этой техники BruteCat разработал инструмент для подбора паролей (gpb), который перебирает диапазоны номеров, используя форматы, специфичные для страны, и фильтрует ложные срабатывания.

Исследователь использовал «libphonenumber» от Google для генерации действительных форматов номеров, создал базу данных масок стран для определения форматов телефонов по регионам и написал скрипт для генерации токенов BotGuard через Chrome без заголовка.

При скорости перебора 40 тысяч запросов в секунду для номеров США потребуется около 20 минут, Великобритании — 4 минуты, а Нидерландов — менее 15 секунд. 

Чтобы начать атаку, для заполнения формы требуется адрес электронной почты, но Google скрыла его с прошлого года. BruteCat обнаружил, что может получить его, создав документ Looker Studio и передав право собственности на Gmail-адрес цели.

После передачи права собственности отображаемое целевое имя в Google появляется на панели инструментов Looker Studio создателя документа, не требуя никакого взаимодействия с целью.

Вооружившись этим адресом электронной почты, исследователь смог выполнять повторные запросы, чтобы определить все номера телефонов, связанные с именем профиля. Однако, поскольку могут существовать тысячи учётных записей с одинаковым именем профиля, он сузил область поиска, используя часть привязанного номера телефона. Чтобы получить его, исследователь задействовал рабочий процесс «восстановления учётной записи» Google, который отобразит две цифры настроенного номера телефона.

«Это время также можно значительно сократить с помощью подсказок по номеру телефона из потоков сброса пароля в других сервисах, таких как PayPal, которые предоставляют несколько дополнительных цифр (например, +14•••••1779)», — объяснил BruteCat.

BruteCat сообщил о своих выводах в Google через Программу вознаграждения за уязвимости (VRP) 14 апреля 2025 года. Изначально компания посчитала риск эксплуатации бага низким, но 22 мая повысила его до «среднего», применив временные меры по смягчению последствий и выплатив вознаграждение в размере $5000.

6 июня Google подтвердила, что полностью прекратила поддержку уязвимой конечной точки восстановления без JS.

Ранее исследователи BruteCat и Nathan обнаружили возможность раскрытия личных адресов электронной почты аккаунтов YouTube. Они выяснили, что API YouTube и Pixel Recorder можно использовать для получения идентификаторов Google Gaia пользователей и преобразования их в адреса электронной почты. Компания устранила уязвимость.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии