Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
BitUnlocker — CVE-2025-48804 के लिए डाउनग्रेड हमला | Kitploit
उपकरण/GitHubGitHub/garatc/bitunlocker
भेद्यता विश्लेषणशोषणपोस्ट-शोषणपेनिट्रेशन टेस्टिंगहार्डवेयर सुरक्षारेड टीमिंग
GitHubgaratc/bitunlocker

BitUnlocker

CVE-2025-48804 के लिए डाउनग्रेड हमला

रिपॉजिटरी देखें
2234424 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

बिटअनलॉकर डाउनग्रेड हमला

License: MIT

पूरी तरह से पैच किए गए विंडोज 11 मशीनों पर बूट मैनेजर डाउनग्रेड हमले के माध्यम से 5 मिनट से भी कम समय में बिटलॉकर-एन्क्रिप्टेड डिस्क तक पहुंचने के लिए एक प्रूफ ऑफ कॉन्सेप्ट, जो मूल रूप से CVE-2025-48804 के रूप में दस्तावेज़ित SDI भेद्यता का लाभ उठाता है। जुलाई 2025 का पैच इसे bootmgfw.efi में ठीक करता है, इसलिए PCA 2011 के तहत हस्ताक्षरित कोई भी प्री-पैच bootmgfw.efi का उपयोग डाउनग्रेड हमले के लिए किया जा सकता है, बशर्ते लक्ष्य सिस्टम इस PCA पर भरोसा करता हो।

यह PoC दो वितरण विधियाँ प्रदान करता है: USB बूट (सरल और अनुशंसित) और PXE बूट। लेकिन सैद्धांतिक रूप से, आप केवल एक SDI बूट फ़ाइल को डिफ़ॉल्ट अनएन्क्रिप्टेड पार्टीशन (ESP और रिकवरी) में से एक में कॉपी कर सकते हैं और USB या PXE की चिंता नहीं कर सकते - "एज केस" तालिका देखें।

यह कार्य पूरी तरह से माइक्रोसॉफ्ट STORM (नेतानेल बेन साइमन और एलोन लेविएव) के शोध पर आधारित है:

BitUnlocker: Leveraging Windows Recovery to Extract BitLocker Secrets


पूर्वापेक्षाएँ

  • बिटलॉकर-एन्क्रिप्टेड डिवाइस तक भौतिक पहुंच (केवल TPM, PCR 7 + 11)
  • डिवाइस का सिक्योर बूट डेटाबेस अभी भी Microsoft Windows PCA 2011 प्रमाणपत्र पर भरोसा करता है
  • एक USB स्टिक (अनुशंसित) या PXE के लिए dnsmasq और एक ईथरनेट केबल वाली लिनक्स मशीन
  • चरण-दर-चरण

    1. रिलीज़ से boot_patched.sdi डाउनलोड करें (या अपनी खुद की SDI फ़ाइल बनाएं, नीचे देखें)

    इसे USB/sdi/ (USB विधि के लिए) या TFTP-root/sdi/ (PXE विधि के लिए) में रखें।

    2. संशोधित BCD तैयार करें

    लक्ष्य डिवाइस पर, एक WinRE कमांड प्रॉम्प्ट खोलें (Shift दबाए रखें जबकि Restart पर क्लिक करें, फिर Troubleshoot > Command Prompt — जब बिटलॉकर रिकवरी की के लिए संकेत दिया जाए तो "Ignore this disk" पर क्लिक करें और "relaunch" पर क्लिक करें यदि आपको यह भी बताया जाए कि cmd प्रॉम्प्ट लॉक किए गए डिवाइस पर नहीं चल सकता — और यदि cmd प्रॉम्प्ट बिल्कुल नहीं खुलता है, तो यदि संभव हो तो अपने स्वयं के WinPE का उपयोग करें)। USB स्टिक डालें और चलाएँ:

    root@kitploit:~
    E: (or wherever your USB is)
    bcdedit /export BCD_modded
    bcdedit /store BCD_modded /set {default} path \WINDOWS\system32\winload_DOESNOTEXIST.efi
    bcdedit /store BCD_modded /enum all
    

    आउटपुट में, वह डिवाइस विकल्प प्रविष्टि खोजें जिसका विवरण "Windows Recovery" है और जिसमें ramdisksdidevice / ramdisksdipath प्रविष्टियाँ हैं। इसका GUID नोट करें, फिर:

    root@kitploit:~
    bcdedit /store BCD_modded /set {GUID} ramdisksdidevice boot
    bcdedit /store BCD_modded /set {GUID} ramdisksdipath \sdi\boot_patched.sdi
    move BCD_modded BCD
    

    परिणामी BCD फ़ाइल को अपनी विधि के अनुसार उपयुक्त स्थान पर रखें:

    • USB: USB/EFI/Microsoft/Boot/BCD
    • PXE: TFTP-root/Boot/BCD

    3. लक्ष्य को बूट करें

    विकल्प A: USB बूट (अनुशंसित)

    USB स्टिक को FAT32 के रूप में फ़ॉर्मेट करें और USB/ निर्देशिका की सामग्री को इसकी रूट पर कॉपी करें (केवल इसकी सामग्री, कोई "USB" फ़ोल्डर नहीं होना चाहिए)। USB स्टिक इस तरह दिखनी चाहिए:

    root@kitploit:~
    USB stick root/
    ├── EFI/
    │   ├── Boot/
    │   │   └── bootx64.efi        # Pre-patch boot manager (PCA 2011)
    │   └── Microsoft/
    │       └── Boot/
    │           └── BCD             # Your modified BCD
    └── sdi/
        └── boot_patched.sdi        # Patched SDI with custom WinRE
    

    USB स्टिक को लक्ष्य में प्लग करें और UEFI USB बूट ट्रिगर करें — या तो WinRE से (Use a device) या पावर-ऑन पर निर्माता के बूट मेनू कुंजी (F12, F9, आदि) दबाकर। यदि USB स्टिक बूट विकल्पों की सूची में दिखाई नहीं देती है, तो UEFI बूट मेनू में "Boot from file" विकल्प देखें, फिर USB स्टिक पर EFI/Boot/bootx64.efi पर नेविगेट करें।

    विकल्प B: PXE बूट

    TFTP-root/ निर्देशिका निम्नानुसार संरचित है:

    root@kitploit:~
    TFTP-root/
    ├── bootmgfw.efi                # Pre-patch boot manager (PCA 2011)
    ├── Boot/
    │   └── BCD                     # Your modified BCD
    ├── EFI/
    │   └── Microsoft/
    │       └── Boot/
    │           └── bootmgfw.efi    # Same pre-patch boot manager
    └── sdi/
        └── boot_patched.sdi        # Patched SDI with custom WinRE
    

    लक्ष्य को ईथरनेट के माध्यम से अपनी लिनक्स मशीन से कनेक्ट करें और PXE सर्वर प्रारंभ करें:

    root@kitploit:~
    cd BitUnlocker
    export INTERFACE=<your-interface>
    export ABS_TFTP_ROOT=$(pwd)/TFTP-root
    
    sudo ifconfig $INTERFACE 10.13.37.1
    sudo dnsmasq --no-daemon \
      --interface="$INTERFACE" \
      --dhcp-range=10.13.37.100,10.13.37.101,255.255.255.0,1h \
      --dhcp-boot=bootmgfw.efi \
      --enable-tftp \
      --tftp-root="$ABS_TFTP_ROOT" \
      --log-dhcp \
      --tftp-max=65464 \
      --port=0
    

    लक्ष्य पर PXE बूट ट्रिगर करें — WinRE से Use a device > IPv4 Network चुनें, या निर्माता की PXE बूट कुंजी दबाएं।

    4. SDI स्थानांतरण की प्रतीक्षा करें

    बूट मैनेजर BCD लोड करेगा, फिर boot_patched.sdi डाउनलोड करना शुरू करेगा। SDI फ़ाइल बड़ी (~300 MB) है, इसलिए इसमें USB से कुछ समय लगता है, या TFTP पर कई मिनट लगते हैं। SDI पथ के साथ एक रिकवरी-संबंधित संदेश लोड करते समय लक्ष्य स्क्रीन पर दिखाई देना चाहिए।

    5. लाभ उठाएं

    एक बार स्थानांतरण पूरा हो जाने पर, OS वॉल्यूम डिक्रिप्टेड और माउंटेड (आमतौर पर C: या E:) के साथ एक कमांड प्रॉम्प्ट दिखाई देना चाहिए। यदि यह स्वचालित रूप से माउंट नहीं हुआ था या आप अक्षर का अनुमान नहीं लगाना चाहते हैं, तो बस diskpart -> sel vol X (जो आपकी एन्क्रिप्टेड ड्राइव जैसा दिखता है) -> assign letter=C (या कुछ और) -> exit -> लाभ

    एज केस

    स्थितिक्या होता है
    बिटलॉकर एक PIN के साथ कॉन्फ़िगर किया गया है जो आप जानते हैंबूट पर ब्लू स्क्रीन — अंधा PIN टाइप करें (क्षमा करें, मैंने इस रेपो में बिटलॉकर फ़ॉन्ट्स से परेशान नहीं किया) और Enter दबाएं
    ब्लू स्क्रीन, कोई PIN नहींलक्ष्य संभवतः CA 2023 में माइग्रेट हो गया है — Escape दबाएं और SDI स्थानांतरण को वैसे भी समाप्त होने दें, लेकिन बिटलॉकर-एन्क्रिप्टेड ड्राइव सबसे अधिक संभावना अंत में लॉक हो जाएगी
    केवल USB-C / थंडरबोल्टUSB-C ड्राइव या USB-ईथरनेट एडाप्टर (PXE के लिए) का उपयोग करें
    TFTP फ़ाइल नहीं मिली (हम जिन गार्बेज फ़ॉन्ट फ़ाइलों की परवाह नहीं करते हैं उनके अलावा)फ़ाइल नाम केस-सेंसिटिव होते हैं — लक्ष्य जो अनुरोध करता है उससे मेल खाने के लिए bootmgfw.efi का नाम बदलें
    कोई PXE या USB बूट की अनुमति नहीं हैESP और रिकवरी पार्टीशन के उपलब्ध आकार की जाँच करें (diskpart -> list vol). यदि किसी भी पार्टीशन में प्रदान की गई Boot.sdi फ़ाइल (जो लगभग 300Mb है) के लिए पर्याप्त जगह है, तो इसे वहाँ रखें। फिर, शोषण थोड़ा अलग होगा (लेकिन फिर भी उतना ही तेज़) क्योंकि आपको लक्ष्य सिस्टम की BCD फ़ाइल को सीधे संशोधित करने की आवश्यकता होगी (कृपया बैकअप बनाएं) ताकि यह अनएन्क्रिप्टेड होस्ट पार्टीशन (ramdisksdidevice BCD प्रविष्टि विशेष रूप से) की ओर इंगित करे, और अपने लक्ष्य के bootmgfw.efi को इस रेपो के TFTP फ़ोल्डर में दिए गए से बदलें। इस मामले में, सुनिश्चित करें कि आपके लक्ष्य का बूट मैनेजर PCA 2011 द्वारा हस्ताक्षरित है (शोषण उस मामले में वैसे भी काम नहीं करेगा, हमेशा उसकी जाँच करें), अन्यथा आप सिस्टम को बिटलॉकर रिकवरी में डाल देंगे। इसके अलावा, यदि इस रेपो में मेरे द्वारा प्रदान की गई Boot.sdi फ़ाइल के लिए पर्याप्त जगह नहीं है, तो आप अपना स्वयं का छोटा संस्करण बनाने का प्रयास कर सकते हैं, ऐसा करने के निश्चित रूप से कुछ तरीके हैं (नीचे "अपनी खुद की SDI फ़ाइल बनाएं" अनुभाग देखें)

    अपनी खुद की SDI फ़ाइल बनाएं

    मैंने scripts/ में दो स्क्रिप्ट शामिल की हैं:

    • patch_sdi.py — boot.sdi और WinRE.wim फ़ाइल से एक संशोधित SDI फ़ाइल बनाता है
    • parse_sdi.py — इसकी संरचना और सामग्री को मान्य करने के लिए एक SDI फ़ाइल को पार्स करता है

    रिलीज़ में प्रदान की गई boot_patched.sdi फ़ाइल में एक संशोधित WinRE.wim है जहाँ लॉन्च ऐप cmd.exe है।

    अशोषणीय मामले

    • TPM + PIN या TPM + key file कॉन्फ़िगर किया गया है और हमलावर इसे नहीं जानता है
    • KB5025885 स्थापित है / बूट मैनेजर को CA 2023 में माइग्रेट किया गया है — 2026 की शुरुआत से ताज़ा स्थापित मशीनें संभवतः डिफ़ॉल्ट रूप से CA 2023-हस्ताक्षरित bootmgfw.efi के साथ आती हैं। जाँच करने के लिए, EFI पार्टीशन को माउंट करें और सक्रिय बाइनरी का निरीक्षण करें: mountvol S: /s फिर sigcheck -i S:\EFI\Microsoft\Boot\bootmgfw.efi। ध्यान दें कि C:\Windows\Boot\EFI\bootmgfw.efi बूट पर वास्तव में उपयोग की गई फ़ाइल से भिन्न हो सकती है — हमेशा EFI पार्टीशन कॉपी की जाँच करें।
    • गैर-डिफ़ॉल्ट PCR नीति — PCR 0, 2, या 4 से जुड़े कॉन्फ़िगरेशन बूट पथ में परिवर्तन का पता लगाएंगे
    • PCA 2011 DBX के माध्यम से रद्द कर दिया गया — यदि पुराने प्रमाणपत्र को स्पष्ट रूप से अविश्वसनीय बना दिया गया है

    शमन उपाय

    • TPM + PIN सक्षम करें — प्री-बूट PIN बूट पथ हेरफेर की परवाह किए बिना, उपयोगकर्ता संपर्क के बिना TPM को VMK को अनसील करने से रोकता है। हालांकि, ध्यान रखें कि यह एक ऐसे इनसाइडर को नहीं रोकेगा जिसे PIN का ज्ञान है।
    • Windows UEFI CA 2023 में माइग्रेट करें और डाउनग्रेड हमलों को पूरी तरह से रोकने के लिए KB5025885 लागू करें

    श्रेय

    मूल बिटअनलॉकर शोध और भेद्यता प्रकटीकरण के लिए Microsoft STORM (Netanel Ben Simon and Alon Leviev) का धन्यवाद।


    लाइसेंस

    यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है। विवरण के लिए LICENSE फ़ाइल देखें।

    अस्वीकरण

    यह रिपॉजिटरी और इसकी सभी सामग्री केवल अधिकृत सुरक्षा परीक्षण और अनुसंधान उद्देश्यों के लिए प्रदान की गई है। इस उपकरण का उपयोग केवल उन सिस्टम पर करें जिनके आप मालिक हैं या जिनके परीक्षण की स्पष्ट लिखित अनुमति है। कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है। लेखक इस सामग्री के उपयोग से होने वाले किसी भी दुरुपयोग या क्षति के लिए कोई दायित्व नहीं मानता है।

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