Home > Расшифровка DPAPI
Расшифровка объектов DPAPI
01.03.2024
New blog post
Dumping the history of users' IP addresses in Windows
20.02.2024
Reset Windows Password v14.1
IP addresses history viewer, fast disk search, local security editor and some more
02.01.2024
Wireless Password Recovery v6.9.0
A revision of the GPU health monitor along with some minor updates
23.12.2023
HAPPY NEW YEAR!
Happy New Year greetings and holidays discount

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, то расшифровка этих данных также возможна без знания пароля на вход пользователя (например, паролей беспроводной сети), но это уже особенности реализации интерфейса и не является ошибкой.

Начиная с версии 9.7, Windows Password Recovery имеет встроенный механизм для обнаружения и использования новых, обнаруженных нами уязвимостей в защите Мастер Ключей DPAPI.
WPR v11.7 поддерживает функцию автоматического доверенного входа в систему Windows 10. Если программа обнаруживает, что для пользователя установлен доверенный автоматический вход, для расшифровки данных пароль на вход не потребуется.
В версии WPR v15 появилась пара дополнительных способов расшифровки DPAPI блобов: при помощи PIN, а также автоматическая расшифровка в случае если программа обнаружит использование биометрии, кэшированных паролей и т.д. Для учетных записей, которые используют биометрический вход Windows Hello, возможна расшифровка без знания пароля или PIN кода!
 

 

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

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

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