Сенсационное открытие сделал исследователь под псевдонимом BruteCat,
Ссылка скрыта от гостей
критическую брешь в системе безопасности Google. Уязвимость, затаившаяся в устаревшем механизме восстановления учётных записей, позволяла злоумышленникам с лёгкостью вычислять телефонные номера, привязанные к аккаунтам пользователей.Суть проблемы: слабое звено в старой форме
В центре скандала оказалась архаичная форма восстановления имени пользователя, которая обходилась без JavaScript. Этот цифровой реликт, лишённый современных барьеров защиты, стал настоящей находкой для хакеров. Форма принимала запросы с указанием имени пользователя и номера телефона, выдавая в ответ, существует ли такой аккаунт. Всё это происходило через пару простых POST-запросов.На первый взгляд, защита была на месте, но она оказалась лишь видимостью:
- Лимиты на запросы? Злоумышленники обошли ограничения, используя ротацию IPv6-адресов. Подсети /64 открывали доступ к астрономическому числу уникальных IP, позволяя маскировать атаки.
- CAPTCHA? Исследователь научился добывать действующие BotGuard-токены из JavaScript-версии формы, полностью нейтрализуя защиту.
Орудие атаки:
Чтобы продемонстрировать масштаб проблемы, BruteCat разработал утилиту gpb, которая превратила уязвимость в настоящий кошмар для безопасности. Этот инструмент:- Молниеносно перебирал номера, ориентируясь на форматы, характерные для разных стран, с помощью библиотеки libphonenumber от самого Google.
- Автоматизировал сбор BotGuard-токенов через headless Chrome, обеспечивая бесперебойную работу.
- Обрушивал на серверы до 40 000 запросов в секунду, вычисляя номер в США за 20 минут, в Великобритании — за 4 минуты, а в Нидерландах — всего за 15 секунд.
Как хакер собирал пазл
Чтобы ускорить процесс, BruteCat использовал хитроумные способы добычи части номера:- Форма восстановления Google любезно подсказывала две цифры номера.
- Сторонние платформы, такие как PayPal, при сбросе пароля раскрывали больше информации, например, +14•••••1779.