![]() |
<div id="post_message_796796">
Независимый исследователь обнаружил <a href="https://brutecat.com/articles/leaking-google-phones" target="_blank">уязвимость</a>, которая позволяла подобрать номер телефона для любого аккаунта Google. Проблема создавала серьезные риски фишинговых атак и атак на подмену SIM-карт.<br/> <br/> Уязвимость нашел ИБ-исследователь, известный под псевдонимом BruteCat. Напомним, что в начале текущего года он<a href="https://xakep.ru/2025/02/13/youtube-gaia-id/" target="_blank"> рассказывал о другом баге</a>, благодаря которому можно было узнать адрес электронной почты для любого аккаунта на YouTube.<br/> <br/> Новая атака специалиста строится вокруг использования устаревшей формы Google с отключенным JavaScript (accounts.google[.]com/signin/usernamerecovery), в которой отсутствовали современные механизмы защиты от злоупотреблений.<br/> <br/> Эта страница создавалась для того, чтобы помочь пользователям проверить, связан ли резервный адрес электронной почты или номер телефона с определенным отображаемым именем — display name (например, «John Smith»).<br/> <br/> Как объясняет BruteCat в своем отчете, новая атака позволяет узнать номер телефона, который человек использовал, когда настраивал восстановление для аккаунта Google. В подавляющем большинстве случаев этот номер совпадает с основным телефонным номером жертвы.<br/> <br/> Старая форма без JavaScript позволяла узнать, связан ли конкретный номер телефона с аккаунтом Google с помощью пары запросов, основываясь на отображаемом имени пользователя.<br/> <br/> Исследователь без труда обошел примитивную защиту от массовых запросов, реализованную в этой форме, используя ротацию IPv6-адресов для генерации триллионов уникальных IP через подсети /64.<br/> <br/> Обмануть CAPTCHA, которая отображалась при запросах, удалось, подставив в параметр bgresponse=js_disabled в действительный токен BotGuard, взятый из формы с поддержкой JS.<br/> <br/> <img alt="" border="0" class="bbCodeImage" src="https://xakep.ru/wp-content/uploads/2025/06/519674/bgtoken.jpg"/><br/> <br/> В итоге специалист создал брутфорс-инструмент, который перебирал диапазоны номеров, используя форматы, характерные для разных стран, и отфильтровывал ложные срабатывания.<br/> <br/> Также BruteCat использовал решение libphonenumber от Google для генерации корректных форматов номеров, создал базу масок телефонных номеров разных стран для определения форматов номеров по регионам, а также написал скрипт для генерации токенов BotGuard через headless Chrome.<br/> <br/> <img alt="" border="0" class="bbCodeImage" src="https://xakep.ru/wp-content/uploads/2025/06/519674/formats.png"/><br/> <br/> В результате получилось решение, способное осуществлять перебор со скоростью около 40 000 запросов в секунду. Таким образом, на поиск телефонных номеров в США требовалось около 20 минут, в Великобритании — 4 минуты, в Нидерландах — менее 15 секунд, а в Сингапуре — менее 5 секунд.<br/> <br/> <img alt="" border="0" class="bbCodeImage" src="https://xakep.ru/wp-content/uploads/2025/06/519674/time.jpg"/><br/> <br/> Чтобы провести атаку против конкретного человека, требовалось выполнить еще несколько дополнительных шагов. Дело в том, что еще несколько лет назад узнать чужой display name не составляло труда, но с 2023 года разработчики Google начали скрывать отображаемое имя, если перед этим не было взаимодействия между жертвой и атакующим, а в 2024 году практически полностью отключили отображение display name для большинства сервисов.<br/> <br/> BruteCat обнаружил, что для обхода этих ограничений можно создать документ Looker Studio и назначить жертву его владельцем (используя ее адрес на Gmail). В этом случае отображаемое имя учетной записи Google появлялось в Looker Studio, где пользователь становился владельцем документа, без какого-либо взаимодействия с жертвой.<br/> <br/> Вооружившись полученной информацией, атакующий получал возможность выполнять повторяющиеся запросы, чтобы извлечь все телефонные номера, связанные с конкретным display name.<br/> <br/> Поскольку учетных записей с одинаковыми отображаемыми именами могли быть тысячи, исследователь сужал круг поиска, используя частичный номер телефона цели. Чтобы узнать частичный номер телефона жертвы, он воспользовался функцией «восстановления аккаунта» Google (<a href="https://g" target="_blank">https://g</a>[.]co/AccountRecoveryRequest), которая позволяет увидеть две последние цифры номера, использующегося для восстановления (например, ** ******03).<br/> <br/> <div style="margin:20px; margin-top:5px; "> <!-- <div class="smallfont" style="margin-bottom:2px">Quote:</div> --> <table border="0" cellpadding="6" cellspacing="0" width="100%"> <tr> <td class="alt2" style="background: rgb(37, 37, 37) none repeat scroll 0% 0%; border: 1px solid rgb(0, 0, 0); border-radius: 5px; font-size: 11px; text-shadow: none;"> <font size="3">«Время [брутфорса] можно значительно сократить за счет подсказок о номере телефона, взятых из процедуры сброса пароля в других сервисах (например, PayPal), которые показывают еще несколько цифр (например, +14*****1779)», — отмечает BruteCat.</font> </td> </tr> </table> </div>Видеодемонстрацию эксплуатации этой уязвимости можно увидеть <a href="https://youtu.be/aM3ipLyz4sw" target="_blank">здесь</a>.<br/> <br/> Исходно BruteCat уведомил Google о проблеме через программу bug bounty в апреле 2025 года. Однако тогда разработчики Google сочли риски от уязвимости низким, и только 22 мая 2025 года компания повысила уровень опасности этой проблемы до «среднего» и применила временные меры для ее устранения. В итоге BruteCat получил за свою находку вознаграждение в размере 5000 долларов.<br/> <br/> В конце прошлой недели, 6 июня 2025 года Google окончательно закрыла доступ у уязвимому эндпоинту без JavaScript. То есть осуществить описанную исследователем атаку уже нельзя, однако неизвестно, не использовались ли обнаруженные BruteCat проблемы злоумышленниками ранее.<br/> <br/> <a href="https://xakep.ru/2025/06/11/bruteforcing-google-users/" target="_blank">@ xakep.ru</a> </div> |
All times are GMT. The time now is 06:47 AM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.