🐹 Mustafa ile Öğreniyorum #18: Papatya Çayından Bir Yudum Al ve Dinle (Sistem Haklarının Zirvesi: Linux Yetki Yükseltme (Privilege Escalation) 101) Selamlar değerli topluluk üyeleri ve siber güvenlik meraklıları! Bir Linux sistemine sızmak veya kısıtlı bir kullanıcı (shell) erişimi elde etmek madalyonun sadece bir yüzüdür. Bir Linux sisteminde düşük yetkili bir kullanıcı erişimi elde etmek, güvenlik değerlendirmesinin yalnızca ilk aşamalarından biridir. Sistemdeki kritik yapılandırmalara erişebilmek veya yönetici seviyesindeki işlemleri gerçekleştirebilmek için daha yüksek yetkiler gerekebilir. Düşük yetkili bir hesaptan daha yüksek sistem yetkilerine geçiş sürecine Privilege Escalation (Yetki Yükseltme) diyoruz. Bugün, sızma testlerinde ve CTF yarışmalarında en çok karşılaşılan temeldeki 3 Linux yetki yükseltme vektörünü inceliyoruz! 🔑 1. Kontrolsüz Sudo Yetkileri ve GTFOBins Faktörü Sistem yöneticileri bazen kullanıcılara belirli komutları sudo (root) yetkisiyle parola gerekmeden çalıştırma izni verir (/etc/sudoers dosyası). Sudo Listeleme: İlk iş sudo -l komutuyla kullanıcının hangi programları root yetkisiyle çalıştırabildiği kontrol edilir. GTFOBins Tehlikesi: Eğer kullanıcıya find, vim, less veya benzeri güçlü binary'leri geniş sudo yetkileriyle çalıştırma izni verilmişse, bazı programların özellikleri veya shell çalıştırma yetenekleri sudo kısıtlamalarının aşılmasına ve root seviyesinde işlem yapılmasına yol açabilir. Bu nedenle sudo izinleri yalnızca program adına bakılarak güvenli kabul edilmemelidir. 📌 2. SUID Bitleri ve Tehdit Katmanı SUID (Set Owner User ID), bir dosya çalıştırıldığında o dosyanın çalıştıran kullanıcının değil, dosya sahibinin (genelde root) yetkileriyle çalışmasını sağlayan özel bir izin bitidir (chmod u+s). ---- SUID Tespiti: Sistemde root yetkisiyle çalışan SUID dosyaları şu komutla taranır: find / -perm -4000 -type f 2>/dev/null Zafiyetli SUID: Standart dışı, geliştiriciler tarafından unutulmuş veya kütüphane yollarını (PATH) güvensiz çağıran SUID binary'leri doğrudan root yetkisine sıçrama tahtasıdır. ---- ⏰ 3. Cron Jobs ve Zayıf Dosya İzinleri Arka planda belirli aralıklarla otomatik çalışan görevlere Cron Job denir. Root yetkisiyle çalışan bir cron görevi: Yazma iznimiz olan bir komut dosyasını (script) çalıştırıyorsa, PATH çevre değişkenindeki güvensiz bir dizinden dosya çağırıyorsa, Yetkisiz bir kullanıcı ilgili betiğin içeriğini değiştirebiliyorsa, cron görevi çalıştığında eklenen komutlar root yetkileriyle yürütülebilir. Böylece yanlış dosya izinleri ciddi bir yerel yetki yükseltme zafiyetine dönüşebilir. 📊 Hızlı Özet: Yetki Yükseltme Vektörleri Sudo Yanlış Yapılandırmaları Kök Neden: Parolasız sudo izni verilen sistem binary'leri (/etc/sudoers). Önlem: Sudo haklarını kısıtlamak, sadece gerekli komutlara minimum yetki vermek. Tehlikeli SUID Bitleri Kök Neden: Gereksiz dosyalara atanan SUID (+s) izni veya özel yazılım zafiyetleri. Önlem: Düzenli SUID denetimi yapmak, sistemde gereksiz SUID izinlerini kaldırmak. Güvensiz Cron Görevleri Kök Neden: Root cron görevlerinin okuma/yazma izinlerinin tüm kullanıcılara açık olması. Önlem: Root tarafından çalıştırılan cron script'lerinin sahipliğini ve yazma izinlerini sıkı biçimde sınırlandırmak; yetkisiz kullanıcıların script'i veya çağırdığı dosyaları değiştirememesini sağlamak ve mümkün olduğunda komutlarda mutlak dosya yolları kullanmak. O zaman Mustafa soruyor: Linux sistemlerde yetki yükseltme vektörlerini tararken en çok hangi otomasyon araçlarını (LinPEAS, LinEnum, pspy vb.) kullanıyorsunuz? Sudo yetkilerini yapılandırırken sistemlerinizde en çok dikkat ettiğiniz güvenlik kuralı nedir? Düşüncelerinizi yorumlarda paylaşın! 👇 Okuduğunuz için teşekkürler! Kendinize, verilerinize ve dijital zırhınıza çok iyi bakın! 🌼