Kısaca
Yetki yükseltme (privilege escalation), bir saldırganın veya sızma testi uzmanının mevcut yetkilerini artırarak daha ayrıcalıklı bir erişim düzeyine ulaşması sürecidir. MITRE ATT&CK çerçevesinde Tactic TA0004 olarak sınıflandırılan bu teknik, hemen hemen her başarılı siber saldırının kritik bir aşamasını oluşturur. Düşük yetkili bir kullanıcı hesabından root veya SYSTEM düzeyine erişim sağlamak, saldırganın hedef sistem üzerinde tam kontrol elde etmesini sağlar.
Bu rehberde; yetki yükseltmenin temel kavramlarını, dikey ve yatay yetki yükseltme farklarını, Linux ve Windows ortamlarında yaygın privilege escalation tekniklerini, Active Directory ve konteyner ortamlarına özgü senaryoları, tespit ve savunma yöntemlerini ve SİTEY platformunun zafiyet yönetimi süreçlerine entegrasyonunu kapsamlı biçimde ele alıyoruz.
Yetki Yükseltme Nedir?
Yetki yükseltme, bir kullanıcının veya sürecin tasarlanmış erişim seviyesinin ötesinde ayrıcalıklar kazanması durumudur. İşletim sistemleri, veritabanları ve uygulamalar; kullanıcıları farklı yetki düzeylerine ayırarak en az ayrıcalık (least privilege) prensibini uygulamaya çalışır. Ancak yanlış yapılandırmalar, yazılım hataları, eksik yama yönetimi ve tasarım zafiyetleri bu ayrımı aşılabilir kılar.
Privilege escalation saldırıları genellikle şu koşullardan biri veya birkaçının varlığında gerçekleşir:
- Yanlış Yapılandırma: SUID bitlerinin gereksiz dosyalarda ayarlanması, servis hesaplarına aşırı yetki verilmesi, dizin izinlerinin hatalı ayarlanması gibi konfigürasyon hataları.
- Yazılım Zafiyetleri: Kernel exploitleri, buffer overflow, race condition ve use-after-free gibi bellek bozulması hataları.
- Kimlik Bilgileri Sızıntısı: Düz metin parolaların yapılandırma dosyalarında, ortam değişkenlerinde veya komut geçmişinde saklanması.
- Tasarım Hataları: Uygulamaların gereksiz yüksek yetki ile çalışması, güvenli olmayan IPC mekanizmaları.
Sızma testlerinde yetki yükseltme, genellikle başlangıç erişimi (initial access) ve kalıcılık (persistence) aşamalarının ardından gerçekleştirilir. Bu saldırı vektörünün anlaşılması, kurumsal siber güvenlik savunmasının güçlendirilmesi için hayati önem taşır.
Dikey vs Yatay Yetki Yükseltme
Yetki yükseltme saldırıları iki temel kategoride incelenir:
Dikey Yetki Yükseltme (Vertical Privilege Escalation)
Düşük yetkili bir kullanıcının daha yüksek yetkili bir role erişim sağlamasıdır. Örneğin, standart bir kullanıcının root veya Administrator haklarını ele geçirmesi. Bu, en yaygın ve en tehlikeli yetki yükseltme biçimidir:
- Linux'ta normal kullanıcıdan root'a geçiş
- Windows'ta standart kullanıcıdan SYSTEM veya Administrator'a geçiş
- Uygulama düzeyinde kullanıcıdan admin paneline erişim
- Veritabanında düşük yetkili kullanıcıdan DBA rolüne geçiş
Yatay Yetki Yükseltme (Horizontal Privilege Escalation)
Aynı yetki düzeyindeki başka bir kullanıcının kaynaklarına erişim sağlamaktır. Teknik olarak yetki seviyesi artmaz ancak erişim genişler:
- Bir müşteri hesabından başka bir müşterinin verilerine erişim (IDOR)
- Bir çalışanın başka bir çalışanın e-postalarını okuyabilmesi
- API üzerinden yetkilendirilmemiş kaynaklara erişim
Gerçek dünya saldırılarında bu iki tür genellikle birlikte kullanılır: önce yatay yetki yükseltme ile daha değerli hedeflere erişilir, ardından dikey yetki yükseltme ile tam kontrol elde edilir. Bir sızma testi uzmanı her iki vektörü de sistematik olarak değerlendirmelidir.
Linux Privilege Escalation Teknikleri
Linux ortamlarında yetki yükseltme; kernel zafiyetlerinden yanlış yapılandırmalara, SUID bitlerinden cron job istismarına kadar geniş bir yelpazede gerçekleştirilebilir.
SUID/SGID Bit İstismarı
SUID (Set User ID) biti ayarlanmış dosyalar, çalıştırıldığında dosya sahibinin yetkileriyle çalışır. Root'a ait bir SUID binary'si istismar edildiğinde root yetkileri elde edilir:
find / -perm -4000 -type f 2>/dev/nullkomutuyla SUID binary'leri keşfedilir- GTFOBins veritabanı, istismar edilebilir binary'lerin kapsamlı listesini sunar
find,vim,nmap,pythongibi programların SUID olması kritik zafiyetlerdir- Özel yazılmış SUID binary'lerinde path hijacking veya library injection uygulanabilir
Cron Job Zafiyetleri
Root yetkisiyle çalışan cron job'lar, düşük yetkili kullanıcıların yazma erişimi olan dosyaları çalıştırıyorsa istismar edilebilir:
- Crontab dosyalarının incelenmesi:
cat /etc/crontab,ls -la /etc/cron.* - Wildcard injection:
tar,rsyncgibi komutlarda wildcard kullanımı istismarı - PATH değişkeni manipülasyonu ile sahte komut çalıştırma
- Yazılabilir script dosyalarına reverse shell eklemek
Kernel Exploitleri
Linux çekirdeğindeki güvenlik açıkları, doğrudan root erişimi sağlayabilir. Önemli tarihsel örnekler:
- Dirty COW (CVE-2016-5195): Copy-on-write mekanizmasındaki race condition ile yetkisiz yazma
- Dirty Pipe (CVE-2022-0847): Pipe mekanizmasındaki hata ile dosya üzerine yazma
- PwnKit (CVE-2021-4034): Polkit'teki 12 yıllık zafiyet ile root erişimi
- GameOver(lay) (CVE-2023-2640): OverlayFS modülündeki zafiyet
Sudo Yanlış Yapılandırması
sudo -l komutu mevcut kullanıcının sudo haklarını listeler. Aşırı geniş sudo yetkileri kritik istismar vektörleridir:
NOPASSWDile izin verilen komutların istismarı- sudo sürüm zafiyetleri (ör. CVE-2021-3156 - Baron Samedit)
- Environment variable taşıma (LD_PRELOAD, LD_LIBRARY_PATH)
sudo -u#-1ile UID wraparound istismarı
Linux Capabilities
Linux capabilities, root yetkilerini granüler parçalara böler. Ancak yanlış atanmış capability'ler yetki yükseltmeye yol açar:
CAP_SETUID: UID değiştirme yetkisi - doğrudan root'a geçiş imkânıCAP_DAC_READ_SEARCH: Tüm dosyaları okuma yetkisi - /etc/shadow erişimiCAP_SYS_PTRACE: Process injection ile root süreçlerde kod çalıştırmaCAP_NET_RAW: Ağ trafiğini dinleme ve manipüle etme
Windows Privilege Escalation Teknikleri
Windows işletim sistemlerinde yetki yükseltme, karmaşık yetkilendirme modeli ve geniş saldırı yüzeyi nedeniyle çok çeşitli tekniklerle gerçekleştirilebilir.
Token Manipulation
Windows erişim token'ları, bir sürecin güvenlik bağlamını tanımlar. Token manipülasyonu ile daha yüksek yetkili süreçlerin ayrıcalıkları devralınabilir:
- Token Impersonation: SeImpersonatePrivilege yetkisine sahip servis hesapları (IIS, MSSQL) SYSTEM token'ı çalabilir
- Potato Ailesi: JuicyPotato, PrintSpoofer, GodPotato, SweetPotato - COM/RPC mekanizmalarını istismar ederek SYSTEM token çalma
- Token Duplication: DuplicateTokenEx API'si ile token kopyalama ve yeni süreç oluşturma
Servis Yanlış Yapılandırması
Windows servisleri genellikle SYSTEM yetkisiyle çalışır. Kötü yapılandırılmış servisler yetki yükseltmenin en yaygın yollarındandır:
- Unquoted Service Paths: Tırnak içine alınmamış yol ifadelerinde boşluk istismarı ile zararlı DLL yerleştirme
- Yazılabilir Servis Binary'leri: Servis çalıştırılabilir dosyasının düşük yetkili kullanıcı tarafından değiştirilebilmesi
- Servis DLL Hijacking: Servisin aradığı DLL'in eksik olduğu ve yazılabilir dizinlerde aranması
- Servis Registry İzinleri: Servis yapılandırmasının kayıt defterinde düşük yetkili kullanıcılar tarafından değiştirilebilmesi
UAC Bypass
User Account Control (UAC), yönetici kullanıcıların bile varsayılan olarak kısıtlı token ile çalışmasını sağlar. Ancak çeşitli bypass teknikleri mevcuttur:
- Auto-elevate özellikli Microsoft imzalı binary'lerin istismarı (fodhelper.exe, computerdefaults.exe)
- COM nesneleri üzerinden auto-elevation
- Environment variable manipulation ile DLL yükleme
- Disk cleanup scheduled task istismarı
DLL Hijacking
Windows'un DLL arama sırası (DLL Search Order) manipüle edilerek zararlı DLL yüklemesi yapılabilir:
- DLL Side-Loading: Meşru bir uygulamanın yanına zararlı DLL yerleştirme
- Phantom DLL Loading: Uygulamanın aradığı ancak sistemde bulunmayan DLL'i sağlama
- DLL Proxying: Orijinal DLL'e yönlendirme yapan zararlı proxy DLL oluşturma
Registry Tabanlı Saldırılar
Windows Registry, sistem yapılandırmasının merkezi veritabanıdır. Belirli registry anahtarlarının manipülasyonu yetki yükseltmeye yol açabilir:
- AlwaysInstallElevated: MSI paketlerinin her zaman yükseltilmiş yetkiyle kurulması
- AutoRun anahtarları: Oturum açılışında yüksek yetkiyle çalışan programlar
- Image File Execution Options: Debugger olarak zararlı yazılım atama
Active Directory Ortamında Privilege Escalation
Active Directory, kurumsal ağların kimlik yönetimi omurgasıdır ve yetki yükseltme açısından benzersiz saldırı vektörleri sunar. Bir domain ortamında düşük yetkili bir kullanıcı hesabından Domain Admin'e ulaşmak, saldırı zincirinin en kritik aşamasıdır.
Kerberos Tabanlı Saldırılar
- Kerberoasting: SPN atanmış servis hesaplarının TGS biletlerini talep ederek offline parola kırma
- AS-REP Roasting: Kerberos Pre-Authentication devre dışı bırakılmış hesapları hedef alma
- Constrained Delegation İstismarı: S4U2Self ve S4U2Proxy protokollerini kullanarak başka kullanıcı adına bilet alma
- Resource-Based Constrained Delegation (RBCD): msDS-AllowedToActOnBehalfOfOtherIdentity özniteliğinin manipülasyonu
ACL ve GPO İstismarı
- ACL Abuse: GenericAll, GenericWrite, WriteDACL gibi tehlikeli izinlerin istismarı
- GPO Hijacking: Yazma yetkisine sahip olunan Group Policy nesneleri üzerinden kod çalıştırma
- Sertifika Hizmetleri (ADCS): ESC1-ESC13 zafiyetleri ile sertifika tabanlı yetki yükseltme
Domain Dominance
- DCSync: Domain Controller'ın replikasyon API'sini kullanarak tüm parola hash'lerini çekme
- Golden Ticket: krbtgt hesabının hash'i ile sınırsız süreli TGT oluşturma
- Silver Ticket: Belirli servislere yönelik sahte TGS bileti oluşturma
- Skeleton Key: LSASS'a enjekte edilen master parola ile tüm hesaplara erişim
Konteyner Escape ve Privilege Escalation
Konteynerleştirilmiş ortamlar, izolasyon sağlamak için tasarlanmış olsa da çeşitli tekniklerle bu izolasyon kırılabilir. Konteyner escape, saldırganın konteyner sınırlarını aşarak host sisteme erişim sağlamasıdır.
Docker Escape Teknikleri
- Docker Socket Mount:
/var/run/docker.sockkonteyner içinden erişilebiliyorsa, yeni bir ayrıcalıklı konteyner oluşturularak host'a erişim sağlanır - Ayrıcalıklı (Privileged) Konteyner:
--privilegedflag ile çalışan konteynerler, host'un tüm cihazlarına ve capability'lerine erişir - nsenter ile Namespace Geçişi: Host PID namespace'ine erişim varsa, host süreçlerine müdahale edilebilir
- Kernel Exploit: Konteyner ve host aynı kernel'i paylaşır; kernel zafiyeti her ikisini de etkiler
Kubernetes Privilege Escalation
- RBAC Yanlış Yapılandırması: Aşırı geniş ClusterRole atamaları ile küme genelinde yetki yükseltme
- ServiceAccount Token İstismarı: Otomatik mount edilen SA token'ları ile API server'a erişim
- Pod Security Context:
runAsRoot,hostNetwork,hostPIDgibi güvensiz ayarlar - etcd Erişimi: Şifrelenmemiş etcd'ye erişim ile tüm cluster secret'larını okuma
Tespit ve Savunma Yöntemleri
Yetki yükseltme saldırılarına karşı etkili savunma, önleme, tespit ve müdahale katmanlarından oluşan derinlemesine savunma (defense-in-depth) yaklaşımını gerektirir.
Önleme (Prevention)
- En Az Ayrıcalık Prensibi: Kullanıcılara ve servislere yalnızca ihtiyaç duydukları minimum yetkileri verin. Sudo kurallarını sıkılaştırın, Windows'ta ayrıcalıklı grup üyeliklerini düzenli denetleyin.
- Düzenli Yama Yönetimi: Kernel, işletim sistemi ve uygulama yamalarını zamanında uygulayın. Özellikle bilinen privesc CVE'lerini önceliklendirin.
- Güvenli Yapılandırma: CIS Benchmark'larına uygun yapılandırma sertleştirmesi uygulayın. Gereksiz SUID bitlerini kaldırın, Windows servis izinlerini denetleyin.
- Konteyner Güvenliği: Non-root konteynerler kullanın, seccomp profilleri ve AppArmor/SELinux politikaları uygulayın. Privileged mod kullanımını yasaklayın.
Tespit (Detection)
- EDR/XDR Çözümleri: Süreç davranış analizi, dosya bütünlüğü izleme ve kernel-level monitoring ile şüpheli aktiviteleri tespit edin.
- SIEM Korelasyonu: Windows Event ID 4672 (ayrıcalıklı oturum açma), 4688 (yeni süreç oluşturma), Sysmon Event ID 1 ve 10 gibi olayları izleyin.
- Dosya Bütünlüğü İzleme: Kritik sistem dosyalarında, binary'lerde ve yapılandırma dosyalarında değişiklikleri izleyin.
- Anomali Tespiti: Normal kullanıcıların alışılmadık süreçler çalıştırması, beklenmeyen ağ bağlantıları, olağandışı dosya erişim desenleri.
Müdahale (Response)
- Yetki yükseltme girişimi tespit edildiğinde etkilenen hesabı derhal devre dışı bırakın
- Forensik analiz için sistemi izole edin ve kanıt toplamaya başlayın
- Saldırganın lateral movement yapıp yapmadığını kontrol edin
- Kök neden analizini tamamlayın ve benzer zafiyetleri tüm sistemlerde tarayın
Privilege Escalation Araçları
Sızma testi uzmanları, yetki yükseltme vektörlerini verimli biçimde tespit etmek için otomatize araçlardan faydalanır. Bu araçlar savunma ekipleri tarafından da proaktif güvenlik denetimlerinde kullanılabilir.
LinPEAS (Linux Privilege Escalation Awesome Scripts)
- Linux, macOS ve Unix sistemlerde kapsamlı privesc vector taraması yapar
- SUID/SGID dosyaları, cron job'lar, yazılabilir dizinler, kernel sürümü, capabilities ve daha yüzlerce kontrolü otomatik gerçekleştirir
- Renk kodlu çıktı ile kritik bulguları vurgular (kırmızı = kritik, sarı = potansiyel)
- Sürekli güncellenen veritabanı ile yeni zafiyetleri yakalar
WinPEAS (Windows Privilege Escalation Awesome Scripts)
- Windows ortamlarında servis yanlış yapılandırmaları, AutoRun programları, GPP parolaları, token ayrıcalıkları ve daha fazlasını kontrol eder
- .NET ve .exe sürümleri mevcuttur; PowerShell alternatifi de bulunur
- AlwaysInstallElevated, Unquoted Service Paths, DLL Hijacking gibi yaygın vektörleri otomatik tarar
BeRoot
- Linux ve Windows için çift platform desteği sunar
- Bilinen yetki yükseltme tekniklerini otomatik olarak kontrol eder
- GTFOBins veritabanıyla entegre çalışır
Diğer Araçlar
- PEASS-ng: LinPEAS ve WinPEAS'ın güncel sürümlerini barındıran proje
- PowerUp: PowerShell tabanlı Windows privesc script'i
- Unix-privesc-check: Hızlı Unix/Linux yetki yükseltme kontrolü
- Seatbelt: .NET tabanlı Windows güvenlik denetim aracı
- SharpUp: C# ile yazılmış PowerUp alternatifi
SİTEY ile Privilege Escalation Yönetimi
SİTEY zafiyet yönetimi platformu, yetki yükseltme zafiyetlerini tespit, önceliklendirme ve düzeltme süreçlerinde uçtan uca otomasyon sağlar:
- Otomatik Zafiyet Tarama: Linux ve Windows sunucularda bilinen privesc vektörlerini düzenli olarak tarar ve CVE eşleştirmesi yapar.
- Risk Önceliklendirme: CVSS puanı, istismar kolaylığı, varlık kritikliği ve iş etkisi gibi çoklu faktörlerle zafiyet önceliklendirmesi gerçekleştirir.
- Yapılandırma Denetimi: CIS Benchmark'larına göre SUID kontrolleri, sudoers denetimi, servis izinleri, registry yapılandırmaları gibi güvenli yapılandırma kontrollerini otomatikleştirir.
- Yama Takibi: Kernel güvenlik yamaları, sudo güncellemeleri ve diğer güvenlik düzeltmelerinin uygulanma durumunu izler.
- Dashboard ve Raporlama: Yetki yükseltme risk haritasını görselleştirir, trend analizleri sunar ve yönetici düzeyinde raporlar oluşturur.
- SIEM Entegrasyonu: Tespit edilen zafiyetleri SIEM çözümleriyle paylaşarak aktif izleme ve alarm mekanizmalarını güçlendirir.
Sık Yapılan Hatalar
Kurumların yetki yükseltme saldırılarına karşı savunmada sıklıkla yaptığı hatalar:
- Aşırı Sudo Yetkileri: Kullanıcılara
ALL=(ALL) NOPASSWD: ALLgibi sınırsız sudo hakları tanımlanması. Yetkilerin ihtiyaç bazlı ve spesifik komutlarla sınırlandırılması gerekir. - Kernel Yamalarının Ertelenmesi: Çekirdek güncellemelerinin yeniden başlatma gerektirmesi nedeniyle süresiz ertelenmesi. Linux'ta live patching (ksplice, kpatch) çözümleri kullanılmalıdır.
- Servis Hesaplarında Zayıf Parolalar: Servis hesaplarının varsayılan veya zayıf parolalarla bırakılması. Managed Service Account'lar ve otomatik parola rotasyonu uygulanmalıdır.
- Docker'ın Privileged Modda Çalıştırılması: Sorun giderme amaçlı başlatılan privileged konteynerlerın üretimde bırakılması. Pod Security Standards ve OPA/Gatekeeper ile zorunlu kontroller uygulanmalıdır.
- Yapılandırma Sertleştirmesinin İhmal Edilmesi: Varsayılan kurulum ayarlarının değiştirilmemesi. CIS Benchmark'larına göre düzenli sertleştirme taramaları yapılmalıdır.
- Log ve İzleme Eksikliği: Yetki yükseltme girişimlerinin tespit edilememesi. Process creation, privilege change ve authentication log'larının merkezi SIEM'e gönderilmesi ve korelasyon kurallarının oluşturulması şarttır.
- Tek Katmanlı Savunma: Yalnızca perimeter güvenliğe odaklanılması. Defense-in-depth yaklaşımıyla ağ segmentasyonu, endpoint koruma, identity güvenlik ve uygulama güvenliği katmanlarının birlikte uygulanması gerekir.
Sıkça Sorulan Sorular (SSS)
Yetki yükseltme saldırıları nasıl tespit edilir?
Yetki yükseltme girişimleri; anormal ayrıcalık değişiklikleri (Windows Event ID 4672), beklenmeyen süreç oluşturma (Sysmon Event ID 1), SUID binary çalıştırma, sudo komut geçmişi anomalileri ve dosya bütünlüğü ihlalleri gibi göstergelerle tespit edilebilir. EDR/XDR çözümleri ve SIEM korelasyon kuralları bu tespiti otomatikleştirir.
Linux ve Windows'ta en yaygın yetki yükseltme vektörü hangisidir?
Linux'ta en yaygın vektörler sudo yanlış yapılandırması ve SUID bit istismarıdır. Windows'ta ise servis yanlış yapılandırmaları (Unquoted Service Paths, yazılabilir servis binary'leri) ve token manipulation (Potato ailesi saldırıları) en sık karşılaşılan vektörlerdir. Her iki platformda da eksik yamalar kernel exploit'lere kapı açar.
Konteyner ortamlarında yetki yükseltmeyi önlemenin en etkili yolu nedir?
Non-root kullanıcı ile konteyner çalıştırma, read-only filesystem kullanma, seccomp profilleri ve AppArmor/SELinux politikaları uygulama, Docker socket'ı konteyner içine mount etmeme ve Kubernetes Pod Security Standards ile zorunlu kısıtlamalar tanımlama en etkili önlemlerdir.
Sızma testlerinde yetki yükseltme aşaması neden kritiktir?
Başlangıç erişimi genellikle sınırlı yetkilerle elde edilir. Yetki yükseltme olmadan saldırgan hassas verilere erişemez, kalıcılık sağlayamaz, lateral movement yapamaz ve hedef varlıklar üzerinde tam kontrol elde edemez. Bu nedenle privilege escalation, saldırı zincirinin en belirleyici aşamasıdır.
SİTEY platformu yetki yükseltme zafiyetlerini nasıl önceliklendirir?
SİTEY, CVSS puanı, saldırı karmaşıklığı, bilinen istismar varlığı (exploit-in-the-wild), etkilenen varlığın iş kritikliği ve ağ erişilebilirliğini birlikte değerlendiren çok faktörlü bir risk skorlama modeli kullanır. Bu sayede en yüksek risklı yetki yükseltme zafiyetleri düzeltme kuyruğunda en üst sıraya çıkar.