Мгновенный доступ к паролям LastPass

14 апреля, 2020, Oleg Afonin
Рубрика: «Безопасность», «Полезные советы»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

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

LastPass

LastPass был представлен в 2008 году компанией Marvasol Inc (в настоящее время — LogMeIn). На сегодняшний день LastPass входит в четвёрку самых популярных менеджеров паролей. Как и другие подобные продукты, LastPass предназначен для хранения, управления и синхронизации паролей, что помогает пользователям избежать повторного использования паролей. Благодаря автоматическому хранению и синхронизации паролей, а также генерации паролей с высокой энтропией, пользователи получают возможность использовать сложные, уникальные пароли для разных учётных записей без необходимости запоминать их все.

В семейство продуктов LastPass входят приложения для настольных операционных систем Windows и macOS, а также мобильные приложения для iOS и Android. Особый интерес представляют так называемые расширения, позволяющие устанавливать LastPass на разных платформах в виде расширения для браузера.

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

В то же время стойкость защиты баз данных LastPass различается на разных платформах. Так, на компьютерах под управлением Windows и macOS используется максимальное (порядка сотни тысяч) количество итераций хеширования, а на устройствах с Android используется защита с минимальным числом итераций.

С технической точки зрения пароли хранятся в базе данных в формате SQLite. Для защиты базы данных используется пароль, на основе которого вычисляется ключ шифрования. Для вычисления ключа шифрования производится (в зависимости от платформы) от 5,000 до порядка 100,000 итераций хеширования.

Извлечь базу данных LastPass проще всего с компьютера пользователя. Соответственно, для её защиты LastPass использует 100,100 итераций хеш-функции мастер-пароля. Атака методом прямого перебора демонстрирует следующую скорость работы:

Скорость перебора в 15,500 паролей в секунду с использованием аппаратного ускорителя NVIDIA GeForce 2070 достаточно типична, обеспечивая адекватный уровень защиты при условии использования достаточно стойкого мастер-пароля.

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

Скорость перебора мастер-пароля LastPass для устройств с Android может достигать 309,000 комбинаций в секунду на ускорителе NVIDIA GeForce 2070. Такая скорость перебора считается высокой, позволяя восстанавливать достаточно сложные пароли в разумные сроки. Так, семизначный мастер-пароль, составленный из случайной комбинации цифр и букв в обоих регистрах, но без использования спецсимволов, может быть восстановлен в течение трёх месяцев. Шестизначный же пароль, составленный из того же набора символов, получится вскрыть в течение трёх дней.

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

Расширение для браузера Chrome и Microsoft Edge Chromium

В наборе продуктов LastPass есть расширения для нескольких популярных браузеров. Расширение, предназначенное для браузера Google Chrome, также работает и в браузере Microsoft Edge Chromium.

Расширение для браузера – пожалуй, один из самых удобных способов управления паролями. Уверенное определение полей для автозаполнения, управление паролями непосредственно из браузера предоставляют пользователю весьма удобный инструмент.

Компания-разработчик LastPass утверждает, что расширение для Chrome обеспечивает тот же уровень безопасности, что и отдельное приложение:

Only you know your master password, and only you can access your vault. Your master password is never shared with LastPass. That’s why millions of people and businesses trust LastPass to keep their information safe. We protect your data at every step.

Source

Мы выяснили, что в реальности дела обстоят иначе. В частности, если пользователь выбирает опцию «Запоминать пароль» для автоматического разблокирования защищённого хранилища, расширение LastPass для Chrome не обеспечивает должного уровня безопасности. Фактически, ни о какой безопасности в данном случае не может идти и речи.

В чём смысл использования опции «Запоминать пароль»? Так же, как и другие менеджеры паролей, LastPass автоматически блокирует доступ к защищённому хранилищу при закрытии сессии. Многие пользователи предпочитают не вводить пароль постоянно, доверяя хранение своего мастер-пароля расширению LastPass. В то же время, расширение LastPass сохраняет мастер-пароль небезопасным образом:

«Уязвимость (под названием LastPass-Vul-1) заключается в небезопасной архитектуре механизма запоминания мастер-паролей в LastPass. Как показано на рисунке 2, LastPass может запомнить мастер-пароль пользователя (с именем пользователя BCPM) в локальной базе данных SQLite [40] tableLastPassSavedLogins2, позволяя пользователю автоматически проходить аутентификацию при каждом последующем использовании LastPass».

Источник

Описанная выше уязвимость присутствует во всех известных нам версиях расширения LastPass для Chrome (на момент написания — LastPass 4.44.0 и Google Chrome 80.0.3987.146 для Windows 10 x64). Соответственно, эксперт может извлечь и расшифровать мастер-пароль пользователя и получить таким образом доступ ко всему содержимому хранилища LastPass. Способ работает при условии использования пользователем опции «Запоминать пароль».

Казалось бы, если пароль уже сохраняется в базе данных, то естественно было бы ожидать, что его можно оттуда извлечь. Тем не менее, это не так; другие продукты используют гораздо более безопасные способы, делающие подобную атаку невозможной. Рассмотрим эти способы.

Windows Data Protection API

Начнём издалека. Воспользовавшись приложением Elcomsoft Internet Password Breaker, можно моментально извлечь пароли, которые хранятся в браузере Chrome и Microsoft Edge Chromium. Казалось бы, в чём разница?

 

 

Разница в том, что извлечь пароли из Google Chrome или Edge Chromium можно лишь в том случае, если известны логин и пароль пользователя Windows или есть доступ к авторизованной сессии (разблокированному именно данным пользователем компьютеру). Если компьютер выключен, а у эксперта есть исключительно жёсткий диск или его образ (при этом пароль пользователя Windows неизвестен), то и расшифровать пароли из Chrome или Edge Chromium не удастся.

Почему не удастся?

Дело в том, как именно Chrome (и Edge Chromium; в дальнейшем это уточнение можно опускать) защищают базу данных, в которой хранятся пароли пользователя. Сама по себе база данных шифруется алгоритмом AES-256; при этом пароль шифрования (мастер-пароль) по умолчанию не используется. (Здесь, пожалуй, кроется единственное отличие механизмов защиты Chrome и Edge Chromium: если в Chrome задать пароль для синхронизации паролей пользователь сможет, то в Edge Chromium подобный функционал не предусмотрен).

Ключ шифрования базы данных с паролями хранится на том же компьютере, что и сама база данных. При этом ключ шифрования защищён при помощи Windows

Data Protection API (DPAPI), который появился ещё во времена Windows 2000. DPAPI использует AES-256 в качестве алгоритма шифрования. Для доступа к паролям из Chrome пользователь должен войти в учётную запись Windows с использованием пароля, PIN-кода или подсистемы Windows Hello. Только после этого хранилище, защищённое DPAPI, будет расшифровано.

Похожим образом дела обстоят и в системе macOS. В этой ОС используется системное защищённое хранилище, «Связка ключей». Именно в ней Chrome сохраняет ключ шифрования от базы данных с паролями пользователей. Таким образом, безопасность подсистемы хранения паролей Chrome в macOS соответствует уровню безопасности Связки ключей, который признан достаточно высоким.

Подытожим изложенное. Для доступа к паролям Google Chrome и Microsoft Edge Chromium потребуется не только образ диска или файл базы данных, но и логин и пароль пользователя системы (либо доступ к аутентифицированной сессии). «Холодная» атака, таким образом, невозможна.

Именно возможность «холодной» атаки (извлечение мастер-пароля из образа диска или просто из файла базы данных) и является отличительной чертой расширения LastPass для Chrome. Всё, что потребуется для доступа к защищённому хранилищу – это сам файл базы данных и активированная пользователем опция «Запоминать пароль».

Извлечение мастер-пароля LastPass

Для извлечения пароля воспользуемся продуктом Elcomsoft Distributed Password Recovery.

  1. Расширение LastPass для Chrome сохраняет защищённую базу данных по следующему пути (Windows 10):
     %UserProfile%\AppData\Local\Google\Chrome\User Data\Default\databases\chrome-extension_hdokiejnpimakedhajhdlcegeplioahd_0
  2. Запустите Elcomsoft Hash Extractor (входит в состав Elcomsoft Distributed Password Recovery) и откройте указанный выше файл. Важно: файл можно извлечь как из уже авторизованной сессии, так и скопировать с диска или извлечь из образа.
  3. Hash Extractor автоматически извлекает заголовок. Сохраните его в файл с и откройте в Elcomsoft Distributed Password Recovery.
  4. Выберите учётную запись.
  5. Запустите атаку.
  6. Elcomsoft Distributed Password Recovery отобразит найденный мастер-пароль в течение нескольких секунд.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

REFERENCES:

Elcomsoft Distributed Password Recovery

Производительное решение для восстановление паролей к десяткам форматов файлов, документов, ключей и сертификатов. Аппаратное ускорение с использованием потребительских видеокарт и лёгкое масштабирование до 10,000 рабочих станций делают решение Элкомсофт оптимальным для исследовательских лабораторий и государственных агентств.

Официальная страница Elcomsoft Distributed Password Recovery »


Elcomsoft Internet Password Breaker

Elcomsoft Internet Password Breaker мгновенно находит пароли для веб-сайтов, учётных записей, а также почтовых ящиков, хранимые в различных приложениях. Поддерживая все популярные браузеры, а также все версии Outlook Express, Microsoft Outlook, Windows Mail и Windows Live Mail, Elcomsoft Internet Password Breaker поможет вам получить логин и пароль для большого количества ресурсов.

Официальная страница Elcomsoft Internet Password Breaker »

НАШИ НОВОСТИ