В менеджере паролей LastPass обнаружили кучу новых уязвимостей

Исследователи Альберто Гарсия Иллера (Alberto Garcia Illera) и Мартин Виго (Martin Vigo) из компании Salesforce рассказали на конференции Black Hat Europe о том, что популярный менеджер паролей LastPass вряд ли можно назвать безопасным. Эксперты сообщили об обнаружении в LastPass длинного перечня уязвимостей и багов.

Если говорить об атаках с клиентской стороны, эксперты Salesforce сумели добраться до ключа LastPass, который дешифрует данные в хранилище паролей, даже в системах, где отключена опция «запомнить пароль». В этом им помогли cookie-файлы сессий. Сами cookie не содержат ключа, он хранится локально, в зашифрованном виде, зато cookie содержат pwdeckey, при помощи которого ключ всё же можно извлечь.

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

Эксперты также нашли способ, который позволяет проникнуть в хранилище паролей, не используя cookie, при отключенной опции «запомнить пароль» и при включенной двухфакторной аутентификации. Для этого эксперты обманули систему восстановления аккаунта, которая позволяет попасть в хранилище паролей без ввода мастер-пароля или прохождения двухфакторной аутентификации. В этом помогла функция «disabled one-time password» (dOTP), которую Виго охарактеризовал как «мастер-пароль на стероидах». dOTP генерирует на машине одноразовый пароль, который используется для восстановления аккаунта. Но этот пароль почему-то может быть использован для авторизации в LastPass, с его помощью можно добраться до ключа шифрования и расшифровать все сохраненные пароли. И всё это в обход IP-ограничений и двухфакторной аутентификации.

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

Самая главная проблема заключается в том, что параметр, который используется для вставки пользовательских данных на сайты, это не регулярная форма или кнопка. Для этого параметр использует custom_js, который нужен для внедрения и исполнения JavaScript кода. А значит, на него можно провести атаку, используя определенную комбинацию пейлоудов, и похитить данные пользователя.

В качестве еще одной атаки извне, исследователи продемонстрировали атаку на браузер Firefox, которая позволила им похитить имена пользователей в виде простого текста, зашифрованные пароли и файл конфигурации prefs.js. В некоторых случаях пароли можно расшифровать, используя те же методы, которые помогли экспертам в атаках на клиентскую сторону LastPass. Виго отдельно отметил, что в файле prefs.js содержатся и настройки Firefox, а многие пользователи свободно выкладывают данный файл в сеть, публикуют его на различных формах, особенно, когда им нужна помощь в решении какой-то проблемы.