Windows 환경에서 **UAC 원격 제한 (UAC Remote Restrictions)**은 보안을 위해 원격으로 접속한 로컬 관리자 계정의 권한을 강제로 제한하는 기능.
보통 로컬 관리자 그룹에 속한 사용자가 PC에 직접 앉아 로그인하면, ‘표준 사용자 토큰’과 ‘관리자 토큰’ 두개를 모두 할당받아 필요시 승인 절차를 거쳐 관리자 권한을 쓸 수 있다. 하지만 네트워크를 통해 원격으로 접속할 때는 상황이 다르다.
UAC 원격 제한은 접속하는 계정의 종류에 따라 다르게 작동한다.
이 기능은 주로 Pass-the-Hash나 횡적 이동 공격을 방어하기 위해 설계되었다.
취약점 스캐닝 툴을 사용하거나, 특정 관리 소프트웨어가 로컬 계정으로 원격 관리를 수행해야 할 때 이 제한을 풀어야 할 수도 있다. 이때 사용하는 레지스트리 설정이 바로 LocalAccountTokenFilterPolicy 다.
reg add "HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System" /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
/v: 값의 이름을 지정 (LocalAccountTokenFilterPolicy)/t: 데이터 타입을 지정 (REG_DWORD)/d: 데이터 값을 지정 (1은 해제, 0은 다시 제한)/f: 확인 절차 없이 강제(Force)로 덮어쓰기Set-ItemProperty -Path "HKP:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System" -Name "LocalAccountTokenFilterPolicy" -Value 1 -PropertyType DWord
설정이 제대로 들어갔는지 확인:
# CMD
reg query "HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System" /v LocalAccountTokenFilterPolicy
# PowerShell
Get-ItemProperty -Path "HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System" | Select-Object LocalAccountTokenFilterPolicy