Bir Zafiyetinin Ruby Dili ile Hazırlanmış Kaynak Kod ile İstismar Edilmesi

Sızma testleri sırasında her zafiyet için bir istismar modülü Metasploit Framework içerisinde bulunmayabilir. Bu gibi durumlarda istismar kodunun Metasploit Framework modülü olarak eklenmesi gerekebilir. Bu yazıda, Linux işletim sistemi üzerindeki bir uygulama zafiyetinin istismarı için Ruby dili ile yazılmış kaynak kod kullanılacaktır.

İstismar işleminin gerçekleştirileceği ortamın genel özellikleri aşağıdaki gibi listelenebilir:

  • Saldırı yapılacak kurban bilgisayarın işletim sistemi: Linux
  • Kurban bilgisayarda istismar edilecek olan uygulama zafiyeti: SkyBlueCanvas CMS – Remote Code Execution
  • Kurban bilgisayarın IP adresi: 192.168.4.209
  • Zafiyet istismarı için kullanılacak olan kodun yazıldığı dil: Ruby
  • Zafiyet istismarı için kullanılacak olan kodun bulunacağı site: www.exploit-db.com

Uyarı: Metaploit Framework modülleri ruby ile hazırlandığı için Ruby ile hazırlanmış istismar kodları aşağıda belirtilen yöntem ile Kali üzerinde kolay bir şekilde kullanılabilmektedir. Başka bir programlama dili (C, java, python) ile yazılan kodların önce derlenmesi, sonra çalıştırılması gerekmektedir.

İstismarı gerçekleştirmeden önce Ruby kodu bulunması gerekmektedir. İstismar kodu, Exploit Database sayfasındaki Search bağlantısından aranır.

obtaining-linux-command-line-by-exploiting-a-vulnerability-via-ruby-source-code-01

Kullanılabilecek istismar kodu elde edilir:

obtaining-linux-command-line-by-exploiting-a-vulnerability-via-ruby-source-code-02

İstismar kodu “Exploit Code” bağlantısından indirilerek veya metin alanındaki kod parçacıklarından kopyalanarak saldırgana ait Kali bilgisayara indirilir.

obtaining-linux-command-line-by-exploiting-a-vulnerability-via-ruby-source-code-03

İstismar kodunu MSF’e yüklemeden önce 1260 exploit bulunduğu görülmektedir:

obtaining-linux-command-line-by-exploiting-a-vulnerability-via-ruby-source-code-04

İstismar kodu, MSF üzerinde tanımlı olmayan, kişisel amaçlı olarak indirdiğimiz bir kod olduğu için “/root/.msf4/modules/” dizininde ilgili dizine (exploits/windows/misc, exploit/unix/webapp, post/windows/credentials … gibi) taşınır. Normalde bu dizinler bulunmaz. Bu dizinlerin manuel olarak oluşturulması gerekmektedir.

mkdir -p /root/.msf4/modules/exploit/unix/webapp/
ls -la /root/.msf4/modules/exploit/unix/webapp/
mv /root/Desktop/31432.rb /root/.msf4/modules/exploit/unix/webapp/
ls -la /root/.msf4/modules/exploit/unix/webapp/

obtaining-linux-command-line-by-exploiting-a-vulnerability-via-ruby-source-code-05

msfconsole tekrar başlatıldığında, exploit sayısının 1261 (exploit sayısının bir adet arttığı) olduğu görülür.

obtaining-linux-command-line-by-exploiting-a-vulnerability-via-ruby-source-code-06

İstismar koduna ait modül seçenekleri, herhangi bir modüle ait seçenekler gibi ayarlanır.

search SkyBlueCanvas
use exploit/unix/webapp/31432
show options

obtaining-linux-command-line-by-exploiting-a-vulnerability-via-ruby-source-code-07

Böylece, istismar işlemi gerçekleştirilir.

set RHOST 192.168.4.209
set TARGETURI skyblue/
exploit
whoami

obtaining-linux-command-line-by-exploiting-a-vulnerability-via-ruby-source-code-08

 

Bu açıklığa ait exploit modülü MSF’e exploit/unix/webapp/skybluecanvas_exec olarak eklenmiştir.

 

Kaynak:

http://carnal0wnage.attackresearch.com/2008/07/adding-your-own-exploits-in-metasploit.html

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.