Merhaba Değerli THT Ailesi,

Bu yazımızda Linux işletim sistemindeki yetki yükseltme yöntemlerinden bahsetmeye çalışacağım.
Öncelikle yetki yükseltme nedir? sorusunu şu şekilde açıklayabiliriz;
Yetki yükseltme, saldırganın bir işletim sistemine eriştikten sonra sistemde veya ağda daha yüksek seviyede izinler sağlamasına olanak tanıyan bir zafiyet olarak tanımlanabilir. Kullanılan birtakım tool?lar veya komutlar, çalışmak için daha yüksek düzeyde bir yetki gerektirir.
En üst yetki Root yani sudo yetkisidir.Aşağıdaki örnekte Sudo yetki yükseltmesini daha detaylı ele alacağız.




Shell Escape Sequences

Terminali açıp sudo -l yazalım ve yapılandırmaya bakalım;





Belirlenen komutumuzu terminale yazdıktan sonra ?(root) NOPASSWD? satırlarında gördüğümüz komutların hepsi ?root? adlı kullanıcının yetkisiyle ve parola gerekmeksizin çalıştırılabildiğini görmekteyiz.

Bu çalışmada örnek olarak ?awk? komutuyla işlem yapacağız
.

Terminal'e aşağıdaki komutu yazalım,

Kod:
sudo awk ?BEGIN {system(?/bin/sh?)}?




SUID Bitleri Kullanılarak Yetki Yükseltme

SUID (Set User Id) sayesinde kendi kullanıcı yetkimizden daha yetkili bir şekilde komut çalıştırmamızı sağlayan bir bittir. Peki dosyaların SUID bitinin ayarlanmış olduğunu nasıl anlayacağız.

"find" komutu ile sistemdeki tüm SUID biti ayarlanmış dosyaları bulabiliriz.

Kod:
find / -perm -u=+s -type f 2>/dev/null




/: Tüm Klasörde ara anlamına gelir
-perm: Sonrasında yazacağımız yetkilere sahip dosyaları getirmesini sağlar
-u=+: Hangi yetkiye sahip dosyaların getirileceğini belirtir
-type: Bulunacak dosya tipini belirler.
2>/dev/null: Olumsuz sonuçları ekrana yazdırmaz






Resimde de görüldüğü gibi bize SUID biti ayarlanmış dosyaları getirdi. Biz şimdi yetki yükseltme işlemini "cp" komutu ile gerçekleştireceğiz. Bu işlemi gerçekleştirebilmek için SUID biti ayarlanmış dosyalar arasında "/bin/cp" bulunması şarttır.



1- Bu işlem için "/etc/passwd" dosyasını içeriğini değiştirmeyi hedeflemekteyiz.
2- Oluşturduğumuz yeni dosyayı kopyalarak "/etc/passwd" nin yerini almasını sağlamaktayız.
Hedef makinemizde "cat /etc/passwd" ile dosyanın içeriğini okuyalım






"/etc/passwd" dosyası kullanıcıların bilgilerini ve şifrelerini saklayan bir dosyadır. Burada sadece kullanılan yöntemlerden yola çıkarak bir anlatım oluşturmaya çalıştım.Zafiyetlerin çoğu yeni gelen güncellemeler ile birlikte çalışmamaktadır, çalışanlardan örnek verdim.



Herkese İyi Forumlar :)