



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 минуты, а
Читать на habr.com
