Press "Enter" to skip to content

Linux İşletim Sistemleri Üzerinde Yetki Yükseltme Teknikleri

0

Öncelikle Post Exploitation nedir?

Post Exploitation ,  kısaca özetlemek gerekirse hedef sisteme erişim sağladıktan sonraki geçen süreçtir. Bu süreç içerisindeki asıl amaç hedef  sistemde kalıcı olmak, var olan yetkileri yükseltmek ve izleri temizlemek amaçlanır. Erişim sağlanan sistemde herhangi bir güncelleme yapılması sonucu girdiğiniz kapılar kapatılabilmektedir. Bir başka örnek ise erişilen sistem yöneticileri açılan kullanıcıların, processlerin devamlı olarak takibini yapıyor ise yabancı bir kullanıcı veya process gördüğünde saf dışı bırakacak ve izlerinize bakmak isteyecektir. Bu gibi durumlarda sisteme tekrar erişim sağlayabileceğiniz bir arka kapı bırakmak ve izlerinizi temizlemek önem taşır.

*Bu yazımda sadece Linux İşletim Sistemlerinde uygulanabilir, sisteme normal kullanıcı yetkisinde eriştiğimiz varsayılarak Yetki Yükseltme Tekniklerini göstereceğim. Bu konunun devamında ise Sistemde Kalıcı Olma Teknikleri ve İzleri Temizleme Teknikleri gelecektir. Takipte kalmayı unutmayın !

1) Kernel Sürümündeki Güvenlik Zafiyetlerini Kullanarak Yetki Yükseltmek

Bu başlıkta ne söylenmek isteniyor diyecek olursanız hemen şöyle anlatayım:

İşletim sistemi çekirdeği, kısaca çekirdek (kernel), işletim sisteminin kalbidir. Uygulamalar ve donanım seviyesindeki bilgi işlemleri arasında bir köprü görevi görür. Kernel’in görevleri sistemin kaynaklarını yönetmeyi de kapsamaktadır. Fakat bunun kötü sonuçlarıda var oda eski Kernel sürümlerinde bulunan güvenlik zafiyetleri. İşte bu zafiyetleri kullanarak yetkilerimizi normal bir kullanıcıdan yönetici seviyesine taşıyabilmekteyiz. Bunun için önerebileceğim bir araç var;
Linux_Exploit_Suggester

Bu scripti Github’dan

git clone https://github.com/PenturaLabs/Linux_Exploit_Suggester.git

komutu ile indiriyoruz. Daha sonra cd komutu ile klasöre girip ls komutu ile klasör içeriğini görüntülüyoruz.


Ektede görüldüğü gibi 1 adet perl scripti var. Perl komutu ile script adımızı yazarak bu scripti çalıştırıyoruz.

Ve çıktıda görüldüğü gibi Kernel sürümümüz 2.6.32’ imiş. Ve bu kernel sürümüne ait zafiyetler exploit-db linkleri ile sıralanmış. Herhangi birini seçiyoruz ve wget ile indiriyoruz.

İnen scriptin içeriği C programlama dili ile yazıldığı için derlemek zorunda olduğumuzdan dolayı gcc –o (output adı) dosya_adi komutu biçiminde C dilindeki scriptimizi derliyoruz.
Ve daha sonra ./exploit komutu ile yetkimizi yükseltmemizi sağlayacak scripti çalıştırıyoruz.

Ve ekte görüldüğü gibi yetkimiz yönetici seviyesine yükseltildi.
Ek olarak bu scripti indirmeden uname –r komutu ile kernel sürümünüzü görüp Google aracılığıyla arama yapabilirsiniz.

Örnek:

2) Dirty Cow Exploit ile Yetki Yükseltmek

Ekim 2016’da güvenlik araştırmacısı Phil Oester, yeni bir Linux zafiyeti keşfetti. Bu zafiyet sanal ortamdaki kötü niyetli saldırganlar tarafından kullanılan çekirdek ayrıcalık yükseltme istismarını barındırıyor. Bu istismar, sınırlı sistem dosyalarına keyfi veri yazmak için Linux çekirdeğini zorlamak amacıyla ortaya çıkan bir güvenlik açığıdır.
Phil Oester, saldırganların normalde olacağı gibi değil de, bellek eşlemeleri için son derece ayrıcalıklı yazma erişim hakları elde edebileceklerini kanıtlamıştır.
Bu istismar sonucunda saldırganlar kötü niyetli kodlar yazabilir

Bu güvenlik zafiyetinin sistemde bulunup bulunmadığını kontrol etmek için;
Exploit kitini https://github.com/dirtycow/dirtycow.github.io/blob/master/dirtyc0w.c adresinden indirip çalıştırabilirsiniz.

3) Sistemde Yönetici Yetkisi ile Çalışan Uygulamaları Kullanmak

Linux sunucu veya işletim sistemlerine yüklemek istediğimiz bazı uygulamalar kurulurken yönetici yetkisi istiyor olabilir. Ve buda oldukça büyük sorunlara sebep olabilecek bir güvenlik zafiyetidir. Nedenini soracak olursanız bu programlar kurulumu yaparken sizden istediği yönetici yetkisi ile kendisini yönetici şeklinde kurar. Böylece saldırgan normal kullanıcı yetkisindeyken bu programa erişim sağladığında bu program üzerinden yönetici yetkileri gerektiren komutları çalıştırabilir.

Örnek verecek olursak Nmap uygulamasının yönetici yetkileri ile kurulduğunu varsayalım,

[normaluser@localhost]$ nmap –interactive
nmap> !sh
# whoami
root

Görüldüğü gibi Nmap üzerinden artık yönetici yetkisi ile komut çalıştırabiliyoruz.

4) Sistemde Saklanan Açık Metin Parolaları Bulmak

Bu maddede zafiyetler arasında en çok rastlanan, aslında rastlanmak zorunda kalınan sistemde saklanan açık metin parolalar zafiyetini inceleyeceğiz. Neden rastlanmak zorunda kalınan dediğimi soracak olursanız en büyük sebebi bu zafiyetin insan kaynaklı olduğunu gösterebiliriz. Kişisel bilgisayar kullanan insanlar, çok fazla sistem yönetmek durumunda kalan insanlar sürekli olarak sistemlerine giriş yaparken parolalar kullanırlar. Bazı insanlar tüm sistemlerine aynı parolayı koyma yolunu seçerken ( ki bu daha tehlikelidir, tek bir sistemin parolası ile bütün sisteme yayılabilir ), bazı insanlar ise her sisteme farklı parola koyar fakat bunları aklında tutamayacağı için biryerlere saklayabilir. Örnek verecek olursak masa altlarına veya monitörün arkasına sticker ile yapıştırmak, aldığı notlar ile cüzdanında saklamak ve bunun gibi daha fazla örnek verebiliriz. Fakat içlerinden bir örnek vardır ki en tehlikelisi kabul edilir. Oda işletim sistemi üzerinde açık metin halinde saklanan parolalar. Eğer bu parolalara ulaşılıp okunur ise kolaylıkla diğer sistemlere ulaşılabilir.

Peki bu parolaları nasıl bulabiliriz?
find /root -name “*.txt” komutu ile /root dizinindeki tüm *.txt ( Metin Belgesi ) dosyalarını listeliyoruz ve parolaları içerebilecek metin dosyalarını inceliyoruz.

Referanslar
http://www.hackingarticles.in/4-ways-get-linux-privilege-escalation/
https://www.sans.org/reading-room/whitepapers/testing/attack-defend-linux-privilege-escalation-techniques-2016-37562

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir