Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
dpapi-toolkit — Windows DPAPI 아티팩트를 넣으면 형식과 필요한 정확한 마스터 키를 식별하고, 키를 제공하면 복호화합니다. 오프라인, CLI + 웹 UI. | Kitploit
도구/GitHubGitHub/crypt0p3g/dpapi-toolkit
Password CrackingEncryption/Decryption ToolsHash AnalysisScripting & AutomationForensicsPost-ExploitationDigital ForensicsPenetration TestingUtilities & FrameworksRed Teaming
GitHub
173552일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
crypt0p3g/dpapi-toolkit

dpapi-toolkit

Windows DPAPI 아티팩트를 넣으면 형식과 필요한 정확한 마스터 키를 식별하고, 키를 제공하면 복호화합니다. 오프라인, CLI + 웹 UI.

저장소 보기

DPAPI-toolkit

Windows DPAPI 증거를 위한 오프라인 툴킷입니다. 파일을 수집한 뒤 툴에 아티팩트를 지정하면, 툴이 형식을 인식하여 필요한 마스터 키가 정확히 무엇인지 알려줍니다. 키 자료를 제공하면 복호화합니다.

대부분의 DPAPI 툴링은 형식별로 스크립트가 하나씩이거나, 더 큰 공격 프레임워크 안에 묻혀 있는 기능입니다. 이 툴은 전체 범위를 아우르는 단일 도구입니다 — 마스터 키, DPAPI 블롭, Credential Manager, Vault, CREDHIST, Wi-Fi, RDP/RDCMan, CAPI/CNG 키와 인증서, PowerShell SecureStrings, KeePass, SCCM, Chromium os_crypt 키, 그리고 (선택적 플러그인을 통한) DPAPI-NG — 수집된 파일만으로 구동되며, 명령줄 인터페이스와 동일한 코어 위에 로컬 드래그 앤 드롭 웹 UI를 제공합니다.

레드 팀 및 침투 테스트, DFIR, 보안 연구를 위해 만들어졌습니다. 라이브 호스트, 도메인 컨트롤러, 네트워크, BKRP, LSASS 접근을 사용하지 않으며, 비밀번호나 PIN을 무차별 대입하지 않습니다. 수집된 아티팩트와 키 자료를 명시적으로 제공해야 합니다.

소유하고 있거나 명시적으로 검사 권한을 부여받은 시스템과 증거에만 사용하십시오.

로컬 웹 UI: 아티팩트를 드롭하고, 구조를 검사하고, 키 자료를 추가하고, 복호화합니다 — 모두 127.0.0.1에서.

예제

사용자의 Protect 폴더와 Credential Manager 파일을 오프라인으로 수집했고 계정 비밀번호를 알고 있다고 가정합니다. 먼저 자격 증명을 검사합니다 — 키가 필요하지 않습니다:

root@kitploit:~
python3 dpapi_toolkit.py CREDENTIAL_FILE

내장된 DPAPI 블롭과 그것이 요구하는 마스터 키 GUID를 출력합니다. Protect 디렉터리를 지정하여 해당 마스터 키를 매칭하고 잠금 해제한 다음 복호화합니다:

root@kitploit:~
python3 dpapi_toolkit.py CREDENTIAL_FILE --type credential \
  --masterkey-dir Protect-S-1-5-21-... \
  --sid S-1-5-21-... \
  --password 'password'

결과는 대상, 사용자 이름, 복구된 자격 증명을 담은 JSON입니다. 동일한 검사 후 복호화 흐름이 지원되는 모든 형식에 적용됩니다.

설치

Python 3.10 이상. 유일한 필수 의존성은 cryptography입니다:

root@kitploit:~
python3 -m pip install cryptography

선택적 의존성은 특정 기능을 활성화합니다:

root@kitploit:~
python3 -m pip install python-registry  # read Outlook data from NTUSER.DAT
python3 -m pip install dpapi-ng          # offline DPAPI-NG plugin
python3 -m pip install impacket          # offline SYSTEM/SECURITY/SAM hive plugin

라이브 Windows 호스트, 도메인 컨트롤러, 네트워크 연결, LSASS 접근이 필요하지 않습니다. 레지스트리 시크릿과 마스터 키는 이미 수집되어 있어야 합니다.

지원 범위

  • 마스터 키 — 사용자 및 SYSTEM, 비밀번호, NT 해시, 로컬 SHA1 해시, 복구된 prekey/credential key, DPAPI_SYSTEM, 또는 AD 도메인 백업 키로 잠금 해제.
  • 클래식 DPAPI 블롭 및 PowerShell ConvertFrom-SecureString / Export-Clixml SecureStrings.
  • Credential Manager, Windows Vault (.vpol/.vcrd), CREDHIST 비밀번호 기록.
  • Wi-Fi 개인 및 엔터프라이즈/PEAP 프로필.
  • Remote Desktop .rdp 파일 및 RDCMan .rdg/.settings.
  • CAPI/CNG 개인 키와 인증서, 선택적 PKCS#12/PFX 번들링 지원.
  • KeePass ProtectedUserKey.bin, SCCM 정책 시크릿, Outlook IMAP, 소프트웨어 기반 Windows Hello / NGC 키, Chromium os_crypt 키.
  • 크래킹 가능한 해시 내보내기 — 오프라인 비밀번호 복구용 — $DPAPImk$ 마스터 키 (Hashcat 15300/15310/15900/15910), $MSONLINEACCOUNT$ CacheData (모드 33700), 로컬 SAM NT 해시. 참조.

키 자료 식별

잠금 해제 방법은 이미 보유한 것에 따라 달라집니다. 다음 표는 이를 CLI 옵션에 매핑합니다. 동일한 선택지가 웹 UI의 2. Unlock key 아래에 나타납니다.

40/44바이트 DPAPI_SYSTEM 값은 복호화된 마스터 키가 아닙니다. 이를 사용하여 GUID 이름의 SYSTEM 마스터 키를 복호화한 다음, 그 결과로 얻은 64바이트 마스터 키를 사용하여 아티팩트를 복호화하십시오.

로컬 웹 UI

웹 UI는 동일한 오프라인 코어 위의 얇은 프런트 엔드이므로, 결과가 명령줄과 정확히 일치합니다:

root@kitploit:~
python3 dpapi_web.py                 # http://127.0.0.1:8765/

127.0.0.1에만 바인딩되며, LAN/공용 바인드 옵션이 없고, 복호화된 결과를 단일 일회성 다운로드를 위해 제한된 메모리에 보관하며, 영구적인 복호화 출력을 절대 기록하지 않습니다. 전체 워크플로, 형식별 흐름, 보안 태세는 docs/web-ui.md를 참조하십시오.

문서

빠른 도움말도 내장되어 있습니다: python3 dpapi_toolkit.py -h는 간단한 도움말, -hh는 키/아티팩트/위치/제한에 대한 상세 도움말, 그리고 아티팩트에 --structure를 추가하면 복호화 없이 파싱된 필드를 출력합니다.

레이아웃

범위 및 제한

이 툴킷은 의도적으로 오프라인입니다: 아웃바운드 HTTP, RPC, 도메인 컨트롤러, BKRP, LSASS, 라이브 레지스트리 접근이 없으며, 비밀번호/PIN 무차별 대입도 없습니다. 그 외에도:

  • 클래식 DPAPI는 완전히 지원됩니다. 선택적 DPAPI-NG 플러그인은 일치하는 KDS 루트 키가 제공될 때 오프라인 SID-descriptor 블롭을 처리합니다. 다른 보호 디스크립터는 지원되지 않으며, RPC로 폴백하지 않습니다.
  • 수집된 SYSTEM/SECURITY 하이브는 windows_hives 플러그인으로 처리하거나, 이미 추출된 DPAPI_SYSTEM 값을 직접 제공할 수 있습니다.
  • Entra CacheData는 제공된 알려진 비밀번호 하나로 복호화하거나, 외부 복구를 위한 모드-33700 검증자로 내보낼 수 있습니다. 툴킷은 후보를 테스트하지 않습니다. 다른 CloudAP/LSASS 소스는 여전히 제공된 prekey 또는 credential key가 필요합니다.
  • 마스터 키 파일의 기본 암호화 섹션만 시도됩니다. 로컬 보조 BackupKey 섹션은 아직 폴백으로 사용되지 않습니다.
  • 암호화된 PVK 및 PEM 백업 키는 명시적으로 제공된 비밀번호가 필요합니다.
  • TPM 바인딩 Windows Hello 자료는 복사된 파일로부터 오프라인으로 복구할 수 없습니다. NGC/PIN 노드 체인은 아직 구현되지 않았으며, 소프트웨어 CNG PIN 키만 지원됩니다.
  • CNG DSA V2 (>1024비트) 및 일부 흔치 않은 레거시 공급자 블롭은 아직 PEM으로 변환되지 않습니다. 복호화된 바이트는 보존됩니다.

감사의 글

이것은 독립적인 구현이지만, Windows DPAPI 내부에 관한 방대한 공개 연구와 툴링 위에 서 있습니다. 여기의 오프라인 알고리즘을 가능하게 한 출판된 작업을 해주신 프로젝트와 저자분들께 감사드립니다:

  • Benjamin Delpy (@gentilkiwi)의 mimikatz — DPAPI 마스터 키, 블롭, CREDHIST, Vault, 자격 증명 형식 및 그 키 유도에 대한 참조.
  • Fortra (원래 Alberto Solino, @agsolino)의 impacket — dpapi.py/secretsdump 로직 및 레지스트리 하이브 클래스; 또한 SYSTEM/SECURITY/SAM 하이브 플러그인이 사용하는 선택적 의존성.
  • Will Schroeder (@harmj0y)와 GhostPack의 SharpDPAPI — 많은 아티팩트 형식 및 Credential/Vault/CAPI/CNG 경로에 대한 교차 검증.
  • DPAPImk2john 및 hashcat 팀 — Hashcat 내보내기가 대상으로 하는 $DPAPImk$ 해시 형식 및 모드 15300/15310/15900/15910.
  • Jordan Borean (@jborean93)의 dpapi-ng — 오프라인 DPAPI-NG 플러그인 뒤의 선택적 라이브러리.

라이선스

MIT. LICENSE 참조.

도구 다운로드
docs/hashes.md
  • DPAPI-NG (선택적 플러그인) — 제공된 KDS 루트 키로부터 오프라인 SID-descriptor 블롭 처리.
  • 재귀 배치 모드 및 동일한 코어를 공유하는 로컬 웹 UI.
  • 보유한 것크기 / 형태옵션
    암호화된 Windows 마스터 키Protect 아래 GUID 이름의 파일--masterkey FILE 및 잠금 해제 방법
    복호화된 마스터 키64 바이트--real-masterkey FILE_OR_HEX_OR_BASE64
    복호화된 마스터 키의 SHA1 매핑20 바이트--real-masterkey FILE_OR_HEX_OR_BASE64
    DPAPI_SYSTEM 시크릿40바이트 MachineKey || UserKey, 20바이트 키 하나, 또는 버전 포함 44바이트--dpapi-system FILE_OR_HEX_OR_TEXT
    최종 SID 바인딩 사용자 prekey20 바이트--prekey FILE_OR_HEX
    NT 해시16 바이트--nt-hash FILE_OR_HEX --sid SID
    로컬 SHA1 비밀번호 해시20바이트 SHA1(password as UTF-16LE)--sha1-hash FILE_OR_HEX --sid SID
    언바운드 credential key16–128 바이트--credkey FILE_OR_HEX --sid SID
    AD DPAPI 백업 자료PEM, DER, PVK, CAPI PRIVATEKEYBLOB, 또는 256바이트 ServerWrap 키--domain-backup-key VALUE 또는 --pvk VALUE
    가이드내용
    docs/cli-reference.md검사, 마스터 키 잠금 해제, 출력 옵션, 엔트로피, Hashcat 내보내기, 배치 모드, 기본 수집 위치, 문제 해결.
    docs/artifacts.md지원되는 모든 아티팩트에 대한 형식별 명령 예제.
    docs/web-ui.md로컬 웹 UI: 전체 워크플로, 핵심 아티팩트 흐름, 연쇄 복구, 보안 모델.
    docs/plugins.md분리 가능한 오프라인 플러그인 (Certificate/PFX, CacheData, Windows hives, DPAPI-NG) 및 DPAPI-NG 워크스루.
    docs/hashes.md오프라인 비밀번호 복구를 위한 크래킹 가능한 해시 얻기 — $DPAPImk$, $MSONLINEACCOUNT$, SAM NT 해시, Hashcat 명령 포함.
    파일용도
    dpapi_toolkit.py핵심 파싱/복호화 및 CLI. 모듈로도 임포트 가능.
    dpapi_web.py로컬, 의존성 없는 웹 UI (표준 라이브러리 HTTP 서버).
    dpapi_plugins.py오프라인 플러그인을 위한 매니페스트 검색 및 지연 로딩.
    plugins/certificate_pfx/인증서/개인 키 매칭 및 오프라인 PKCS#12/PFX 생성.
    plugins/cachedata/Entra ID/CloudAP CacheData 알려진 비밀번호 디코더 및 Hashcat 모드-33700 내보내기.
    plugins/dpapi_ng/로컬에서 제공된 KDS 루트 키로부터의 DPAPI-NG SID-descriptor 복호화.
    plugins/windows_hives/오프라인 DPAPI_SYSTEM 추출 및 선택적 로컬 SAM 해시 내보내기.