Skip to content

Guide · Agent skill

How to use the Abusing DPAPI for Credential Access agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

This guide explains the abusing-dpapi-for-credential-access agent skill, a packaged set of instructions and helper files that teaches an AI agent how to extract and decrypt secrets Windows protects with DPAPI. It is written for authorized penetration testers and purple-team staff. By the end you will know what the skill does, how to install it, how to phrase a request that triggers it, and what it requires and where its limits are.

Abusing DPAPI for Credential Accessmukul975/Anthropic-Cybersecurity-Skills · Apache-2.0

Quick start

  1. 1Download and unzip the skill. Download the skill ZIP from this page and unzip it so SKILL.md sits in a folder named abusing-dpapi-for-credential-access.
  2. 2Place it where the agent can load it. Copy the folder to ~/.claude/skills/ for personal use or to .claude/skills/ inside a project. Alternatively, upload it under Settings, then Capabilities, then Skills in the Claude apps.
  3. 3Prepare the tools and access. Build or obtain SharpDPAPI and SharpChrome from official sources, install Python 3 and Impacket, and confirm you hold written authorization and the target user's SID plus one credential type.
  4. 4State your authorized task. Ask in plain language, naming the engagement, the Windows host, and the material you hold, such as a password, hash, session or backup key.
  5. 5Review and run the workflow. Let the agent triage first, check each command it proposes, and run decryption only within your rules of engagement, recording every action.

What is an agent skill and what does this one do?

An agent skill is a folder of instructions and optional scripts that an AI agent loads when a request matches the skill's description. This skill is built around SKILL.md, which describes the workflow, plus reference files and a Python helper, scripts/agent.py.

DPAPI is the built-in Windows encryption service that protects saved Credential Manager passwords, browser logins and cookies, Wi-Fi keys, KeePass keys and similar secrets. The skill walks the agent through three decryption routes: as the logged-in user, with a user's password or NTLM hash, or with the domain DPAPI backup key. It covers tools named in the source, including SharpDPAPI, SharpChrome, Mimikatz and Impacket's dpapi.py. The helper script finds DPAPI files in an exported user profile and runs those tools against them.

  • Maps to MITRE ATT&CK T1555.004, T1555.003 and T1003.
  • Covers Credential Manager, Vault, RDP, KeePass, certificate and browser secrets.
  • Targets authorized engagements after a foothold, or triage of DPAPI files already pulled from a host.

How do you install the skill?

Download the skill ZIP from this page and unzip it. For a personal setup, place the unzipped folder in ~/.claude/skills/. To scope it to one project, place it in that project's .claude/skills/ folder.

In the Claude apps you can instead upload the skill under Settings, then Capabilities, then Skills.

  • Personal install: ~/.claude/skills/abusing-dpapi-for-credential-access/
  • Project install: .claude/skills/abusing-dpapi-for-credential-access/ inside your project.
  • Confirm the folder contains SKILL.md at its top level.

What do you need before using it?

The skill assumes you already have authorized access to a Windows host and some target-user material. The source lists these requirements. Check each one before you start, because the agent cannot supply them.

  • A Windows host where the SharpDPAPI and SharpChrome tools are built from source or taken from release binaries. The source mentions msbuild or Visual Studio for building.
  • Mimikatz (optional), obtained from its official releases.
  • Python 3 and Impacket, installed with pipx install impacket. DonPAPI is optional for Linux triage.
  • The target user's SID, plus one of: a session, password, NTLM hash, or a domain DPAPI backup key (.pvk) for Domain Admin work.
  • Written authorization and a defined rules of engagement.
pipx install impacket

How do you trigger the skill with a natural request?

Describe your authorized task in plain language and name the Windows context. Mention the goal, the material you have, and the scope. The agent should match the request to the skill's description, which covers credential access after a foothold and triage of DPAPI blobs.

Good requests state the engagement and the data you hold. Vague requests about getting passwords from a computer are less likely to match and should be refused unless you can show authorization.

  • Example: For our authorized red-team engagement, I have a foothold on a Windows workstation and the user's SID. Triage the host for DPAPI-protected Credential Manager and browser secrets.
  • Example: I have exported C:\Users\jdoe from an approved disk image. Find the DPAPI master keys and blobs and explain which decryption route fits what I hold.
  • Example: We are running a purple-team exercise. Help me check whether our detections fire on DPAPI master-key access.

What safety limits and side effects should you know?

This skill is offensive security tooling. Its legal notice states it is for authorized penetration testing, red-team engagements and education only. Extracting credentials from systems you do not own or lack written authorization to test is illegal in many places. The skill is not meant for personal or employer devices where you lack permission, because it targets saved passwords and session cookies of real users.

The skill runs scripts and uses the network. The source notes that the Domain Admin backup-key route involves MS-BKRP backup-key RPC to the domain controller, and that Protect-folder and LSASS access are detectable. Log every action under your rules of engagement.

  • Runs scripts: yes (scripts/agent.py).
  • Uses network: yes.
  • Use only on hosts and accounts named in your written scope.
  • Keep records of commands, targets and timestamps for your report.
  • Treat recovered secrets as sensitive and store them according to your engagement terms.

What tips help you get reliable results?

Start with triage to see what DPAPI material exists before choosing a decryption route. Route choice depends on what you hold: a live user context, the user's password or hash, or the domain backup key. Verify each tool is built from an official upstream, since the source says to obtain tools only from official sources.

For purple-team work, pair each action with the detection it should trigger, so the exercise produces useful findings.

  • Triage first, then pick a route based on your material.
  • Use official upstream builds of SharpDPAPI, SharpChrome and Mimikatz.
  • Ask the agent to explain each command before it runs.
  • If a tool is missing, ask the agent which requirement is unmet rather than guessing a substitute.

What people use it for

  • Triaging a compromised Windows workstation for saved Credential Manager and RDP credentials during an authorized red-team engagement.
  • Decrypting DPAPI blobs and master keys offline from a disk image that an approved client supplied for review.
  • Validating whether endpoint monitoring detects DPAPI master-key and Protect-folder access in a purple-team exercise.
  • Assessing exposure of browser-saved logins in a test environment by walking through the SharpChrome workflow.

Frequently asked questions

How do I install the abusing-dpapi-for-credential-access skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings, then Capabilities, then Skills.

What do I need to run this skill?

You need a Windows host with SharpDPAPI and SharpChrome built from source or release binaries, Python 3 with Impacket, and optionally Mimikatz and DonPAPI. You also need the target user's SID plus a password, NTLM hash, session, or domain backup key.

Is the abusing-dpapi-for-credential-access skill free?

The skill is licensed under Apache-2.0, as listed on this page. The tools it names, such as SharpDPAPI, Mimikatz and Impacket, are separate projects with their own licences, which you should check at their official sources.

What tools does this skill use, and how does it compare to alternatives?

It uses SharpDPAPI and SharpChrome for Windows, Mimikatz as the original DPAPI implementation, and Impacket's dpapi.py and DonPAPI for Linux triage. This page does not compare it with other skills, so review the sources and scope of each before choosing.

Why does the skill fail or refuse my request?

Check that your request names an authorized engagement and that the required tools and target material are present. The skill is intended only for authorized penetration tests, so requests without clear authorization or against personal or employer devices should not proceed.

Does the skill run code on my machine?

Yes. It includes scripts/agent.py, which finds DPAPI files in an exported user profile and runs the listed tools against them. It also uses the network, so review its actions before running them.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits authorized red-team operators and purple-team staff who need a structured DPAPI workflow on Windows domains with written authorization. It is the wrong choice for anyone without permission to test the target, or for anyone wanting to access personal or employer devices, since it is built to harvest real users' saved passwords and cookies.

Download the skill