
CVE-2026-45585 (YellowKey) के विरुद्ध BitLocker TPM+PIN सख्तीकरण
WinRE BitLocker बाईपास के लिए स्वचालित शमन — अभी तक कोई पूर्ण पैच उपलब्ध नहीं है
YellowKey एक सार्वजनिक रूप से खुलासा किया गया BitLocker बाईपास है जो भौतिक पहुँच वाले हमलावर को BitLocker-सुरक्षित Windows 11 ड्राइव पर — रिकवरी कुंजी, PIN या किसी भी क्रेडेंशियल के बिना — एक अप्रतिबंधित शेल देता है।
Windows Recovery Environment के अंदर एक घटक (autofstx.exe) एक Transactional NTFS रीप्ले रूटीन करता है जो winpeshl.ini को हटा देता है। इसका दुष्प्रभाव एक शेल है जो डिक्रिप्टेड वॉल्यूम तक पूर्ण पहुँच के साथ लॉन्च होता है। हमलावर एक फोल्डर को USB ड्राइव (या सीधे EFI पार्टीशन) में कॉपी करके, WinRE में रीबूट करके और CTRL दबाकर इसे ट्रिगर करता है।
TPM-ओनली से TPM+PIN पर स्विच करने से हमला पूरी तरह से अवरुद्ध हो जाता है। बूट पर PIN आवश्यक होने पर, हमलावर WinRE शेल कैसे भी उत्पन्न हो, ड्राइव को डिक्रिप्ट नहीं कर सकता — TPM सही PIN के बिना वॉल्यूम मास्टर कुंजी जारी नहीं करेगा।
TPM-ओनली BitLocker उसी हार्डवेयर के किसी भी बूट पर स्वचालित रूप से अनलॉक हो जाता है। TPM+PIN को केवल उपयोगकर्ता को ज्ञात एक गुप्त जानकारी की आवश्यकता होती है, जो YellowKey के गैप को बंद करता है।
स्क्रिप्ट उन समूह नीति पूर्वापेक्षाओं को संभालती है जो डिफ़ॉल्ट रूप से manage-bde को PIN प्रोटेक्टर जोड़ने से रोकती हैं, फिर एक बार में सुरक्षित रूप से ड्राइव को TPM-ओनली से TPM+PIN में परिवर्तित करती है।
Run Add-BitLockerTPMPin.ps1 (admin)
│
▼
[Version Check] ──→ Windows 10 पर शालीनता से बाहर निकलती है (प्रभावित नहीं)
│
▼
[BitLocker Status Check] ──→ पुष्टि करती है कि C: पर एन्क्रिप्शन सक्रिय है
│
▼
[Group Policy Fix] ──→ UseAdvancedStartup + UseTPMPIN + UseEnhancedPin सेट करती है
│ (आवश्यक — इनके बिना manage-bde TPM+PIN को अस्वीकार कर देता है)
▼
[gpupdate /force] ──→ बिना रीबूट के तुरंत नीति लागू करती है
│
▼
[manage-bde -protectors -add C: -TPMAndPIN] ──→ इंटरैक्टिव रूप से PIN के लिए संकेत देती है
│
▼
[List Protectors] ──→ सत्यापन के लिए सभी वर्तमान प्रोटेक्टर दिखाती है
│
▼
[Remove TPM-only Protector] ──→ वैकल्पिक, पुष्टि के साथ संकेतित
# इन्हें एक उन्नत PowerShell प्रॉम्प्ट में दो अलग-अलग कमांड के रूप में चलाएँ:
Set-ExecutionPolicy Bypass -Scope Process -Force
# सभी BitLocker-सुरक्षित ड्राइव (स्वतः-पता लगाए गए):
.\Add-BitLockerTPMPin.ps1
# या किसी विशिष्ट ड्राइव को लक्षित करें:
.\Add-BitLockerTPMPin.ps1 -Drive C
.\Add-BitLockerTPMPin.ps1 -Drive D
आपको प्रति ड्राइव PIN सेट करने के लिए इंटरैक्टिव रूप से संकेत दिया जाएगा। अल्फ़ान्यूमेरिक PIN समर्थित हैं (स्क्रिप्ट रजिस्ट्री के माध्यम से एन्हांस्ड PIN सक्षम करती है)।
नोट: TPM+PIN प्रोटेक्टर केवल OS ड्राइव पर लागू होते हैं (वह ड्राइव जो TPM के माध्यम से बूट होती है)। डेटा ड्राइव (D:, E:, आदि) पासवर्ड या रिकवरी कुंजी प्रोटेक्टर का उपयोग करते हैं — स्क्रिप्ट स्वचालित रूप से उनका पता लगाएगी और उन्हें छोड़ देगी।
BitLocker-सुरक्षित ड्राइव मिलीं:
C:\ FullyEncrypted Protection: On
D:\ FullyEncrypted Protection: On
समूह नीति कुंजियाँ सेट की गईं। नीति ताज़ा की जा रही है...
==============================
ड्राइव: C:\
==============================
TPM+PIN प्रोटेक्टर जोड़ा जा रहा है। आपसे PIN के लिए संकेत दिया जाएगा।
PIN 6+ वर्णों का होना चाहिए। अल्फ़ान्यूमेरिक समर्थित है।
वॉल्यूम की सुरक्षा के लिए उपयोग करने हेतु PIN टाइप करें:
PIN को फिर से टाइप करके पुष्टि करें:
कुंजी प्रोटेक्टर जोड़े गए:
TPM And PIN:
ID: {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
C:\ पर वर्तमान प्रोटेक्टर:
...
TPM-ओनली प्रोटेक्टर मिला: {YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY}
C:\ से TPM-ओनली प्रोटेक्टर हटाएँ? इससे केवल TPM+PIN ही बचेगा। (y/N): y
TPM-ओनली प्रोटेक्टर हटा दिया गया।
==============================
ड्राइव: D:\
==============================
D:\ में कोई TPM प्रोटेक्टर नहीं है — TPM+PIN केवल OS ड्राइव पर लागू होता है। छोड़ा जा रहा है।
हो गया। इससे सत्यापित करें: manage-bde -status <drive>
manage-bde -status C:
# दिखाना चाहिए: Key Protectors: TPM And PIN
# Protection Status: Protection On
चलाने से पहले अपनी रिकवरी कुंजी रखें। स्क्रिप्ट TPM-ओनली प्रोटेक्टर को केवल तभी हटाती है जब TPM+PIN प्रोटेक्टर सफलतापूर्वक जोड़ा गया हो, लेकिन यदि मशीन बीच में रीबूट हो जाती है या manage-bde -add चरण आंशिक रूप से विफल हो जाता है, तो ड्राइव को अनलॉक करने के लिए आपको रिकवरी कुंजी की आवश्यकता होगी।
अभी अपनी रिकवरी कुंजी प्राप्त करें:
# रिकवरी कुंजी को कंसोल पर प्रिंट करें (इसे सुरक्षित स्थान पर संग्रहीत करें)
manage-bde -protectors -get C: -Type RecoveryPassword
या इसे अपने Microsoft खाते पर account.microsoft.com/devices/recoverykey पर खोजें।
PIN का चुनाव मायने रखता है। एक छोटा संख्यात्मक PIN लक्षित भौतिक हमलों के विरुद्ध कमजोर सुरक्षा प्रदान करता है। कम से कम 8 वर्णों का उपयोग करें। अल्फ़ान्यूमेरिक PIN स्क्रिप्ट द्वारा सक्षम किए जाते हैं।
स्क्रिप्ट HKLM:\SOFTWARE\Policies\Microsoft\FVE के अंतर्गत चार रजिस्ट्री मान सेट करती है:
ये वे सटीक कुंजियाँ हैं जिन्हें Windows समूह नीति (gpedit.msc) लिखती है। रजिस्ट्री के माध्यम से इन्हें सेट करना MMC स्नैप-इन के माध्यम से नीति को कॉन्फ़िगर करने के बराबर है।
यदि आप चरणों को अलग-अलग चलाना पसंद करते हैं:
# 1. समूह नीति रजिस्ट्री कुंजियाँ सेट करें
$p = "HKLM:\SOFTWARE\Policies\Microsoft\FVE"
if (-not (Test-Path $p)) { New-Item -Path $p -Force }
Set-ItemProperty -Path $p -Name "UseAdvancedStartup" -Value 1 -Type DWord -Force
Set-ItemProperty -Path $p -Name "UseTPMPIN" -Value 2 -Type DWord -Force
Set-ItemProperty -Path $p -Name "UseTPM" -Value 2 -Type DWord -Force
Set-ItemProperty -Path $p -Name "UseEnhancedPin" -Value 1 -Type DWord -Force
gpupdate /force
# 2. TPM+PIN प्रोटेक्टर जोड़ें
manage-bde -protectors -add C: -TPMAndPIN
# 3. TPM-ओनली प्रोटेक्टर आईडी खोजें
manage-bde -protectors -get C:
# 4. इसे हटाएँ (GUID को चरण 3 की आईडी से बदलें)
manage-bde -protectors -delete C: -id {YOUR-TPM-ONLY-GUID}
# 5. सत्यापित करें
manage-bde -status C:
yellowkey-mitigation/
├── Add-BitLockerTPMPin.ps1 # मुख्य शमन स्क्रिप्ट
└── README.md
यह स्क्रिप्ट Claude (Anthropic) के साथ सह-विकसित की गई थी। सभी तर्क की समीक्षा की गई और Windows 11 पर लेखक द्वारा परीक्षण किया गया।
MIT — उपयोग, संशोधन और वितरण करने के लिए स्वतंत्र।
| विवरण |
|---|
| CVE | CVE-2026-45585 |
| CVSS स्कोर | 6.8 (मध्यम) |
| CVSS वेक्टर | CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CWE | CWE-77 (कमांड इंजेक्शन) |
| हमला वेक्टर | भौतिक पहुँच आवश्यक |
| प्रकाशित | 19 मई, 2026 |
| पैच | अभी तक कोई नहीं — Microsoft ने केवल मैनुअल शमन जारी किया |
| MSRC सलाह | msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45585 |
| PoC | सार्वजनिक रूप से उपलब्ध (Nightmare-Eclipse/YellowKey) |
| प्रभावित | Windows 11 (24H2, 25H2, 26H1), Windows Server 2022/2025 |
| प्रभावित नहीं | Windows 10 |
| कुंजी | मान | उद्देश्य |
|---|
UseAdvancedStartup | 1 | "Require additional authentication at startup" नीति को सक्षम करता है — इसके बिना सभी UseTPM* कुंजियाँ अनदेखा कर दी जाती हैं |
UseTPMPIN | 2 | 0 = ब्लॉक, 1 = आवश्यक, 2 = TPM+PIN की अनुमति |
UseTPM | 2 | PIN के साथ-साथ TPM-ओनली की अनुमति देता है (नीति विरोधों को रोकता है) |
UseEnhancedPin | 1 | PIN में अल्फ़ान्यूमेरिक वर्णों की अनुमति देता है |