Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
DPAPISnoop — C#-инструмент для вывода взламываемых хешей DPAPI из пользовательских MasterKeys | Kitploit
Инструменты/GitHubGitHub/leftp/dpapisnoop
Взлом паролейАтаки на ПаролиАнализ хэшейПост-эксплуатацияRed Teaming
GitHubleftp/dpapisnoop

DPAPISnoop

C#-инструмент для вывода взламываемых хешей DPAPI из пользовательских MasterKeys

Репозиторий
14682 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

DPAPISnoop

Инструмент на C#, который извлекает поддающиеся взлому DPAPI-хэши из пользовательских MasterKey и файлов CREDHIST.

Ориентирован как на MasterKey ($DPAPImk$), так и на полную цепочку CREDHIST ($credhist$); поддерживает локальные пути и удалённые SMB-шары.


Что извлекает инструмент

Хэши MasterKey ($DPAPImk$)

MasterKey для каждого пользователя можно найти в \Users\<user>\AppData\Roaming\Microsoft\Protect\<SID>\.

Взлом даёт доменный пароль пользователя и открывает все защищённые DPAPI секреты той эпохи.

Версия хэша зависит от ОС:

  • Версия 1 — 3DES + SHA-1 (≤ Vista)
  • Версия 2 — AES-256 + SHA-512 (≥ Win7)

Поле Context кодирует тип учётной записи:

  • 1 — локальный пользователь
  • 2 — доменный пользователь, до 1607
  • 3 — доменный пользователь, после 1607

Хэши CREDHIST ($credhist$)

Каждая запись в файле CREDHIST пользователя. Каждая запись зашифрована предыдущим паролем и при расшифровке даёт SHA1 + NTLM пароля, который был до неё.

Взлом цепочки восстанавливает все исторические пароли и их NTLM-хэши.

Записи помечены в поле имени пользователя, поэтому вывод говорит сам за себя:

root@kitploit:~
alice[current]:$credhist$*...    ← encrypted with the current password; crack this first
alice[prev1]:$credhist$*...      ← encrypted with the previous password
alice[prev2]:$credhist$*...

Версия хэша записей зависит от ОС:

  • 3DES + HMAC-SHA1 (≤ Vista) — взлом через hashcat -m 15920
  • AES-256 + SHA-512 (≥ Win10 20H2) — взлом через hashcat -m 15930

Использование

root@kitploit:~
DPAPISnoop.exe [rootDir] [options]

Если rootDir не указан, по умолчанию используется %HOMEDRIVE%. UNC-пути полностью поддерживаются.

Примеры

root@kitploit:~
# Local machine — dump everything (defaults to %HOMEDRIVE%)
DPAPISnoop.exe

# Local machine — walk CREDHIST chain from a known password
DPAPISnoop.exe C: --password Summer2026!

# Local machine — walk CREDHIST chain from a known SHA1
# (e.g. from sekurlsa::wdigest pwdhash or dpapi cache)
DPAPISnoop.exe C: --sha1 da39a3ee5e6b4b0d3255bfef95601890afd80709

# Remote share — dump everything
DPAPISnoop.exe \\server01\c$

# Remote share — CREDHIST only, redirect hashes to file
DPAPISnoop.exe \\server01\c$ --credhist-only > credhist_hashes.txt

# Remote share — walk CREDHIST chain from a known password
DPAPISnoop.exe \\server01\c$ --password Summer2026!

Взлом

MasterKey

root@kitploit:~
hashcat -a0 -m 15300 hashes.txt wordlist.txt   # v1 local/domain pre-1607
hashcat -a0 -m 15310 hashes.txt wordlist.txt   # v1 domain post-1607
hashcat -a0 -m 15900 hashes.txt wordlist.txt   # v2 local/domain pre-1607
hashcat -a0 -m 15910 hashes.txt wordlist.txt   # v2 domain post-1607

CREDHIST

root@kitploit:~
hashcat -a0 -m 15920 credhist_hashes.txt wordlist.txt   # 3DES entries (≤ Vista)
hashcat -a0 -m 15930 credhist_hashes.txt wordlist.txt   # AES-256 entries (≥ Win10 20H2)

После взлома передайте восстановленный пароль обратно в DPAPISnoop, чтобы пройти всю цепочку и вывести все исторические SHA1 и NTLM:

root@kitploit:~
DPAPISnoop.exe C:\ --password Summer2024! > ntlms.txt
DPAPISnoop.exe C:\ --sha1 <40-hex-sha1> > ntlms.txt

Модули Hashcat

См. README


Использование ИИ

Эта исследовательская и опытно-конструкторская работа проводилась совместно человеком и инструментами на базе ИИ с использованием моделей ИИ GPT-5.5 и Claude Sonnet 4.6.

Модели ИИ использовались для помощи в генерации кода и поддержки обратной разработки.

Однако всё направление исследований, валидация, отладка, тестирование, анализ безопасности и финальные технические решения выполнялись человеком (Imdefinelyhuman).

Весь сгенерированный контент, код и анализ были вручную проверены, подтверждены, изменены и интегрированы в рамках итеративного процесса под руководством человека.

Вышесказанное — это просто витиеватый способ сообщить, что в коде есть баги и вы используете его на свой страх и риск!


Ссылки

  1. Elie Burzstein and Jean Michel Picod, "Recovering Windows Secrets and EFS Certificates Offline."
  2. Microsoft, “CryptProtectData function.”
  3. Microsoft, “CNG DPAPI.”
  4. Microsoft, “DPAPI Backup Keys on Active Directory Domain Controllers”
  5. NAI Labs, “Windows Data Protection.”
  6. SpecterOps, “Offensive Encrypted Data Storage: DPAPI Edition.”
  7. SpecterOps, “Operational Guidance for Offensive User DPAPI Abuse.”
  8. SpecterOps, “DPAPI Backup Key Compromise Pt. 1: Some Forests Must Burn.”
  9. Passcape, “DPAPI CREDHIST.”
  10. Passcape, “DPAPI blob analysis.”
  11. Passcape, “DPAPI Master Key analysis.”
  12. NirSoft, “CredHistView.”
  13. Benjamin Delpy, “Mimikatz Wiki: module ~ dpapi.”
  14. Fox-IT, “Dissect CREDHIST parser.”
  15. DPAPIck3, PyPI project page
  16. GhostPack, “SharpDPAPI.”
  17. Sygnia, "The Downfall of DPAPI's Top Secret Weapon."

Автор

Lefteris (lefty) Panos @ LRQA Red Team 2026

Скачать инструмент
ФлагОписание
(нет)Дамп $DPAPImk$ и $credhist$ для нашего пользователя
--credhist-only / -cПропустить вывод MasterKey; выводить только строки $credhist$
--password <plaintext> / -pПройти по цепочке CREDHIST от текущего пароля в открытом виде
--sha1 <40-hex>Пройти по цепочке CREDHIST от известного SHA1 текущего пароля
--pre1607Выводить контекст 2 (домен до 1607) вместо контекста 3 для доменных хэшей MasterKey