UIAccess๋ฅผ ํตํ Admin Protection ์ฐํ
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 ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
๊ฐ์
- Windows AppInfo๋ UIAccess ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๊ธฐ ์ํด
RAiLaunchAdminProcess๋ฅผ ๋ ธ์ถํฉ๋๋ค(์ ๊ทผ์ฑ์ฉ์ผ๋ก ์๋๋จ). UIAccess๋ ๋๋ถ๋ถ์ User Interface Privilege Isolation (UIPI) ๋ฉ์์ง ํํฐ๋ง์ ์ฐํํ์ฌ ์ ๊ทผ์ฑ ์ํํธ์จ์ด๊ฐ ๋ ๋์ IL์ UI๋ฅผ ์ ์ดํ ์ ์๊ฒ ํฉ๋๋ค. - UIAccess๋ฅผ ์ง์ ํ์ฑํํ๋ ค๋ฉด
NtSetInformationToken(TokenUIAccess)๋ฅผ SeTcbPrivilege์ ํจ๊ป ํธ์ถํด์ผ ํ๋ฏ๋ก ๊ถํ์ด ๋ฎ์ ํธ์ถ์๋ ์๋น์ค์ ์์กดํฉ๋๋ค. ์๋น์ค๋ UIAccess๋ฅผ ์ค์ ํ๊ธฐ ์ ์ ๋์ ๋ฐ์ด๋๋ฆฌ์ ๋ํด ์ธ ๊ฐ์ง ๊ฒ์ฌ๋ฅผ ์ํํฉ๋๋ค:- ์๋ฒ ๋๋ ๋งค๋ํ์คํธ์
uiAccess="true"๊ฐ ํฌํจ๋์ด ์๋์ง. - Local Machine ๋ฃจํธ ์ ์ฅ์์์ ์ ๋ขฐํ๋ ์ธ์ฆ์๋ก ์๋ช ๋์๋์ง(ํน์ EKU/Microsoft ์๊ตฌ์ฌํญ ์์).
- ์์คํ
๋๋ผ์ด๋ธ์ ๊ด๋ฆฌ์ ์ ์ฉ ๊ฒฝ๋ก์ ์์นํ๋์ง(์:
C:\Windows,C:\Windows\System32,C:\Program Files, ํน์ ์ฐ๊ธฐ ๊ฐ๋ฅํ ํ์ ๊ฒฝ๋ก ์ ์ธ).
- ์๋ฒ ๋๋ ๋งค๋ํ์คํธ์
RAiLaunchAdminProcess๋ UIAccess ์คํ์ ๋ํด ๋์(consent) ํ๋กฌํํธ๋ฅผ ํ์ํ์ง ์์ต๋๋ค(๊ทธ๋ ์ง ์์ผ๋ฉด ์ ๊ทผ์ฑ ๋๊ตฌ๊ฐ ํ๋กฌํํธ๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค).
Token shaping ๋ฐ ๋ฌด๊ฒฐ์ฑ ์์ค
- ๊ฒ์ฌ๊ฐ ํต๊ณผ๋๋ฉด AppInfo๋ ํธ์ถ์ ํ ํฐ์ ๋ณต์ฌํ๊ณ , UIAccess๋ฅผ ํ์ฑํํ๋ฉฐ ๋ฌด๊ฒฐ์ฑ ์์ค(IL)์ ์์น์ํต๋๋ค:
- ์ ํ๋ ๊ด๋ฆฌ์ ์ฌ์ฉ์(Administrators ๊ทธ๋ฃน์ ์ํ์ง๋ง ํํฐ๋ง๋ ์ํ) โ High IL.
- ๋น๊ด๋ฆฌ์ ์ฌ์ฉ์ โ IL์ด +16 ๋ ๋ฒจ์ฉ ์ฆ๊ฐํ์ฌ ์ต๋ High๊น์ง ์์น(์์คํ IL์ ๋ถ์ฌ๋์ง ์์).
- ํธ์ถ์ ํ ํฐ์ ์ด๋ฏธ UIAccess๊ฐ ์์ผ๋ฉด IL์ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
- โRatchetโ ๊ธฐ๋ฒ: UIAccess ํ๋ก์ธ์ค๊ฐ ์ค์ค๋ก์ UIAccess๋ฅผ ๋นํ์ฑํํ๊ณ
RAiLaunchAdminProcess๋ก ์ฌ์คํํ๋ฉด ์ถ๊ฐ๋ก +16 IL ์ฆ๊ฐ๋ฅผ ์ป์ ์ ์์ต๋๋ค. MediumโHigh๋ 255๋ฒ์ ์ฌ์คํ์ด ํ์ํฉ๋๋ค(์๋๋ฝ์ง๋ง ์๋ํจ).
UIAccess๊ฐ Admin Protection ์ฐํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ์ด์
- UIAccess๋ ๋ ๋ฎ์ IL ํ๋ก์ธ์ค๊ฐ ๋ ๋์ IL์ ์๋์ฐ๋ก ์๋์ฐ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์๊ฒ ํ์ฌ UIPI ํํฐ๋ฅผ ์ฐํํฉ๋๋ค. ๋์ผ IL์์๋
SetWindowsHookEx์ ๊ฐ์ ์ ํต์ UI ์์๊ฐ ์๋์ฐ๋ฅผ ์์ ํ ๋ชจ๋ ํ๋ก์ธ์ค(์: COM์์ ์ฌ์ฉํ๋ message-only windows ํฌํจ)์ ์ฝ๋ ์ธ์ ์ /DLL ๋ก๋ฉ์ ํ์ฉํฉ๋๋ค. - Admin Protection์ UIAccess ํ๋ก์ธ์ค๋ฅผ ์ ํ๋ ์ฌ์ฉ์ ์ ์์ผ๋ก, ๊ทธ๋ฌ๋ High IL๋ก ์กฐ์ฉํ ์คํํฉ๋๋ค. ํด๋น High-IL UIAccess ํ๋ก์ธ์ค ๋ด๋ถ์์ ์์ ์ฝ๋๊ฐ ์คํ๋๋ฉด ๊ณต๊ฒฉ์๋ ๋ฐ์คํฌํ์ ๋ค๋ฅธ High-IL ํ๋ก์ธ์ค(๋ค๋ฅธ ์ฌ์ฉ์ ์์ ์ธ ๊ฒฝ์ฐ๋ ํฌํจ)์ ์ธ์ ์ ํ ์ ์์ด ์๋๋ ๋ถ๋ฆฌ๊ฐ ๊นจ์ง๋๋ค.
HWND-to-process handle primitive (GetProcessHandleFromHwnd / NtUserGetWindowProcessHandle)
- Windows 10 1803 ์ด์์์ ํด๋น API๋ Win32k๋ก ์ด๋ํ์ฌ(
NtUserGetWindowProcessHandle) ํธ์ถ์๊ฐ ์ ๊ณตํDesiredAccess๋ฅผ ์ฌ์ฉํด ํ๋ก์ธ์ค ํธ๋ค์ ์ด ์ ์๊ฒ ๋์์ต๋๋ค. ์ปค๋ ๊ฒฝ๋ก๋ObOpenObjectByPointer(..., KernelMode, ...)๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ์ ๋ชจ๋ ์ ๊ทผ ๊ฒ์ฌ๋ฅผ ์ฐํํฉ๋๋ค. - ์ค๋ฌด์ ์ ์ ์กฐ๊ฑด: ๋์ ์๋์ฐ๋ ๊ฐ์ ๋ฐ์คํฌํ์ ์์ด์ผ ํ๋ฉฐ UIPI ๊ฒ์ฌ๋ฅผ ํต๊ณผํด์ผ ํฉ๋๋ค. ์ญ์ฌ์ ์ผ๋ก UIAccess๋ฅผ ๊ฐ์ง ํธ์ถ์๋ UIPI ์คํจ๋ฅผ ์ฐํํ๊ณ ์ฌ์ ํ ์ปค๋ ๋ชจ๋ ํธ๋ค์ ์ป์ ์ ์์๋๋ฐ(์ด๋ CVE-2023-41772๋ก ์์ ๋จ).
- ์ํฅ: ์๋์ฐ ํธ๋ค์ ํธ์ถ์๊ฐ ์ ์์ ์ผ๋ก ์ด ์ ์๋ ๊ฐ๋ ฅํ ํ๋ก์ธ์ค ํธ๋ค(์ฃผ๋ก
PROCESS_DUP_HANDLE,PROCESS_VM_READ,PROCESS_VM_WRITE,PROCESS_VM_OPERATION)์ ์ป์ ์ ์๋ capability๊ฐ ๋ฉ๋๋ค. ์ด๋ ์๋๋ฐ์ค ๊ฐ ์ ๊ทผ์ ๊ฐ๋ฅํ๊ฒ ํ๊ณ , ๋์์ด ์ด๋ค ์๋์ฐ(์: message-only windows)๋ฅผ ๋ ธ์ถํ๋ฉด Protected Process / PPL ๊ฒฝ๊ณ๋ฅผ ๋ฌด๋๋จ๋ฆด ์ ์์ต๋๋ค. - ์ค์ ์
์ฉ ํ๋ฆ: HWND๋ฅผ ์ด๊ฑฐํ๊ฑฐ๋ ์ฐพ๊ธฐ(์:
EnumWindows/FindWindowEx), ์์ PID ํ์ธ(GetWindowThreadProcessId),GetProcessHandleFromHwndํธ์ถ, ๋ฐํ๋ ํธ๋ค๋ก ๋ฉ๋ชจ๋ฆฌ ์ฝ๊ธฐ/์ฐ๊ธฐ ๋๋ ์ฝ๋ ํ์ด์ฌํน ์์๋ฅผ ์ํํฉ๋๋ค. - ํจ์น ์ดํ ๋์: UIAccess๋ ๋ ์ด์ UIPI ์คํจ ์ ์ปค๋ ๋ชจ๋ ์คํ์ ํ์ฉํ์ง ์์ผ๋ฉฐ ํ์ฉ๋ ์ ๊ทผ ๊ถํ์ ๋ ๊ฑฐ์ ํํฌ ์งํฉ์ผ๋ก ์ ํ๋ฉ๋๋ค; Windows 11 24H2๋ ํ๋ก์ธ์ค ๋ณดํธ ๊ฒ์ฌ์ ๊ธฐ๋ฅ ํ๋๊ทธ๋ก ์ ์ด๋๋ ์์ ํ ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ์์คํ
์ ์ฒด์์ UIPI๋ฅผ ๋นํ์ฑํ(
EnforceUIPI=0)ํ๋ฉด ์ด๋ฌํ ๋ณดํธ๊ฐ ์ฝํ๋ฉ๋๋ค.
๋ณด์ ๋๋ ํฐ๋ฆฌ ๊ฒ์ฆ ์ทจ์ฝ์ (AppInfo AiCheckSecureApplicationDirectory)
AppInfo๋ ์ ๊ณต๋ ๊ฒฝ๋ก๋ฅผ GetFinalPathNameByHandle๋ก ํด์ํ ๋ค์ ํ๋์ฝ๋ฉ๋ ๋ฃจํธ/์ ์ธ ๋ชฉ๋ก์ ๋ํด ๋ฌธ์์ด ํ์ฉ/๊ฑฐ๋ถ ๊ฒ์ฌ๋ฅผ ์ ์ฉํฉ๋๋ค. ๊ทธ ๋จ์ํ ๊ฒ์ฆ์ผ๋ก ์ธํด ์ฌ๋ฌ ์ฐํ ์ ํ์ด ๋ฐ์ํฉ๋๋ค:
- Directory named streams: ์ ์ธ๋ ์ฐ๊ธฐ ๊ฐ๋ฅํ ๋๋ ํฐ๋ฆฌ(์:
C:\Windows\tracing)๋ ๋๋ ํฐ๋ฆฌ ์์ฒด์ named stream์ ์ด์ฉํด ์ฐํํ ์ ์์ต๋๋ค. ์:C:\Windows\tracing:file.exe. ๋ฌธ์์ด ๊ฒ์ฌ๋C:\Windows\๋ฅผ ๋ณด๊ณ ์ ์ธ๋ ํ์ ๊ฒฝ๋ก๋ฅผ ๋์นฉ๋๋ค. - Writable file/directory inside an allowed root:
CreateProcessAsUser๋.exeํ์ฅ์๋ฅผ ์๊ตฌํ์ง ์์ต๋๋ค. ํ์ฉ๋ ๋ฃจํธ ์๋์ ์ฐ๊ธฐ ๊ฐ๋ฅํ ํ์ผ์ ์คํ ํ์ผ ํ์ด๋ก๋๋ก ๋ฎ์ด์ฐ๊ฑฐ๋ ์๋ช ๋uiAccess="true"EXE๋ฅผ ์ฐ๊ธฐ ๊ฐ๋ฅํ ํ์ ๋๋ ํฐ๋ฆฌ(์:Tasks_Migrated์ ๊ฐ์ ์ ๋ฐ์ดํธ ์์ฌ๋ฌผ)๋ก ๋ณต์ฌํ๋ฉด secure-path ๊ฒ์ฌ๋ฅผ ํต๊ณผํฉ๋๋ค. - MSIX into
C:\Program Files\WindowsApps(fixed): ๋น๊ด๋ฆฌ์๋WindowsApps์ ์ค์น๋ ์๋ช ๋ MSIX ํจํค์ง๋ฅผ ์ค์นํ ์ ์์๊ณ ํด๋น ๊ฒฝ๋ก๋ ์ ์ธ ๋์์ด ์๋์์ต๋๋ค. MSIX์ UIAccess ๋ฐ์ด๋๋ฆฌ๋ฅผ ํฌํจ์ํค๊ณRAiLaunchAdminProcess๋ก ์คํํ๋ฉด ํ๋กฌํํธ ์๋ High-IL UIAccess ํ๋ก์ธ์ค๋ฅผ ์ป์ ์ ์์์ต๋๋ค. Microsoft๋ ์ด ๊ฒฝ๋ก๋ฅผ ์ ์ธํ์ฌ ์ํํ์ผ๋ฉฐ,uiAccess๋ก ์ ํ๋ MSIX ๊ธฐ๋ฅ ์์ฒด๋ ์ด๋ฏธ ๊ด๋ฆฌ์ ์ค์น๋ฅผ ์๊ตฌํฉ๋๋ค.
๊ณต๊ฒฉ ์ํฌํ๋ก์ฐ (ํ๋กฌํํธ ์๋ High IL)
- ์๋ช
๋ UIAccess ๋ฐ์ด๋๋ฆฌ(signed UIAccess binary)๋ฅผ ํ๋ํ๊ฑฐ๋ ์ ์ํฉ๋๋ค(๋งค๋ํ์คํธ
uiAccess="true"). - AppInfo์ ํ์ฉ ๋ชฉ๋ก์ด ํ์ฉํ๋ ์์น์ ๋ฐฐ์นํ๊ฑฐ๋(๋๋ ์์์ ์ธ๊ธํ ๊ฒฝ๋ก ๊ฒ์ฆ ์ฃ์ง์ผ์ด์ค/์ฐ๊ธฐ ๊ฐ๋ฅํ ์ํฐํฉํธ๋ฅผ ์ ์ฉ).
RAiLaunchAdminProcess๋ฅผ ํธ์ถํด UIAccess + ์์น๋ IL๋ก ์กฐ์ฉํ ์คํํฉ๋๋ค.- ๊ทธ High-IL ๋ฐํ์์ window hooks/DLL injection ๋๋ ๋ค๋ฅธ ๋์ผ IL ์์๋ฅผ ์ด์ฉํด ๋ฐ์คํฌํ์ ๋ค๋ฅธ High-IL ํ๋ก์ธ์ค๋ฅผ ํ์ ์ผ๋ก ์ผ์ ๊ด๋ฆฌ์ ์ปจํ ์คํธ๋ฅผ ์์ ํ ์ฅ์ ํฉ๋๋ค.
ํ๋ณด ์ฐ๊ธฐ ๊ฐ๋ฅํ ๊ฒฝ๋ก ์ด๊ฑฐ
์ ํํ ํ ํฐ ๊ด์ ์์ ๋ช ๋ชฉ์ ์์ ํ ๋ฃจํธ ๋ด์ ์ฐ๊ธฐ/๋ฎ์ด์ธ ์ ์๋ ๊ฐ์ฒด๋ฅผ ์ฐพ๊ธฐ ์ํด PowerShell ํฌํผ๋ฅผ ์คํํฉ๋๋ค:
$paths = "C:\\Windows","C:\\Program Files","C:\\Program Files (x86)"
Get-AccessibleFile -Win32Path $paths -Access Execute,WriteData `
-DirectoryAccess AddFile -Recurse -ProcessId <PID>
- ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํ์ฌ ๋ ๋์ ๊ฐ์์ฑ์ ํ๋ณดํ์ธ์;
-ProcessId๋ฅผ low-priv ํ๋ก์ธ์ค๋ก ์ค์ ํ์ฌ ํด๋น token์ ์ ๊ทผ ๊ถํ์ ๋ฏธ๋ฌํ์ธ์. RAiLaunchAdminProcess๋ก ํ๋ณด๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ์๋ ค์ง ํ์ฉ๋์ง ์๋ ํ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์๋์ผ๋ก ํํฐ๋งํ์ธ์.
์ฐธ์กฐ
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 ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


