Исследователи в области кибербезопасности раскрыли подробности ошибки в механизме многофакторной аутентификации (MFA) сервиса Box.com, которая могла быть использована для полного обхода SMS-верификации.
«Используя эту технику, злоумышленник может использовать украденные учётные данные для взлома аккаунта Box и извлечения конфиденциальных данных без доступа к телефону жертвы», – говорится в отчёте исследователей Varonis.
Компания по кибербезопасности заявила, что уведомила поставщика облачных услуг о проблеме 2 ноября 2021 года, после чего Box выпустил соответствующие исправления.
Двухэтапная аутентификация может включать отправку кода в виде SMS-сообщения или альтернативный доступ через приложение-аутентификатор или аппаратный ключ безопасности.
Таким образом, когда пользователь Box, подписанный на SMS-проверку, входит в систему с действительным именем пользователя и паролем, служба устанавливает сессионный cookie-файл и перенаправляет пользователя на страницу, где можно ввести TOTP для получения доступа к учётной записи.
Обход, выявленный Varonis, является следствием того, что исследователи назвали смешением режимов MFA. Это происходит, когда злоумышленник входит в систему с учётными данными жертвы и отказывается от SMS-аутентификации в пользу другого процесса, который использует, скажем, приложение-аутентификатор, чтобы успешно завершить вход, просто предоставив TOTP, связанный с собственной учётной записью Box.
«Box не смотрит на то, что жертва не зарегистрировалась в приложении аутентификации, и вместо этого слепо принимает действительный аутентификационный код от совершенно другой учётной записи, не проверив предварительно, что она принадлежит пользователю, который входит в систему», – говорят исследователи.
«Это позволило получить доступ к учетной записи Box жертвы, не имея доступа к её телефону и не уведомляя пользователя по SMS».
Другими словами, Box не только не проверил, участвует ли жертва в верификации на основе приложения-аутентификатора (или любого другого метода, кроме SMS), но и не проверил, что введённый код получен из приложения-аутентификатора, которое действительно привязано к жертве, пытающейся войти в систему.
А казалось бы – что могло быть проще, да?
Ещё по теме: