AD CS Domain Persistence
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
यह https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf में साझा की गई डोमेन स्थिरता तकनीकों का एक सारांश है। आगे की जानकारी के लिए इसे देखें।
आप कैसे बता सकते हैं कि एक प्रमाणपत्र CA प्रमाणपत्र है?
यदि कई शर्तें पूरी होती हैं, तो यह निर्धारित किया जा सकता है कि एक प्रमाणपत्र CA प्रमाणपत्र है:
प्रमाणपत्र CA सर्वर पर संग्रहीत है, जिसकी निजी कुंजी मशीन के DPAPI द्वारा सुरक्षित है, या हार्डवेयर जैसे TPM/HSM द्वारा यदि ऑपरेटिंग सिस्टम इसका समर्थन करता है।
प्रमाणपत्र के जारीकर्ता और विषय फ़ील्ड CA के विशिष्ट नाम से मेल खाते हैं।
CA प्रमाणपत्रों में विशेष रूप से "CA Version" एक्सटेंशन मौजूद है।
प्रमाणपत्र में विस्तारित कुंजी उपयोग (EKU) फ़ील्ड की कमी है।
इस प्रमाणपत्र की निजी कुंजी निकालने के लिए, CA सर्वर पर certsrv.msc
उपकरण समर्थित विधि है जो अंतर्निहित GUI के माध्यम से है। फिर भी, यह प्रमाणपत्र सिस्टम में संग्रहीत अन्य प्रमाणपत्रों से भिन्न नहीं है; इसलिए, THEFT2 तकनीक जैसी विधियों का उपयोग निकासी के लिए किया जा सकता है।
प्रमाणपत्र और निजी कुंजी को Certipy का उपयोग करके निम्नलिखित कमांड के साथ भी प्राप्त किया जा सकता है:
CA प्रमाणपत्र और इसके निजी कुंजी को .pfx
प्रारूप में प्राप्त करने के बाद, ForgeCert जैसे उपकरणों का उपयोग वैध प्रमाणपत्र उत्पन्न करने के लिए किया जा सकता है:
सर्टिफिकेट धोखाधड़ी के लिए लक्षित उपयोगकर्ता को सक्रिय होना चाहिए और प्रक्रिया सफल होने के लिए Active Directory में प्रमाणीकरण करने में सक्षम होना चाहिए। विशेष खातों जैसे krbtgt के लिए सर्टिफिकेट धोखाधड़ी अप्रभावी है।
यह धोखा दिया गया सर्टिफिकेट मान्य रहेगा जब तक कि निर्दिष्ट समाप्ति तिथि तक और जब तक रूट CA सर्टिफिकेट मान्य है (आमतौर पर 5 से 10+ वर्ष तक)। यह मशीनों के लिए भी मान्य है, इसलिए S4U2Self के साथ मिलकर, एक हमलावर किसी भी डोमेन मशीन पर स्थिरता बनाए रख सकता है जब तक CA सर्टिफिकेट मान्य है। इसके अलावा, इस विधि से जनरेट किए गए सर्टिफिकेट को रद्द नहीं किया जा सकता क्योंकि CA उनके बारे में अवगत नहीं है।
NTAuthCertificates
ऑब्जेक्ट को एक या अधिक CA सर्टिफिकेट को अपने cacertificate
विशेषता में रखने के लिए परिभाषित किया गया है, जिसका उपयोग Active Directory (AD) करता है। डोमेन कंट्रोलर द्वारा सत्यापन प्रक्रिया में NTAuthCertificates
ऑब्जेक्ट में उस प्रविष्टि की जांच करना शामिल है जो प्रमाणीकरण सर्टिफिकेट के इश्यूअर फ़ील्ड में निर्दिष्ट CA से मेल खाती है। यदि कोई मेल मिलता है, तो प्रमाणीकरण आगे बढ़ता है।
एक आत्म-हस्ताक्षरित CA सर्टिफिकेट को NTAuthCertificates
ऑब्जेक्ट में एक हमलावर द्वारा जोड़ा जा सकता है, बशर्ते कि उनके पास इस AD ऑब्जेक्ट पर नियंत्रण हो। सामान्यतः, केवल Enterprise Admin समूह के सदस्य, साथ ही Domain Admins या Administrators को फॉरेस्ट रूट के डोमेन में इस ऑब्जेक्ट को संशोधित करने की अनुमति दी जाती है। वे certutil.exe
का उपयोग करके NTAuthCertificates
ऑब्जेक्ट को संपादित कर सकते हैं, कमांड certutil.exe -dspublish -f C:\Temp\CERT.crt NTAuthCA126
के साथ, या PKI Health Tool का उपयोग करके।
यह क्षमता विशेष रूप से ForgeCert के साथ मिलकर उपयोग करने पर प्रासंगिक है ताकि गतिशील रूप से सर्टिफिकेट उत्पन्न किए जा सकें।
AD CS घटकों के सुरक्षा विवरण संशोधनों के माध्यम से स्थिरता के अवसर प्रचुर मात्रा में हैं। "Domain Escalation" अनुभाग में वर्णित संशोधन एक हमलावर द्वारा दुर्भावनापूर्ण रूप से लागू किए जा सकते हैं जिनके पास उच्च स्तर की पहुंच है। इसमें संवेदनशील घटकों जैसे:
CA सर्वर का AD कंप्यूटर ऑब्जेक्ट
CA सर्वर का RPC/DCOM सर्वर
CN=Public Key Services,CN=Services,CN=Configuration,DC=<DOMAIN>,DC=<COM>
में कोई भी वंशज AD ऑब्जेक्ट या कंटेनर (उदाहरण के लिए, सर्टिफिकेट टेम्पलेट्स कंटेनर, सर्टिफिकेशन अथॉरिटीज कंटेनर, NTAuthCertificates ऑब्जेक्ट, आदि)
AD समूहों को AD CS को नियंत्रित करने के लिए डिफ़ॉल्ट या संगठन द्वारा अधिकार सौंपे गए (जैसे कि अंतर्निहित Cert Publishers समूह और इसके किसी भी सदस्य)
दुर्भावनापूर्ण कार्यान्वयन का एक उदाहरण एक हमलावर होगा, जिसके पास डोमेन में उच्च अनुमतियाँ हैं, जो User
सर्टिफिकेट टेम्पलेट पर WriteOwner
अनुमति जोड़ता है, जिसमें हमलावर अधिकार के लिए प्रमुख होता है। इसका लाभ उठाने के लिए, हमलावर पहले User
टेम्पलेट की स्वामित्व को अपने पास बदल देगा। इसके बाद, mspki-certificate-name-flag
को 1 पर सेट किया जाएगा ताकि ENROLLEE_SUPPLIES_SUBJECT
सक्षम हो सके, जिससे एक उपयोगकर्ता अनुरोध में एक विषय वैकल्पिक नाम प्रदान कर सके। इसके बाद, हमलावर टेम्पलेट का उपयोग करके नामांकित कर सकता है, एक डोमेन प्रशासक नाम को वैकल्पिक नाम के रूप में चुन सकता है, और अधिग्रहित सर्टिफिकेट का उपयोग प्रमाणीकरण के लिए DA के रूप में कर सकता है।
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)