
POC टूल ResetNightmare (CVE-2026-27912) के लिए
ResetNightmare (CVE-2026-27912) के लिए प्रूफ-ऑफ-कॉन्सेप्ट (POC) टूल।
ResetNightmare Kerberos चेंज पासवर्ड प्रोटोकॉल में एक सत्यापन दोष है, जो किसी भी लक्षित उपयोगकर्ता/कंप्यूटर खाते का पासवर्ड, वर्तमान पासवर्ड जाने बिना रीसेट करने की अनुमति देता है।
इस हमले के लिए एक अपैच्ड डोमेन कंट्रोलर, और आपके नियंत्रण वाले किसी भी खाते पर userPrincipalName (UPN) लिखने की क्षमता की आवश्यकता होती है।
वैकल्पिक रूप से, इस भेद्यता का दुरुपयोग कोई हमलावर भी कर सकता है जिसके पास किसी भी OU में नए उपयोगकर्ता/कंप्यूटर बनाने की क्षमता हो, क्योंकि उपयोगकर्ता/कंप्यूटर बनाने से आपको उस पर GenericWrite अनुमतियाँ मिल जाती हैं।
यह स्क्रिप्ट पूरे हमले के प्रवाह को स्वचालित करती है और अपने बाद स्वयं सफाई करती है। हमले का प्रवाह इस प्रकार है:
-CreateNewPath का उपयोग करके बनाया जा सकता है।sAMAccountName पर सेट करता है, जैसे "Administrator"।NT-ENTERPRISE नाम प्रकार के साथ, TGT का अनुरोध कर सकता है। यह TGT kadmin/changepw SPN के लिए अनुरोधित किया जाएगा।उपयोगकर्ता और कंप्यूटर दोनों खातों को लक्षित किया जा सकता है।

-RubeusPath के साथ इसकी ओर इंगित करें।-CreateNewPath के साथ निर्दिष्ट)।-DC के साथ निर्दिष्ट किया जा सकता है।फ़ंक्शन को लोड करने के लिए स्क्रिप्ट को डॉट-सोर्स करें, फिर इसे कॉल करें:
. .\ResetNightmare.ps1
Invoke-ResetNightmare `
-TargetAccount "victim" `
-TargetNewPassword "NewP@ssw0rd!" `
-UPNUser "controlledUser" `
-UPNUserPassword "ControlledP@ss!"
-TargetAccount के लिए sAMAccountName (अंत में $ के साथ) का उपयोग करें:
Invoke-ResetNightmare `
-TargetAccount 'server$' `
-TargetNewPassword "NewP@ssw0rd!" `
-UPNUser "controlledUser" `
-UPNUserPassword "ControlledP@ss!"
यदि आपके पास किसी OU/Container में ऑब्जेक्ट बनाने की अनुमति है, तो आप -CreateNewPath का उपयोग करके OU/Container का DN निर्दिष्ट कर सकते हैं। जब यह निर्दिष्ट किया जाता है, तो -UPNUser और -UPNUserPassword को डोमेन में मौजूदा खाते के बजाय, बनाए जाने वाले खाते की साख के रूप में माना जाता है:
Invoke-ResetNightmare `
-TargetAccount "victim" `
-TargetNewPassword "NewP@ssw0rd!" `
-UPNUser "attackerAcct" `
-UPNUserPassword "AttackerP@ss!" `
-CreateNewPath "OU=Temp,DC=demo,DC=lab"
उपयोगकर्ता खाते के बजाय कंप्यूटर खाता बनाने/उपयोग करने के लिए -Computer जोड़ें।
अस्वीकरण
यह सामग्री केवल शैक्षिक और सूचनात्मक उद्देश्यों के लिए प्रदान की गई है। इसका उद्देश्य उन सुरक्षा भेद्यताओं के बारे में जागरूकता और जिम्मेदार उपचार को बढ़ावा देना है जो आपके स्वामित्व वाले या परीक्षण के लिए अधिकृत सिस्टम पर मौजूद हो सकती हैं। दुर्भावनापूर्ण उद्देश्यों, शोषण, या अवैध पहुँच के लिए इस जानकारी का अनधिकृत उपयोग सख्त रूप से निषिद्ध है। लेखक किसी भी अवैध गतिविधि का समर्थन या अनुमोदन नहीं करते हैं और सामग्री के दुरुपयोग से उत्पन्न होने वाली किसी भी देयता का खंडन करते हैं। इसके अतिरिक्त, लेखक सामग्री की सटीकता या पूर्णता की गारंटी नहीं देते हैं और इसके उपयोग से होने वाली किसी भी क्षति के लिए कोई दायित्व नहीं मानते हैं।
| पैरामीटर | आवश्यक | विवरण |
|---|
-TargetAccount | हाँ | पासवर्ड रीसेट के साथ लक्षित किए जाने वाले खाते का sAMAccountName। कंप्यूटर खाते को लक्षित करते समय अंतिम $ शामिल करना सुनिश्चित करें। |
-TargetNewPassword | हाँ | लक्षित खाते के लिए सेट किया जाने वाला नया पासवर्ड। |
-UPNUser | हाँ | वह खाता जिस पर आप UPN लिख सकते हैं, या यदि -CreateNewPath निर्दिष्ट है तो बनाया जाने वाला खाता। |
-UPNUserPassword | हाँ | -UPNUser के लिए स्पष्ट पाठ (cleartext) पासवर्ड। |
-Computer | नहीं | -UPNUser को कंप्यूटर खाते के रूप में मानें (-CreateNewPath के साथ संयुक्त होने पर कंप्यूटर खाता बनाएं)। |
-RubeusPath | नहीं | Rubeus निष्पादन योग्य का पथ। डिफ़ॉल्ट ".\Rubeus.exe" है। |
-SupportedEncryption | नहीं | TGT के लिए समर्थित एन्क्रिप्शन प्रकार। डिफ़ॉल्ट मान "AES256" है और अधिकांश मामलों के लिए काम करना चाहिए। यदि इसे बदलने की आवश्यकता है, तो समर्थित मान हैं: DES|RC4|AES128|AES256 |
-CreateNewPath | नहीं | उस OU/Container के लिए DistinguishedName जहाँ आपके पास ऑब्जेक्ट बनाने की अनुमतियाँ हैं। यदि निर्दिष्ट है, तो -UPNUser और -UPNUserPassword पैरामीटर मौजूदा उपयोगकर्ता का उपयोग करने के बजाय, बनाए जाने वाले उपयोगकर्ता की साख होंगे। |
-DC | नहीं | जिस DC के विरुद्ध कार्य करना है उसका नाम। यदि निर्दिष्ट नहीं है तो यह स्वचालित रूप से हल हो जाता है। |