Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DPAPISnoop — 사용자 MasterKeys에서 크랙 가능한 DPAPI 해시를 출력하는 C# 도구 | Kitploit
도구/GitHubGitHub/leftp/dpapisnoop
Password CrackingPassword AttacksHash AnalysisPost-ExploitationRed Teaming
GitHubleftp/dpapisnoop

DPAPISnoop

사용자 MasterKeys에서 크랙 가능한 DPAPI 해시를 출력하는 C# 도구

저장소 보기
14682개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

DPAPISnoop

DPAPI 사용자 MasterKey 및 CREDHIST 파일에서 크랙 가능한 DPAPI 해시를 추출하는 C# 도구입니다.

MasterKey($DPAPImk$)와 전체 CREDHIST 체인($credhist$)을 모두 대상으로 하며, 로컬 경로 및 원격 SMB 공유를 지원합니다.


추출 항목

MasterKey 해시 ($DPAPImk$)

각 사용자의 MasterKey는 \Users\<user>\AppData\Roaming\Microsoft\Protect\<SID>\에서 찾을 수 있습니다.

크래킹하면 사용자의 도메인 비밀번호를 얻을 수 있으며, 해당 시기의 모든 DPAPI 보호 비밀을 해제할 수 있습니다.

해시 버전은 OS에 따라 다릅니다:

  • 버전 1 — 3DES + SHA-1 (≤ Vista)
  • 버전 2 — AES-256 + SHA-512 (≥ Win7)

컨텍스트 필드는 계정 유형을 인코딩합니다:

  • 1 — 로컬 사용자
  • 2 — 도메인 사용자, 1607 이전
  • 3 — 도메인 사용자, 1607 이후

CREDHIST 해시 ($credhist$)

각 사용자의 CREDHIST 파일에 있는 모든 항목. 각 항목은 이전 비밀번호로 암호화되어 있으며, 그 이전 비밀번호의 SHA1 + NTLM으로 복호화됩니다.

체인을 크래킹하면 모든 과거 비밀번호와 해당 NTLM 해시를 재구성할 수 있습니다.

항목은 사용자 이름 필드에 레이블이 지정되어 출력이 자체 설명적입니다:

root@kitploit:~
alice[current]:$credhist$*...    ← 현재 비밀번호로 암호화됨; 이 항목을 먼저 크랙하세요
alice[prev1]:$credhist$*...      ← 이전 비밀번호로 암호화됨
alice[prev2]:$credhist$*...

항목 해시 버전은 OS에 따라 다릅니다:

  • 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:~
# 로컬 머신 — 전체 덤프 (%HOMEDRIVE% 기본값)
DPAPISnoop.exe

# 로컬 머신 — 알려진 비밀번호에서 CREDHIST 체인 탐색
DPAPISnoop.exe C: --password Summer2026!

# 로컬 머신 — 알려진 SHA1에서 CREDHIST 체인 탐색
# (예: sekurlsa::wdigest pwdhash 또는 dpapi 캐시)
DPAPISnoop.exe C: --sha1 da39a3ee5e6b4b0d3255bfef95601890afd80709

# 원격 공유 — 전체 덤프
DPAPISnoop.exe \\server01\c$

# 원격 공유 — CREDHIST만, 해시를 파일로 리다이렉트
DPAPISnoop.exe \\server01\c$ --credhist-only > credhist_hashes.txt

# 원격 공유 — 알려진 비밀번호에서 CREDHIST 체인 탐색
DPAPISnoop.exe \\server01\c$ --password Summer2026!

크래킹

MasterKey

root@kitploit:~
hashcat -a0 -m 15300 hashes.txt wordlist.txt   # v1 로컬/도메인 pre-1607
hashcat -a0 -m 15310 hashes.txt wordlist.txt   # v1 도메인 post-1607
hashcat -a0 -m 15900 hashes.txt wordlist.txt   # v2 로컬/도메인 pre-1607
hashcat -a0 -m 15910 hashes.txt wordlist.txt   # v2 도메인 post-1607

CREDHIST

root@kitploit:~
hashcat -a0 -m 15920 credhist_hashes.txt wordlist.txt   # 3DES 항목 (≤ Vista)
hashcat -a0 -m 15930 credhist_hashes.txt wordlist.txt   # AES-256 항목 (≥ 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를 확인하세요.


AI 사용

이 연구 개발 작업은 인간과 AI 지원 도구가 협력하여 AI 모델 GPT-5.5 및 Claude Sonnet 4.6을 사용해 수행되었습니다.

AI 모델은 코드 생성 및 리버스 엔지니어링 지원에 사용되었습니다.

그러나 모든 연구 방향, 검증, 디버깅, 테스트, 보안 분석 및 최종 기술 결정은 인간(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 프로젝트 페이지
  16. GhostPack, “SharpDPAPI.”
  17. Sygnia, "The Downfall of DPAPI's Top Secret Weapon."

저자

Lefteris (lefty) Panos @ LRQA Red Team 2026

도구 다운로드
플래그설명
(없음)현재 사용자의 $DPAPImk$ 및 $credhist$ 덤프
--credhist-only / -cMasterKey 출력을 건너뛰고 $credhist$ 줄만 출력
--password <평문> / -p현재 평문 비밀번호에서 CREDHIST 체인 탐색
--sha1 <40-hex>현재 비밀번호의 알려진 SHA1에서 CREDHIST 체인 탐색
--pre1607도메인 MasterKey 해시에 대해 컨텍스트 3 대신 컨텍스트 2(도메인 pre-1607) 출력