Resource-based Constrained Delegation
संकेतित संकेतन की मूल बातें
यह मूल संकेतित संकेतन के बराबर है लेकिन बजाय किसी वस्तु को किसी सेवा के खिलाफ किसी उपयोगकर्ता का अनुकरण करने की अनुमति देने के. संसाधित संकेतन वस्तु में उस उपयोगकर्ता का नाम रखता है जो उसके खिलाफ किसी भी अन्य उपयोगकर्ता का अनुकरण कर सकता है.
इस मामले में, संकेतित वस्तु के पास msDS-AllowedToActOnBehalfOfOtherIdentity नामक एक विशेषता होगी जिसमें उस उपयोगकर्ता का नाम होगा जो उसके खिलाफ किसी भी अन्य उपयोगकर्ता का अनुकरण कर सकता है।
नए अवधारणाएँ
Constrained Delegation से एक महत्वपूर्ण अंतर यह है कि किसी भी उपयोगकर्ता के पास एक मशीन खाते पर लेखन अनुमतियाँ होने पर (GenericAll/GenericWrite/WriteDacl/WriteProperty/etc) वह msDS-AllowedToActOnBehalfOfOtherIdentity को सेट कर सकता है (दूसरे प्रकार की Delegation में आपको डोमेन व्यवस्थापक विशेषाधिकार चाहिए थे।)
हमला संरचना
यदि आपके पास किसी कंप्यूटर खाते पर लेखन समकक्ष अनुमतियाँ हैं तो आप उस मशीन में विशेषाधिकार प्राप्त कर सकते हैं।
हमला
Creating a Computer Object
You can create a computer object inside the domain using powermad:
Resource-based Constrained Delegation कॉन्फ़िगर करना
activedirectory PowerShell मॉड्यूल का उपयोग करें
पावरव्यू का उपयोग करें
एक पूर्ण S4U हमला करना
First of all, we created the new Computer object with the password 123456
, so we need the hash of that password:
यह खाते के लिए RC4 और AES हैश प्रिंट करेगा। अब, हमला किया जा सकता है:
आप एक बार पूछकर अधिक टिकट उत्पन्न कर सकते हैं, Rubeus के /altservice
पैरामीटर का उपयोग करके:
ध्यान दें कि उपयोगकर्ताओं के पास "डेलीगेट नहीं किया जा सकता" नामक एक गुण होता है। यदि किसी उपयोगकर्ता के पास यह गुण सही है, तो आप उसकी अनुकरण नहीं कर सकेंगे। इस गुण को bloodhound के अंदर देखा जा सकता है।
पहुंचना
आखिरी कमांड लाइन पूर्ण S4U हमला करेगी और व्यवहार करने वाले होस्ट में से TGS को व्यवस्थापक से शिकार होस्ट में मेमोरी में डाल देगी। इस उदाहरण में व्यवस्थापक से CIFS सेवा के लिए एक TGS का अनुरोध किया गया था, इसलिए आपको C$ तक पहुंचने की स्वीकृति होगी:
विभिन्न सेवा टिकट का दुरुपयोग
यहाँ उपलब्ध सेवा टिकट के बारे में जानें.
कर्बेरोस त्रुटियाँ
KDC_ERR_ETYPE_NOTSUPP
: यह इसका मतलब है कि कर्बेरोस को डीईएस या आरसी 4 का उपयोग नहीं करने के लिए कॉन्फ़िगर किया गया है और आप केवल आरसी 4 हैश प्रदान कर रहे हैं। Rubeus को कम से कम AES256 हैश प्रदान करें (या बस आरसी 4, AES128 और AES256 हैश प्रदान करें)। उदाहरण:[Rubeus.Program]::MainString("s4u /user:FAKECOMPUTER /aes256:CC648CF0F809EE1AA25C52E963AC0487E87AC32B1F71ACC5304C73BF566268DA /aes128:5FC3D06ED6E8EA2C9BB9CC301EA37AD4 /rc4:EF266C6B963C0BB683941032008AD47F /impersonateuser:Administrator /msdsspn:CIFS/M3DC.M3C.LOCAL /ptt".split())
KRB_AP_ERR_SKEW
: यह इसका मतलब है कि वर्तमान कंप्यूटर का समय डीसी के समय से अलग है और कर्बेरोस सही ढंग से काम नहीं कर रहा है।preauth_failed
: यह इसका मतलब है कि दिए गए उपयोगकर्ता नाम + हैश लॉगिन करने के लिए काम नहीं कर रहे हैं। आपने शायद जब हैश जेनरेट करते समय उपयोगकर्ता नाम में "$" डालना भूल गए हो सकता है (.\Rubeus.exe hash /password:123456 /user:FAKECOMPUTER$ /domain:domain.local
)KDC_ERR_BADOPTION
: इसका मतलब हो सकता है:आप जिसे अनुकरण करने की कोशिश कर रहे हैं, वह वांछित सेवा तक पहुंच नहीं सकता (क्योंकि आप उसे अनुकरण नहीं कर सकते या क्योंकि उसमें पर्याप्त विशेषाधिकार नहीं है)
पूछी गई सेवा मौजूद नहीं है (यदि आप विनर्म के लिए टिकट मांगते हैं लेकिन विनर्म नहीं चल रहा है)
बनाया गया fakecomputer वंलरेबल सर्वर पर अपनी विशेषाधिकारों को खो चुका है और आपको उन्हें वापस देने की आवश्यकता है।
संदर्भ
Last updated