Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Login

Register Now

Canyoupwn.me ~

TR | Suid Bit İstismarı

SUID/SGID Bit Nedir

SUID (Set owner User ID) veya SGID (Set owner Group ID) biti herhangi bir programın, herhangi bir kullanıcı tarafından o programın sahibinin yetkilerinde çalıştırılmasını sağlamaktadır. Bu sayede erişim yetkimizin bulunmadığı bir dosya üzerinde değişiklik yapabilir hale gelmekteyiz. Daha anlaşılır olması açısından; sıradan bir kullanıcısı passwd komutunu kullanarak kendi şifresini değiştirdiğinde root kullanıcısına ait olan /etc/shadow dosyası içerisinde kendine ait parola özetini değiştirmiş olur. Böylelikle kendisine ait olmayan bir dosyada düzenleme yapabilmiştir.

Herhangi bir dosyanın SUID bitini görebilmek için dosya izinlerini de gösteren ls -l komutunu çalıştırabilirsiniz. Herhangi bir dosyanın SUID bitini aktifleştirmek için

chmod u+s dosya.txt

komutunu ya da

chmod 4750 dosya.txt

komutunu kullanabilirsiniz. Burada 4 SUID bitinin aktifleştirildiğini, 7 dosya sahibine tüm yetkilerin, 5 grup için okuma ve çalıştırabilme yetkilerinin verildiğini, 0 ise diğer kullanıcılara hiçbir yetki verilmediğini göstermektedir.

Komutun çalıştırılması sonrası SUID bitini temsil eden s karakterini dosya sahibinin çalıştırma yetkisinin olduğunu gösteren x karakterinin yerine geldiği görülmektedir. Eğer dosya sahibinin çalıştırma yetkisi yok ise bu durumda S karakteri ile gösterilir.

Dosya izinlerini de görüntüleyebilecek bir şekilde ls -l komutu çalıştırıldığında aşağıda uygar kullanıcısına ait iki dosya görülmektedir. Bu iki dosya arasındaki fark bir tanesi çalıştırılabilir dosya iken diğeri çalıştırılamaz haldedir. Bu iki dosya için de suid biti eklenip tekrar ls -l komutu ile görüntülenirse suid bitinin biri s diğeri S ile görüntülenir.

suidbit

SUID biti yukarıda anlatıldığı gibi her ne kadar kullanışlı olsa da dikkat edilmediği durumlarda tehlike oluşturabilmektedir. Örneğin hedef sistem üzerinde erişim sağlandığında SUID biti aktif dosya ve uygulamalar kullanılarak daha yetkili bir kullanıcının haklarına erişim sağlanabilir veya daha yetkili bir kullanıcıya ait dosyalara erişim sağlanabilir. Bu özellik bir saldırıdan çok yetki yükseltmek amacı ile kullanılmaktadır. Hedef sistemde root kullanıcısının yetkilerine sahip olmayı amaçlamaktadır.

Sistemde SUID biti aktif tüm uygulamaları bulmak için aşağıdaki komutu çalıştırabilirsiniz.

find / \( -perm -u+s -or -perm -g+s \) -type f -exec ls -l {} \;

Bu arama sonrası çıkan uygulamaları düzenli olarak takip etmekte ve gereksiz olanların SUID bitinin kaldırılmasında fayda var. Bu sayede sisteminizi güvende tutabilmeniz için bir adım atmış olursunuz.

Bir örnek ile istismarın işleyişini anlamaya çalışalım:

Kopayalama işlemi gerçekleştiren /bin/cp uygulamasında suid bit aktif olarak unutulmuş durumda.

cp suid 1

Yukarıdaki ekran görüntüsünden de anlaşılacağı üzere suid bit etkin. Bu durumda cp komutunu yetkimizin olmadığı yerlere root yetkisinde dosya kopyalamak için kullanabiliriz. Öyleyse /etc/passwd dosyasının içerisini okuyalım, aynı içeriğe sahip yeni bir dosya oluşturup içerisinde kendi kullanıcımıza ait yetkileri (id değeri) root yetkisinin id değeri ile aynı değer (0:0 değerleri) yapalım ve sonra o kullanıcın oturumuna geçmeye çalışalım.

cp suid 2

Yukarıdaki ekran görüntüsünde de görüldüğü gibi öncelikle /etc/passwd dosyasının içerisini kendimize ait bir dizin altında yeni bir dosyaya yazdık. Daha sonra kendi dizinimiz içerisindeki passwd dosyasında hacker kullanıcısının yetkisini, yani id değerini root kullanıcısının id değeri ile aynı değer yaptık. Bu işlem sonrasında kendi dizinimizdeki passwd dosyasını /etc/ dizini altına kopyalarsak root kullanıcısına ait olan /etc/passwd dosyasını değiştirmiş oluruz; çünkü cp komutu suid biti aktif olduğundan dolayı root yetkisindeymiş gibi çalışacaktır. /etc/passwd dosyasını tekrar okursak eğer, içerisinde yaptığımız değişikliklerin gerçekleşmiş olduğunu görebiliriz. Bu işlemler sonrası tek yapmamız gereken su hacker komutu ile hacker kullanıcısının görünümüne bürünmek. Ekran görüntüsünden de görülebileceği gibi artık root ($ karakterinden # karakterine) yetkisindeyiz.

Bu tür yetki yükseltme saldırılarına karşı güvende kalabilmek adına, sisteminizde düzenli aralıklarla suid biti aktif dosya ve uygulamaları tarayıp gereksiz olanların suid bitini kaldırın.

About CanYouPwnMe

Hero!

Follow Me