Home > Расшифровка DPAPI
Расшифровка объектов DPAPI
22.09.2020
Wireless Password Recovery v6.3.0
Support for NVidia 3xxx GPUs
21.08.2020
Reset Windows Password v9.8
Enhanced password recovery and password lookup algorithms
07.08.2020
Wireless Password Recovery v6.2.9
Security issue fix
16.07.2020
Wireless Password Recovery v6.2.8
Password filters, improved performance for top devices

Articles and video

You may find it helpful to read our articles on Windows security and password recovery examples. Video section contains a number of movies about our programs in action

Windows Password Recovery - расшифровка объектов DPAPI



Расшифровка данных DPAPI (DPAPI blobs) состоит из четырех шагов мастера.

Выбор файла с зашифрованными данными DPAPI
Выбор DPAPI объекта

На первом этапе необходимо указать путь к файлу с объектом DPAPI. Надо сказать, что сами DPAPI объекты могут храниться в разных местах операционной системы, например, в отдельных xml файлах, в реестре, в Active Directory; и в разных форматах: двоичном, ASCII, UNICODE. Для поиска DPAPI объектов, извлечения и сохранения их в файлы существует специальная утилита. С помощью этой утилиты, к примеру, можно сохранить все DPAPI блобы из реестра пользователя в отдельные файлы. Для расшифровки необходимо такжу указать программе путь к каталогу Windows.

Ниже указаны места хранения некоторых DPAPI объектов.

  • Пароли Internet Explorer, Outlook, WiFi passwords (только для XP): реестр пользователя, %APPDATA%\ntuser.dat
  • Google Chrome: %LOCALAPPDATA%\Google\Chrome
  • Пароли WiFi (Windows Vista и выше): %PROGRAMDATA%\Microsoft\Wlansvc
  • Пароли сетевых соединений (Windows Vault): %LOCALAPPDATA%\Microsoft\Credentials или %APPDATA%\Microsoft\Credentials
Для быстрого выдергивания из различных мест жесткого диска DPAPI обектов, воспользуйтесь утилиту поиска.


 

Выбор Мастер Ключа
Выбор Мастер Ключа

Мастер ключ представляет собой набор из 64 случайных байт, который используется в качестве первичного ключа при расшифровки DPAPI объектов. Мастер ключ зашифрован с помощью пароля пользователя (либо системы, если это системный Мастер Ключ). Мастер Ключ пользователя всегда располагается в каталоге %APPDATA%\Microsoft\Protect\%SID% а Мастер Ключи системной учетной записи хранятся в директории %SYSTEMDIR%\Microsoft\Protect. Надо отметить, что Мастер Ключей может быть несколько, а для расшифровки определенного объекта подойдет только один, имя которого хранится внутри DPAPI объекта. При поиске Мастер Ключа, программа может фильтровать ненужные имена. В каталоге %APPDATA%\Microsoft\Protect находится и файл CREDHIST, который задается опционально, и в большинстве случаев не требуется при расшифровке.


 

Расшифровка Мастер Ключа
Расшифровка Мастер Ключа

Для расшифровки Мастер Ключа пользователя необходимо задать как минимум два параметра: пароль пользователя на вход и его идентификатор безопасности (SID), который, как правило, прописан в пути к Мастер Ключу, либо прошит в файле CREDHIST. Так или иначе, Windows Password Recovery вычисляет SID пользователя автоматически. Для расшифровки Мастер Ключа системы, как уже было сказано выше, задавать пароль не имеет смысла, всю необходимую для расшифровки информацию программа получает из двух файлов реестра: SYSTEM и SECURITY. Если при создании DPAPI blob была использована дополнительная энтропия, необходимо самостоятельно создать двоичный файл с энтропией и указать путь к нему. Например, для шифрования паролей Internet Explorer, в качестве энтропии используется имя сайта в формате UNICODE.

Любопытно, что в Windows 2000 существует серьезная уязвимость благодаря которой для расшифровки любых(!) DPAPI объектов необязательно задавать логон пароль пользователя. Т.е. все данные, защищенные при помощи DPAPI - уязвимы! Это очень серьезная ошибка в реализации DPAPI, о которой знает Microsoft, однако остальные операционные системы лишены этого недостатка. Если при шифровании данных в функции CryptProtectData был указан флаг CRYPTPROTECT_LOCAL_MACHINE, то расшифровка этих данных также возможна без знания пароля на вход пользователя (например, паролей беспроводной сети), но это уже особенности реализации интерфейса и не является ошибкой.

Иногда возможна расшифровка Мастер ключа и записей DPAPI без знания пароля владельца.

Начиная с версии 9.7, Windows Password Recovery имеет встроенный механизм для обнаружения и использования новых, обнаруженных нами уязвимостей в защите Мастер Ключей DPAPI.

WPR v11.7 поддерживает функцию автоматического доверенного входа в систему Windows 10. Если программа обнаруживает, что для пользователя установлен доверенный автоматический вход, для расшифровки данных пароль на вход не потребуется.


 

Расшифровка данных
Расшифровка данных

Имея все необходимое, Windows Password Recovery выполнит расшифровку данных DPAPI объекта, которые затем можно скопировать в буфер обмена или сохранить в файл. Если на финальной стадии расшифровки возникает ошибка, то, скорее всего, вами был неправильно задан или не задан параметр дополнительной энтропии. Например, Internet Explorer и Vista Ftp Manager использует в качестве энтропии исходную страницу, на которой был введен пароль. Windows Credential Manager аналогично использует некоторые строковые константы и т.д.