Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
D

DonPAPI

> 编程语言
Open source

Dumping DPAPI credz remotely

1.4K stars0 likes0 views
WebsiteGitHub

About

Dumping DPAPI credz remotely

DonPAPI

DonPAPI automates regsecrets (or secretsdump) remotely on multiple Windows computers, with defense evasion in mind.

Collected credentials:

  • Chromium browser Credentials, Cookies and Chrome Refresh Token
  • Windows Certificates
  • Credential Manager
  • Firefox browser Credentials and Cookies
  • Mobaxterm Credentials
  • MRemoteNg Credentials
  • RDC Manager Credentials
  • Files on Desktop and and Recent folder
  • SCCM Credentials
  • Vaults Credentials
  • VNC Credentials
  • Wifi Credentials

We made a talk in french about DPAPI called **DPAPI - Don't Put Administration Passwords In **:

  • Slides

Table of Content

  • DonPAPI
    • Installation
    • Quick Start
    • Usage
      • collect
        • Authentication
        • Collection
        • OPSEC
        • Recover
        • Keep Collecting
      • gui
        • Web
        • Functionalities
    • Disclaimer
    • Credits

Installation

This tool should be install with pipx or in a dedicated virtual environment

pipx install donpapi

or (with latest commits)

pipx install git+https://github.com/login-securite/DonPAPI.git

or (to dev)

git clone git+https://github.com/login-securite/DonPAPI.git
cd DonPAPI
poetry update
poetry run DonPAPI

Quick Start

pipx install donpapi
donpapi collect -u admin -p 'Password123!' -d domain.local -t ALL --fetch-pvk
donpapi gui

Usage

usage: DonPAPI [-h] [-v] [-o DIRNAME] {collect,gui} ...

Dump revelant information on compromised targets without AV detection. Version: 2.0.0

positional arguments:
  {collect,gui}         DonPAPI Action
    collect             Dump secrets on a target list
    gui                 Spawn a Flask webserver to crawl DonPAPI database

options:
  -h, --help            show this help message and exit
  -v                    Verbosity level (-v or -vv)
  -o DIRNAME, --output-directory DIRNAME
                        Output directory. Default is ~/.donpapi/loot/

collect

This action is used to collect secrets on the targets specified in -t.

…

Authentication

Authentication works by specifying a domain with --domain, an username with --username, and eventually a password with --password, a hash with --hashes, an AES key with --aesKey or a Kerberos ticket in ccache format with -k (Impacket style). You can also authenticate through LAPS on the computer with --laps and the username of the local LAPS account as the value for this parameter.

Collection

By default, DonPAPI will collect:

  • Chromium: Chromium browser Credentials, Cookies and Chrome Refresh Token
  • Certificates: Windows Certificates
  • CredMan: Credential Manager
  • Firefox: Firefox browser Credentials and Cookies
  • MobaXterm: Mobaxterm Credentials
  • MRemoteNg: MRemoteNg Credentials
  • RDCMan: RDC Manager Credentials
  • Files: Files on Desktop and and Recent folder
  • SCCM: SCCM Credentials
  • Vaults: Vaults Credentials
  • VNC: VNC Credentials
  • Wifi: Wifi Credentials
  • CloudCredentials: Cloud credentials
  • IDEProjects: IDE projects files
  • PasswordManagers: Passwords managers files
  • PowerShellHistory: PowerShell history files
  • RecycleBin: Recycle Bins files
  • SSHSecrets: SSH secrets files (keys)
  • VersionControlSystems: Versioning tools (git for example)

You can specify each one you want to collect with --collectors (SharpHound style). If you use --fetch-pvk, DonPAPI will automatically fetch the Domain Backup Key of the AD domain and use it to decrypt masterkeys. Otherwise, you can bring one with --pvkfile. --pwdfile, --ntfile are used to feed DonPAPI with secrets in order to unlock masterkeys. But if you have freshly decrypted masterkeys, you can use --mkfile.

[!WARNING] Some collection method will need to dump LSA secrets (in order to obtain the DPAPI machine key). This action can be noizy, and modern EDR will block you instantly. You can use -nr to avoid doing those noisy actions, but some secrets won't be collected.

OPSEC

DonPAPI now supports a configuration file in order to pimp Secretsdump behaviour. This file will be located at ~/.donpapi/donpapi.conf, and by default, it will looks like this:

toml
[secretsdump]
share = C$
remote_filepath = \Users\Default\AppData\Local\Temp
filename_regex = \d{4}-\d{4}-\d{4}-[0-9]{4}
file_extension = .log

Recover

DonPAPI supports recover file. Each time you will run a collect command, it will save a recover file of the remaining targets and all the options. By default, the file is located in ~/.donpapi/register/ folder

Keep Collecting

Sometimes on an internal assessment, you want to go hard on some specific targets and collecting secrets on their computer again and again. Don't do a stupid bash loop, just use --keep-collecting X, X being the seconds you want to wait between each collecting sessions.

gui

Now that you have collected all those secrets, you want to crawl them. DonPAPI allow you to go through all collected secrets with a web GUI. To launch it, use donpapi gui.

usage: DonPAPI gui [-h] [--bind BIND] [--port PORT] [--ssl] [--basic-auth user:password]

options:
  -h, --help            show this help message and exit
  --bind BIND           HTTP Server bind address (default=127.0.0.1)
  --port PORT           HTTP Server port (default=8088)
  --ssl                 Use an encrypted connection
  --basic-auth user:password
                        Set up a basic auth

Web

General

This screen will show you every SAM reused passwords accross all collected computers, dumped scheduled tasks and service account passwords dumped from LSA. You can export all of them as CSV format.

Secrets

This screen will show you every secrets looted with DonPAPI. You can search on multiple elements and exports secrets in CSV

Cookies

This screen will show you every cookies looted with DonPAPI. You can search on multiple elements and exports cookies in CSV, but also copy paste them into JavaScript code to paste it in your browser.

Certificates

This screen will show you every certificates looted with DonPAPI. You can search on multiple elements and exports certificates in CSV, but also if a certificate allow client auth, then clicking on Yes will copy paste a Certipy command to use the certificate.

Disclaimer

This tool is for educational and ethical hacking purpose only. Login Sécurité is not responsible for the abuses committed with this tool.

Functionalities

The GUI frontend is developed in Vue3 + Vite.js, and the backend is Python Flask.

By default, it will be exposed at http://127.0.0.1:8088, but you can expose it the way you like, even at https://0.0.0.0:443.

[!WARNING] Please never expose DonPAPI to a whole network like this, it can be very dangerous. DonPAPI supports HTTPS with --ssl and you can add a Basic Auth with --basic-auth. And moreover, please never expose DonPAPI on the Internet like this.

Clicking on a value in the tables will instantly put it in your clipboard.

A Hide Password checkbox is available in the GUI, in order to hide sensitive data in the GUI, perfect for screenshots.

Credits

All the credits goes to these great guys for doing the hard research & coding :

  • Benjamin Delpy for most of the DPAPI research (always greatly commented, <3 your code)
  • All the team working on Impacket (https://github.com/SecureAuthCorp/impacket). Almost everything we do here comes from impacket.
  • Alesandro Z & everyone who worked on Lazagne (https://github.com/AlessandroZ/LaZagne/wiki) for the VNC & Firefox modules, and most likely for a lots of other ones in the futur.
  • dirkjanm for the GUI idea in Roadtools & every research he ever did. I learned so much on so many subjects thanks to you. <3
  • Byt3bl33d3r for CrackMapExec & All the team working on NetExec(lots of inspiration and code comes from CME / NXC projects)
  • All the Team at Login Sécurité for their ideas and help in debugging my shitty code (special thanks to @layno & @HackAndDo for that)

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Pythondpapipassword

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言