
ИБ-исследователь под псевдонимом brutecat (skull) обнаружил (
Bruteforcing the phone number of any Google user) критическую уязвимость в механизме восстановления аккаунта Google, позволявшую массово деанонить 

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

️ Уязвимость находилась в устаревшей форме восстановления имени пользователя, доступной при отключённом JavaScript. Форма обладала стандартной защитой от автоматизированных запросов, но исследователь выяснил, что если взять валидный токен BotGuard из JS-версии формы и подставить его в No-JS форму, то все ограничения на количество попыток для брута снимаются.

Для успешной атаки требовалось дополнительно узнать полное имя пользователя, но это можно было легко узнать через неочевидную 

 "баг-фичу" в сервисе Google Looker Studio, где при передаче владения документом раскрывалось полное имя получателя:

 То есть атакующий заходил в свой (аккаунт Google Looker Studio. Он создавал любой пустой, абсолютно безвредный документ. Содержимое не имело никакого значения. Затем он использовал стандартную функцию «Поделиться» (Share) и инициировал «Передачу владения» (Transfer ownership) этим документом. В окне передачи владения атакующий вводил email-адрес своей жертвы (
[email protected]).
Он подтверждал передачу. И вот здесь происходила утечка. Сразу после подтверждения, в интерфейсе у самого атакующего на его главной странице Looker Studio, система обновляла информацию о документе. Вместо того чтобы просто показать, что документ теперь принадлежит 
[email protected], система услужливо отображала имя и фамилию, привязанную к этому аккаунту  Google.

 Далее в ход шла стандартная процедура сброса пароля. Узнавались последние цифры телефона (например, ••••••••03).
Вооружившись именем, подсказкой и 

 «волшебным ключом» BotGuard, можно было запустить брутфорс, то есть перебор недостающих цифр.

 Результаты оказались  (Используя недорогой сервер, исследователь добился  (перебора ~40  номеров в секунду).
Например, вычислить номер  телефона получилось:

 Нидерланды — за  15 секунд

 Великобритания — за 4 минуты

 США — за 20 минут
Исследователь сообщил об уязвимости в  Google. Сначала в компании оценили уязвимость как 

"низкорисковую" и оценили выплату в размере $1 337.
Однако после обоснованной апелляции и демонстрации 

️ массовой практической опасности, классификация была повышена до 

"средней"и выплата увеличилась до $5 000.

Компания полностью вывела из эксплуатации уязвимую форму восстановления без JavaScript.