Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
WHFB-PinCapture — Windows Hello PIN को प्रवेश के समय कैप्चर करता है, LogonUI.exe में DLL इंजेक्ट करके जो NgcSerializeConvenienceCredential पर CPU हार्डवेयर ब्रेकपॉइंट सेट करता है, साथ ही एक WHFB/NGC/TPM एन्यूमरेटर भी। | Kitploit
उपकरण/GitHubGitHub/ivancabrera02/whfb-pincapture
विशेषाधिकार वृद्धिमेमोरी फोरेंसिकपासवर्ड हमलेरिवर्स इंजीनियरिंगडीबगर्सजानकारी एकत्र करनापोस्ट-शोषणरेड टीमिंग

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
GitHub
ivancabrera02/whfb-pincapture

WHFB-PinCapture

Windows Hello PIN को प्रवेश के समय कैप्चर करता है, LogonUI.exe में DLL इंजेक्ट करके जो NgcSerializeConvenienceCredential पर CPU हार्डवेयर ब्रेकपॉइंट सेट करता है, साथ ही एक WHFB/NGC/TPM एन्यूमरेटर भी।

रिपॉजिटरी देखें
622111 दिन पहलेअभी तक समीक्षित नहीं

WHFB-PinCapture

TL;DR

ऐसे होस्ट पर जहाँ Windows Hello VBS/VSM (VTL1 में एक पृथक NgcIso कंटेनर) + एक TPM द्वारा संरक्षित है, वहाँ PIN ऑफ़लाइन पुनर्प्राप्त करने योग्य नहीं है और ऑनलाइन ब्रूट-फ़ोर्स को सुरक्षित-कर्नेल ट्रस्टलेट द्वारा अवरुद्ध कर दिया जाता है। एकमात्र विश्वसनीय मार्ग प्रवेश-के-समय कैप्चर है।

यह प्रोजेक्ट LogonUI.exe के भीतर टाइप किए गए PIN को पैकेज करने वाले फ़ंक्शन पर एक CPU हार्डवेयर ब्रेकपॉइंट रखकर, एक Vectored Exception Handler में फँसे थ्रेड कॉन्टेक्स्ट से आर्ग्युमेंट पढ़कर, और मूल, अपरिवर्तित निर्देश को निष्पादित होने देकर PIN को कैप्चर करता है, ताकि PIN लॉगिन सामान्य रूप से सफल होता रहे।

यह Get-WHFBKeys.ps1 भी प्रदान करता है, जो एक पूर्ण WHFB/NGC/TPM गणना और कुंजी-सामग्री हार्वेस्टर है।

Intel fTPM 2.0 और VBS चालू के साथ Windows 11 26200 (Home) पर एंड-टू-एंड सत्यापित।

यहाँ ऑफ़लाइन हमले क्यों काम नहीं करते

देखी गई सुरक्षापरिणाम
VBS / VSM चालू (Win32_DeviceGuard VBS स्थिति = 2, LsaIso.exe मौजूद)कुंजी पदानुक्रम VTL1 (सुरक्षित कर्नेल) में रहता है, VTL0 में SYSTEM से अगम्य
NgcIso कंटेनर (Container.json में NgcIsoHeader_… / NgcSvc में लोड किए गए प्रोटेक्टर ब्लॉब्स NgcIsoCtnr.dll)PIN रहस्य ट्रस्टलेट के भीतर अनसील होता है, सामान्य यूज़र मोड में नहीं
TPM-सील्ड मास्टर सामग्री (Container.json में srk, impl कुंजी प्रकार)डिस्क पर कोई सादा-पाठ कुंजी नहीं, अनसील के लिए TPM आवश्यक
एंटी-हैमरिंग (Protectors.json में softLockoutAttemptLimit = 5, sealedLockoutAuth)ऑनलाइन अनुमान लॉकआउट कर देता है, काउंटर VTL1 द्वारा लागू होता है, डिस्क से रीसेट करने योग्य नहीं

स्पष्ट-पाठ PIN कहाँ रहता है

लॉक-स्क्रीन / साइन-इन पर, PIN LogonUI.exe द्वारा होस्ट किए गए NGC क्रेडेंशियल प्रदाता में टाइप किया जाता है (SYSTEM के रूप में चलता है, PPL नहीं, माँग पर स्पॉन किया जाता है)। प्रदाता टाइप किए गए PIN को ngckeyenum.dll!NgcSerializeConvenienceCredential को सौंपता है, जिसका arg1 (RCX) इनकी ओर इंगित करता है:

struct {                 // arg1
    uint64_t type;       // 1  (convenience-PIN credential)
    void*    buffer;     // -> ASCII PIN, e.g. 0x32 0x30 0x30 0x32 = "2002" example PIN
    uint32_t length;     // digit count (e.g. 4)
};
// arg2 = full NGC key name  "S-1-5-...-1001/<container-guid>//<key-guid>"
// arg3 = username, arg4 = computername, arg5 = SID, arg6 = "Negotiate"

मुख्य अंतर्दृष्टि: इंट्रूसिव हुकिंग PIN लॉगिन को तोड़ देती है

NgcSerializeConvenienceCredential (या NgcPackAuthBuffer) की क्लासिक इनलाइन/ट्रैम्पोलिन हुकिंग सीरियलाइज़्ड लॉगऑन क्रेडेंशियल को भ्रष्ट कर देती है। लक्षण गंभीर और मौन होता है: साइन-इन स्क्रीन बिना किसी त्रुटि के बस पुनः लोड हो जाती है, सही PIN अस्वीकार कर दिया जाता है, और बार-बार अस्वीकृति PIN को सॉफ्ट-लॉक कर देती है (पासवर्ड साइन-इन के लिए बाध्य करती है)। NgcSvc को जबरन-किल करना भी इसी तरह कंटेनर को बाधित करता है।

हमें एक कैप्चर प्रिमिटिव की आवश्यकता है जो लक्ष्य फ़ंक्शन के कोड या नियंत्रण प्रवाह के एक भी बाइट को बदले बिना आर्ग्युमेंट को पढ़े।

तकनीक: हार्डवेयर-ब्रेकपॉइंट कैप्चर

ngccap.dll (देखें src/ngccap.c) को LogonUI.exe में इंजेक्ट किया जाता है और यह:

  1. एक CPU हार्डवेयर एक्ज़ीक्यूट ब्रेकपॉइंट सशस्त्र करता है। यह ngckeyenum!NgcSerializeConvenienceCredential को रिज़ॉल्व करता है, फिर प्रक्रिया के प्रत्येक थ्रेड पर DR0 = लक्ष्य और DR7 = L0 | exec | len-1 सेट करता है (CreateToolhelp32Snapshot → OpenThread → SuspendThread → GetThreadContext / SetThreadContext के साथ CONTEXT_DEBUG_REGISTERS → ResumeThread के माध्यम से)।

  2. वेक्टर्ड एक्सेप्शन हैंडलर में ट्रैप को संभालता है। जब फ़ंक्शन में प्रवेश होता है, CPU निर्देश निष्पादित करने से पहले EXCEPTION_SINGLE_STEP उत्पन्न करता है। VEH ContextRecord->Rip == target की जाँच करता है, Rcx → {buffer, length} पढ़ता है, ASCII PIN को कॉपी करता है, फिर:

    • EFlags में Resume Flag (RF) सेट करता है ताकि ब्रेकपॉइंट तुरंत फिर से ट्रिगर न हो, और
    • EXCEPTION_CONTINUE_EXECUTION लौटाता है।
  3. मूल निर्देश बिना किसी परिवर्तन के चलता है। चूँकि कोई कोड पैच नहीं किया गया और कोई ट्रैम्पोलिन/अतिरिक्त स्टैक फ़्रेम नहीं जोड़ा गया, NgcSerializeConvenienceCredential ठीक वैसे ही निष्पादित होता है जैसे वह होता। क्रेडेंशियल सही ढंग से बनता है, LSA इसे स्वीकार करता है, और PIN लॉगिन सामान्य रूप से सफल होता है।

  4. स्वयं-सफ़ाई करता है। पहले कैप्चर के बाद DLL सभी थ्रेड्स पर DR0/DR7 साफ़ कर देता है और VEH हटा देता है, जिससे प्रक्रिया पूरी तरह साफ़ रहती है।

रिपॉज़िटरी लेआउट

WHFB-PIN-Capture/
├─ README.md
├─ Get-WHFBKeys.ps1        # WHFB/NGC/TPM enumerator + key-material harvester
└─ src/
   ├─ ngccap.c             # HW-breakpoint capture DLL
   ├─ build.bat            # cl.exe build (MSVC 2022 Build Tools)
   └─ logonui_watch.ps1    # injects ngccap.dll into LogonUI on sight

आवश्यकताएँ

  • Windows 10/11 जिसमें Windows Hello सुविधा PIN नामांकित हो।
  • उन्नत व्यवस्थापक (इंजेक्टर SeDebugPrivilege सक्षम करता है)। LogonUI SYSTEM के रूप में चलता है लेकिन PPL नहीं है, इसलिए एक उन्नत व्यवस्थापक टोकन इसे खोल और इंजेक्ट कर सकता है।

बिल्ड और रन

:: 1) build the capture DLL
cd src
build.bat

:: 2) start the injector (elevated admin PowerShell)
powershell -ExecutionPolicy Bypass -File .\logonui_watch.ps1
3) Lock the workstation (Win+L) and sign back in with your PIN, it works normally.
4) Read the captured PIN:
     type C:\Windows\Temp\pin_capture.log
   -> >>> PIN CAPTURED = "1234"

पथ कॉन्फ़िगर करने योग्य हैं: ngccap.c के शीर्ष पर LOGPATH और logonui_watch.ps1 में $plog का मेल खाना चाहिए (डिफ़ॉल्ट C:\Windows\Temp\pin_capture.log)।

एन्यूमरेशन टूल

Get-WHFBKeys.ps1 TPM स्थिति, डिवाइस-जॉइन / NGC प्रोविज़निंग, WHFB नीति, डिस्क पर मौजूद NGC कंटेनर स्टोर (कंटेनर → प्रोटेक्टर → कुंजियाँ, स्वयं को SYSTEM तक उन्नत करते हुए), NCrypt कुंजियाँ (Passport KSP / Platform Crypto Provider / Software KSP सार्वजनिक-कुंजी निर्यात के साथ), और बायोमेट्रिक नामांकन की रिपोर्ट करता है, एक JSON रिपोर्ट उत्सर्जित करते हुए। यह कभी भी निजी कुंजियाँ नहीं निकालता (TPM-सील्ड, गैर-निर्यातयोग्य); यह सार्वजनिक कुंजियाँ, मेटाडेटा और डिस्क पर मौजूद प्रोटेक्टर ब्लॉब्स को डंप करता है।

powershell -ExecutionPolicy Bypass -File .\Get-WHFBKeys.ps1 -DumpBlobs -OutDir .\out

ऑफ़लाइन और ब्रूट-फ़ोर्स पथ बंद दिखाए गए, और PIN को तब कैप्चर किया गया जब मालिक ने सही PIN के साथ सामान्य रूप से साइन इन किया हार्डवेयर-ब्रेकपॉइंट DLL का उपयोग करके।

लाइसेंस

केवल शैक्षिक और अधिकृत सुरक्षा-अनुसंधान उपयोग के लिए। कोई वारंटी नहीं।

टूल डाउनलोड करें