
ADManager Plus Build < 7210 विशेषाधिकार वृद्धि भेद्यता
Modify Computers, ADManager में कंप्यूटर प्रबंधन के लिए एक पूर्वनिर्धारित भूमिका है। यदि किसी तकनीशियन उपयोगकर्ता के पास किसी कंप्यूटर पर Modify Computers विशेषाधिकार है, तो वे कंप्यूटर ऑब्जेक्ट के userAccountControl और msDS-AllowedToDelegateTo विशेषताओं को बदल सकते हैं। इस प्रकार, तकनीशियन उपयोगकर्ता संगठनात्मक इकाई (Organizational Unit) में किसी भी कंप्यूटर पर Constrained Kerberos Delegation सेट कर सकता है, जिसके लिए उसे प्रतिनिधित्व दिया गया था।
ADManager के दावों के विपरीत, Modify Computers भूमिका वाला उपयोगकर्ता सक्रिय निर्देशिका में कंप्यूटर ऑब्जेक्ट्स के विशेषाधिकार को बदल सकता है। Constrained Kerberos Delegation को CIFS, LDAP, HOST सेवाओं जैसी किसी भी सेवा के लिए सेट किया जा सकता है। फिर उपयोगकर्ता Constrained Kerberos Delegation का दुरुपयोग करके इन सेवाओं तक पहुँच सकता है। इसके अतिरिक्त, userAccountControl विशेषता को बदलकर कंप्यूटर ऑब्जेक्ट्स पर Unconstrained Kerberos Delegation सेट किया जा सकता है। सामान्यतः, केवल वे उपयोगकर्ता जिनके पास SeEnableDelegationPrivilege विशेषाधिकार है, constrained kerberos delegation सेट कर सकते हैं। डिफ़ॉल्ट रूप से केवल BUILTIN\Administrators समूह के सदस्यों के पास यह विशेषाधिकार होता है। किसी संगठनात्मक इकाई के लिए प्रतिनिधित उपयोगकर्ता constrained kerberos delegation सेट नहीं कर सकता, भले ही उपयोगकर्ता के पास कंप्यूटर खाते पर GenericAll अधिकार हो, इसलिए सक्रिय निर्देशिका में प्रतिनिधित्व प्रक्रिया यह विशेषाधिकार प्रदान नहीं करती है। हालाँकि, तकनीशियन उपयोगकर्ता Modify Computers भूमिका के माध्यम से SeEnableDelegationPrivilege अधिकार का उपयोग कर सकता है।
ADMP वेब ऐप प्राधिकरण समस्या: एक पूर्वनिर्धारित Modify Computers भूमिका निर्दिष्ट करना तकनीशियन उपयोगकर्ता को अप्रत्याशित रूप से कंप्यूटरों के कस्टम विशेषताओं को संशोधित करने के लिए प्रतिनिधित्व प्रदान करता है। भले ही UI में यह विशेषाधिकार प्रदान नहीं किया गया प्रतीत होता है, लेकिन Additional Custom Attribute गुण असाइन किया जाता है और इससे टूटा हुआ एक्सेस कंट्रोल भेद्यता उत्पन्न होती है।
कंप्यूटर ऑब्जेक्ट्स के userAccountControl और msDS-AllowedToDelegateTo विशेषताओं को संपादित करने के लिए कोई प्रतिबंध नहीं है। ADMP एप्लिकेशन डिज़ाइन के अनुसार डोमेन व्यवस्थापक विशेषाधिकारों के साथ परिवर्तन करता है, जिससे यदि हम कुछ प्रतिबंधों (जैसे विशेषता मान का प्रारूप) को बायपास कर सकते हैं, तो हमारे अनुरोध डोमेन व्यवस्थापक विशेषाधिकारों के साथ लागू होते हैं। इस प्रकार हम userAccountControl और msDS-AllowedToDelegateTo विशेषताओं को संपादित कर सकते हैं।
एक तकनीशियन उपयोगकर्ता Domain User से Domain Admin तक विशेषाधिकार बढ़ा सकता है। उपयोगकर्ता किसी कंप्यूटर पर डोमेन नियंत्रक की LDAP सेवा के लिए Constrained Kerberos Delegation कॉन्फ़िगर करने के बाद DCSync हमले का उपयोग करके krbtgt खाता हैश प्राप्त कर सकता है। एक अन्य उदाहरण के रूप में, उपयोगकर्ता DC की CIFS सेवा के लिए CLIENT1$ पर Constrained Kerberos Delegation सेट कर सकता है और फिर CIFS सेवा तक पहुँच सकता है। परिणामस्वरूप, उपयोगकर्ता को CLIENT1$ प्रबंधित करने के लिए प्रतिनिधित्व किया जाता है, लेकिन वह अप्रत्याशित रूप से डोमेन नियंत्रक की CIFS सेवा तक किसी उपयोगकर्ता का प्रतिरूपण करके पहुँच सकता है।
हमलावर उपयोगकर्ता निम्नलिखित पूर्वापेक्षाओं के साथ LDAP सेवा के लिए Constrained Kerberos Delegation जोड़ने के बाद DCSync हमला कर सकता है:
Scenario 1: If the attacker has local admin right over a computer and can manage this computer with the “Modify Computers” role in ADManager Plus
Scenario 2: If the attacker adds a computer to Active Directory (MAQ, delegation) and manage this computer with the “Modify Computers” role
Scenario 3: If the attacker can dump NT hash of a computer account (dumping hash with mimikatz, secretsdump, etc.) and manage this computer with the “Modify Computers” role
यह प्रूफ ऑफ कॉन्सेप्ट ADManager Plus Build 7203 पर किया गया था।
https://github.com/user-attachments/assets/496b3bfd-a95f-4d69-8ee5-53ae0592ebdb