Skip to main content

Overview

The blob command decrypts arbitrary DPAPI blobs provided as base64 strings or binary files. This is a general-purpose decryption tool for any DPAPI-protected data not covered by other specific commands.
DPAPI blobs are the fundamental encrypted data structure used throughout Windows. This command can decrypt any DPAPI blob if you have the appropriate masterkeys.

Basic Usage

The /target parameter is required for the blob command. You must specify either a file path or base64-encoded blob data.

Command Arguments

Required Arguments

Decryption Methods

This method works without masterkeys if run from the user context who created the blob. No LSASS access required!
The /server argument is not applicable to the blob command since you must specify a specific target blob or file.

Example: Decrypting Binary Blob File with /unprotect

Output:

Example: Decrypting with Masterkey Mappings

Output:
Binary data is displayed as hex bytes. Text data is displayed as a string.

Example: Decrypting with Domain Backup Key

Output:

DPAPI Blob Structure

A DPAPI blob contains:

Common DPAPI Blob Sources

  • Browser saved passwords
  • Application credentials
  • Windows settings
  • Software configurations
  • Configuration files
  • Credential stores
  • Encrypted user data
  • Application data
  • Process memory containing DPAPI data
  • Crash dumps with credentials
  • Hibernation files
  • Third-party software using DPAPI
  • Custom credential management
  • Encrypted configuration data

Finding DPAPI Blobs

Use the search command to find DPAPI blobs:

Common Scenarios

Decrypt DPAPI blobs from custom applications:
Extract and decrypt registry DPAPI blobs:
Decrypt arbitrary DPAPI blobs with domain backup key:
Analyze extracted DPAPI blobs:

Blob Flags

Common DPAPI protection flags:
The CRYPTPROTECT_SYSTEM flag (0x20000000) indicates credentials saved by Windows services or scheduled tasks.

Encryption Algorithms

Common DPAPI encryption algorithms:

Detection Considerations

Host-Based Indicators:
  • Reading unknown/arbitrary files
  • Processing base64-encoded data
  • Decryption attempts on multiple blobs
  • Access patterns suggesting blob enumeration
Defensive Monitoring:
  • Monitor for bulk file access patterns
  • Alert on DPAPI-related process activity
  • Track access to application credential stores
  • Detect registry value enumeration
  • Monitor for LSASS access (when not using /unprotect)

search

Find DPAPI blobs in registry, files, and folders

ps

Decrypt PowerShell credential XML files

credentials

Decrypt Credential Manager files

masterkeys

Decrypt user masterkeys

Tips

  • Use the search command to locate DPAPI blobs first
  • Extract blobs from registry using PowerShell
  • Binary data may require further parsing after decryption
  • Check blob flags to understand protection scope
  • Text data will be displayed directly, binary as hex
  • Prefer /unprotect when running as target user
  • Target specific blobs to avoid bulk processing
  • Redirect output to file with /consoleoutfile
  • Consider the visibility of accessing unusual files
  • Base64 blobs in command line may be logged
Decryption fails with /unprotect:
  • Must run from user context who created the blob
  • Try using masterkeys or backup key instead
  • Verify you’re running as correct user
  • Blob may use machine-scope protection
Invalid blob format:
  • Data may not be a DPAPI blob
  • File may be corrupted
  • Check file header for DPAPI signature
  • Verify base64 encoding is correct
Decrypted data is binary:
  • Data is not plain text
  • May require additional parsing
  • Check application documentation
  • Could be encrypted with additional layer