Как взламывают двухфакторную аутентификацию через сессию браузера

«Даже самая надёжная система защиты зависит от самого слабого звена. Двухфакторная аутентификация не исключение — её взламывают не через лобовую атаку на алгоритмы, а через человека, сеанс браузера и доверие.»

Где слабое звено: сеанс браузера, а не код подтверждения

Представление о двухфакторной аутентификации как о неприступной стене ошибочно. Уязвимость не в самом коде из SMS или приложения. Современные атаки фокусируются на уже установленном доверии между браузером пользователя и сервером.

После ввода логина и пароля браузер получает сессионные токены — файлы cookie, которые подтверждают личность на протяжении всего сеанса работы. Именно эти токены становятся главной целью атакующих. Они не крадут пароль, чтобы затем пройти двухфакторную аутентификацию. Их цель — украсть или подменить уже готовые токены, полученные после её успешного прохождения.

Подмена сессии: кража прав доступа через фишинг

Классическая фишинговая атака перешла на новый уровень. Если раньше целью был логин и пароль, то теперь злоумышленники стремятся получить и сессионные cookie.

Для этого создаются точные копии легитимных сайтов. Жертва получает письмо с просьбой срочно проверить учётную запись, переходит по ссылке и видит привычную страницу входа. Введя логин, пароль и даже код из 2FA, пользователь фактически передаёт атакующему не только учётные данные, но и свои сессионные токены. Посредник — вредоносная страница-прокси — мгновенно перенаправляет их на настоящий сервис, получает в ответ токены доступа и сохраняет их у себя.

В результате, ещё до того как пользователь увидит свою страницу в сервисе, хакер уже получил полный доступ к его аккаунту. На этом этапе смена пароля или отзыв сессии уже не спасают — атакующий действует в рамках легальной, «подтверждённой» сессии.

SIM-свопинг: когда второй фактор становится первым

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

Под предлогом утери или поломки SIM-карты он добивается её перевыпуска и активации на новом чипе, который находится в его распоряжении. В этот момент привязанный к номеру телефон жертвы теряет сеть. Все SMS с кодами подтверждения, а также звонки для верификации начинают поступать хакеру.

Дальнейшее — дело техники. Запускается процедура восстановления пароля в целевых сервисах (почта, соцсети, банки), на номер приходит код подтверждения, который теперь читает злоумышленник. Владелец аккаунта узнаёт о взломе слишком поздно, когда доступ уже потерян, а пароли изменены.

Атака посредника: перехват в реальном времени

Этот метод работает там, где двухфакторная аутентификация реализована не в рамках одного защищённого сеанса, а как два отдельных шага.

Хакеру снова требуется фишинговая копия сайта. Пользователь вводит на ней логин и пароль. Эти данные злоумышленник в реальном времени подставляет в форму на легитимном сайте. Тот, в свою очередь, отправляет код подтверждения на настоящий телефон жертвы.

На фишинговой странице появляется дополнительное поле с просьбой ввести этот код. Пользователь, считая процесс логичным, вводит полученное SMS. Код мгновенно переправляется атакующему, который вводит его на официальном сайте и завершает авторизацию, получая доступ.

Вся операция занимает минуты. Ключевая уязвимость здесь — разделение потока аутентификации между двумя системами (сайтом злоумышленника и легитимным сервисом), что позволяет играть роль посредника.

Вредоносное ПО: кража прямо с устройства

Атаки через браузер требуют активного взаимодействия с пользователем. Вредоносное ПО действует автономно, уже находясь внутри системы.

Трояны или специализированные стилеры могут:

  • Сканировать файлы браузеров (Cookies, Local Storage) на предмет сессионных токенов популярных сервисов.
  • Перехватывать ввод с клавиатуры (кейлоггеры).
  • Делать скриншоты экрана в момент получения и ввода кода 2FA.
  • Подменять буфер обмена, например, подменяя криптокошелёк для перевода средств на адрес злоумышленника в момент копирования.

В этом случае двухфакторная аутентификация также пасует, так как вредоносная программа действует в контексте уже авторизованной пользовательской сессии, имея доступ ко всем тем же данным, что и сам пользователь.

Устаревшие протоколы и человеческий фактор

Уязвимости в реализации

2FA на основе SMS использует протоколы SS7 и SMPP, безопасность которых была скомпрометирована много лет назад. Теоретически это позволяет перехватывать сообщения в сетях операторов. Хотя подобные атаки требуют высокого уровня подготовки и относятся к целевым, они остаются в арсенале государственных и хорошо финансируемых хакерских групп.

Повторное использование кодов и устаревание

Некоторые самописные системы двухфакторной аутентификации генерируют коды, которые не имеют ограничения по времени использования или могут быть использованы повторно. Обнаружив такую уязвимость, злоумышленник может применить перебор.

Социальная инженерия в службе поддержки

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

Что можно противопоставить: больше, чем двухфакторная аутентификация

Понимание векторов атак определяет стратегию защиты.

  1. Аппаратные ключи безопасности (FIDO2/U2F): ключи вроде YubiKey. Они используют криптографию с открытым ключом. Фактор аутентификации (ключ) физически присутствует на сайте. Фишинг здесь бесполезен — ключ не станет авторизовываться на поддельном домене, даже если пользователь его не отличит.
  2. Пуш-уведомления с подтверждением входа: приложение на телефоне получает запрос с указанием геолокации и устройства, с которого пытаются зайти. Пользователь видит не просто код, а контекст («Вход из Москвы с браузера Chrome»), что позволяет отклонить подозрительную попытку.
  3. Беспарольная аутентификация (WebAuthn): переход от секретов (паролей) к криптографическим ключам, хранящимся на устройстве пользователя. Исключает этап перехвата пароля и сильно затрудняет фишинг.
  4. Защита на уровне браузера и сессии:
    • Cookie с флагами HttpOnly (недоступность для JavaScript), Secure (передача только по HTTPS), SameSite=Strict/Lax (запрет на отправку cookie при межсайтовых запросах).
    • Регулярная ротация сессионных токенов и проверка контекста (IP-адрес, User-Agent).
  5. Контроль личной цифровой гигиены:
    • Отказ от SMS-кодов для критически важных сервисов (почта, финансы) в пользу приложений-аутентификаторов или ключей.
    • Использование виртуальных номеров для неважных регистраций.
    • Установка PIN-кода на SIM-карту (это усложнит SIM-свопинг).
    • Критическая проверка URL и сертификатов сайтов перед вводом данных.

Двухфакторная аутентификация, это не финишная черта безопасности, а лишь один из значимых рубежей. Её эффективность падает, когда другие элементы системы — реализация, каналы связи и, главное, поведение пользователя — остаются уязвимыми. Современная защита строится на многослойности: сочетании криптографически стойких методов (аппаратные ключи), правильной технической реализации и осознанного отношения к цифровым рискам.

Оставьте комментарий