
कोई भी Windows DPAPI artifact डालें और यह उसका format तथा आवश्यक exact master key पहचान लेता है, फिर key देने पर decrypt कर देता है। Offline, CLI + web UI।
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 ब्रूट-फ़ोर्स नहीं करता: आप एकत्रित आर्टिफ़ैक्ट और की सामग्री स्पष्ट रूप से प्रदान करते हैं।
इसका उपयोग केवल उन सिस्टम और साक्ष्य के विरुद्ध करें जिनके आप स्वामी हैं या जिनकी जाँच के लिए आपको स्पष्ट रूप से अधिकृत किया गया है।

आपने किसी उपयोगकर्ता का Protect फ़ोल्डर और एक Credential Manager फ़ाइल ऑफ़लाइन एकत्र कर ली है और आपको खाता पासवर्ड पता है। पहले क्रेडेंशियल का निरीक्षण करें — किसी की की आवश्यकता नहीं:
python3 dpapi_toolkit.py CREDENTIAL_FILE
यह एम्बेडेड DPAPI ब्लॉब और उसके लिए आवश्यक मास्टर-की GUID को प्रिंट करता है। इसे Protect डायरेक्टरी पर इंगित करें और उसे उस मास्टर की को मिलाने और अनलॉक करने दें, फिर डिक्रिप्ट करें:
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 है:
python3 -m pip install cryptography
वैकल्पिक निर्भरताएँ विशिष्ट सुविधाएँ सक्षम करती हैं:
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 एक्सेस की आवश्यकता नहीं है। रजिस्ट्री सीक्रेट्स और मास्टर कीज़ पहले ही एकत्र किए जा चुके होने चाहिए।
ConvertFrom-SecureString / Export-Clixml SecureStrings।.vpol/.vcrd), और CREDHIST पासवर्ड इतिहास।.rdp फ़ाइलें और RDCMan .rdg/.settings।ProtectedUserKey.bin, SCCM पॉलिसी सीक्रेट्स, Outlook IMAP, सॉफ़्टवेयर-समर्थित Windows Hello / NGC कीज़, और Chromium os_crypt कीज़।$DPAPImk$ मास्टर कीज़ (Hashcat 15300/15310/15900/15910), $MSONLINEACCOUNT$ CacheData (mode 33700), और स्थानीय SAM NT हैश। देखें docs/hashes.md।अनलॉक विधि इस पर निर्भर करती है कि आपके पास पहले से क्या है। यह इसे CLI विकल्प से मैप करता है; वही विकल्प वेब UI में 2. Unlock key के अंतर्गत दिखाई देते हैं।
| आपके पास क्या है | आकार / रूप | विकल्प |
|---|---|---|
| एन्क्रिप्टेड 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-बद्ध उपयोगकर्ता prekey | 20 बाइट्स | --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 |
| अनबाउंड क्रेडेंशियल की | 16–128 बाइट्स | --credkey FILE_OR_HEX --sid SID |
| AD DPAPI बैकअप सामग्री | PEM, DER, PVK, CAPI PRIVATEKEYBLOB, या 256-बाइट ServerWrap की | --domain-backup-key VALUE या --pvk VALUE |
40/44-बाइट DPAPI_SYSTEM मान एक डिक्रिप्टेड मास्टर की नहीं है। इसका उपयोग GUID-नामित SYSTEM मास्टर की को डिक्रिप्ट करने के लिए करें, फिर आर्टिफ़ैक्ट को डिक्रिप्ट करने के लिए परिणामी 64-बाइट मास्टर की का उपयोग करें।
वेब UI उसी ऑफ़लाइन कोर पर एक पतला फ़्रंट एंड है, इसलिए इसके परिणाम कमांड लाइन से बिल्कुल मेल खाते हैं:
python3 dpapi_web.py # http://127.0.0.1:8765/
यह केवल 127.0.0.1 पर बाइंड होता है, इसमें कोई LAN/सार्वजनिक बाइंड विकल्प नहीं है, डिक्रिप्टेड परिणामों को एक बार के डाउनलोड के लिए सीमित मेमोरी में रखता है, और कभी भी स्थायी डिक्रिप्टेड आउटपुट नहीं लिखता। पूर्ण वर्कफ़्लो, प्रति-प्रारूप प्रवाह, और सुरक्षा स्थिति के लिए देखें docs/web-ui.md।
| गाइड | सामग्री |
|---|---|
| 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 कमांड के साथ। |
त्वरित सहायता भी अंतर्निहित है: संक्षिप्त सहायता के लिए python3 dpapi_toolkit.py -h, विस्तृत key/artifact/location/limitation सहायता के लिए -hh, और किसी भी आर्टिफ़ैक्ट के साथ --structure जोड़ने पर बिना डिक्रिप्ट किए उसके पार्स किए गए फ़ील्ड प्रिंट होते हैं।