RootMe: Dosya Yükleme Filtresini Atlamak ve SUID Açığını Kullanmak
RootMe, TryHackMe'nin Easy seviyesi makinelerinden biri ve adından da anlaşılacağı gibi root olmayı hedefliyor. Makine iki açıkça görünen güvenlik açığı sunuyor: eksik bir dosya yükleme filtresi ve root yetkisiyle çalışan bir Python yorumlayıcısı. Buradaki ders, saldırıyı gerçekleştirmekten çok, binlerce satırlık SUID çıktısından gerçekten yanlış olanı bulabilmektir.
Makinede SSH (22) ve HTTP (80) portları açıktır. Web paneline erişince bir dosya yükleme formu karşılıyor seni. Filtre PHP dosyalarını yasaklamış, ancak.phtml dosyalarını unutmuş..phtml, Apache tarafından PHP olarak çalıştırılan bir uzantıdır ve birçok sistemde filtreleme listesinde gözden kaçar. Basit bir PHP kabuk kodunu.phtml olarak kaydedip yükleyebilirsin.
Yükleme başarılı olunca, komut çalıştırma yetkisine sahip olursun. Buradan sonra sistem üzerindeki SUID dosyalarını incelemeye başlarsın. `find / -perm -4000 2>/dev/null` komutu tüm SUID binleri listeler. Listede Python 3 yorumlayıcısı bulunacak ve root tarafından çalıştırılmış olacak. Bu, normal bir sistemde hiç görülmemesi gereken bir durumu.
Python'un SUID biti ayarlanmışsa, Python'u çalıştıran herkes root yetkisiyle kod çalıştırabiliyor demektir. Bir satırlık Python komutu ile bash kabuğu açabilir ve root erişimi sağlayabilirsin. Makine bu noktada tamamlanmış olur.
Asıl öğrenilecek şey, sistemdeki anormal SUID ayarlarını fark etmektir. Bir Python yorumlayıcısının neden root olarak SUID biti taşıması gereksin ki? Bu tür sorular sorabilen biri, gerçek ortamlarda da güvenlik açıklarını daha hızlı bulur.
0 yorum