DPAPI vulnerability allows intruders to decrypt personal data

Passcape Software has discovered a DPAPI vulnerability that could potentially lead to unauthorized decryption of personal data and passwords of interactive domain users. The vulnerability is present in all Windows Server operating systems.

DPAPI, first introduced in Windows 2000, is a technology to protect user and application data on the computer. DPAPI on later operating systems including Windows 2003, Windows Server 2008, and Windows Server 2012 while modified is still compatible with that of Windows 2K. Normally, the API encrypts data using the Master Key derived from the user logon password.

However, under certain conditions user data can be decrypted without knowing the corresponding logon password. In particular, the implementation of DPAPI algorithm in all systems after Windows 2000 implies that the Master Key is built using PBKDF2 function from SHA-1 password hash, but the classic algorithm introduced in Windows 2K uses MD4 hash instead.

Since MD4 hashes are already stored in the SAM registry or in the Active Directory, decryption becomes possible even without the logon password.

The vulnerability utilizes the fact the later versions of DPAPI have backward compatibility with the Win2K algorithm. By manipulating the Bit 4 of the dwPolicy flag, an application can instruct the OS to create the Master Key in the compatibility mode rendering the logon password unnecessary.

Even worse, the bit is off by default, therefore decryption of data of newly created domain users with interactive logon privileges in Windows server systems doesn’t require the logon password from the start.

Experts in Passcape Software recommend system administrators to take this flaw into consideration in order to guarantee reliable protection of users’ data on server systems.