Selam,
Öncelikle bu benim çözdüğüm ilk sanal zafiyetli makinem. Bu yüzden pek çok şeyi araştırmam gerekti. Daha önce arkadaşlarımın çözdükleri VM’lere bakarak az buçuk bir şeyler kaptığımı düşünüyordum. Öğrendiklerimin faydasını yeni yeni gördüğümü söyleyebilirim.

İlk olarak makineyi şu linkten indirerek WMware Player ile ayaklandırdım. Açtığımda beni şöyle bir ekran karşıladı.

Bu makinenin çözümü üç aşamada gerçekleşti:

  • İlk adımda, hedef sisteme shell erişimi elde ettim.
  • İkinci adımda, yetkili kullanıcı haklarına eriştim.
  • Üçüncü adımda ise post exploitation işlemleri ile flag’i elde ettim.
    İlk adımı gerçekleştirebilmek için hedef sistemde açık olan portları ve servisleri nmap aracı ile analiz etmeye başladım. Yaptığım versiyon taramasının sonucu şöyleydi:

80 portunun açık olduğunu görünce tarayıcım ile ziyarette bulundum.

Web sitesi hakkında bir şeyler öğrenmek için Nikto aracı ile tarama yaptım.

Nikto bana robots.txt dosyası bulmuştu, mutlu olup içinde hangi dizinlere hangi izinlerin verildiğine baktım.

/wordpress dizinine gittiğimde karşıma Wordpress içerik yönetim sistemi tarafından oluşturulmuş bir blog çıktı. Aynı dizini uygun bir wordlist ile Dirbuster gibi araçlar kullanarak de bulabilirdik fakat burada robots.txt içeriğini okuyarak zahmet etmeden bu bilgiyi elde etmiş olduk.

Ardından acaba bu aşamayı nasıl geçebilirim diye düşündüm. Kali Linux’taki araçlardan daha önce gördüğüm veya bana yardımcı olabilecek bir tool var mı diye biraz araştırma yaptım. Karşıma WPScan çıktı. WPScan’ın nasıl kullanılacağını pek bilmesem de Youtube’da biraz araştırma ile işime yarayabilecek bir kaç komut buldum ve taradım bizim linki.

WPScan’den gelen sonuca göre bu makineyi oluşturan arkadaş öntanımlı kullanıcı adı ve parolayı değiştirmemiş.

Elde ettiğim admin/admin kullanıcı adı ve parola ikilisi ile panele yani

http://192.168.1.106/wordpress/wp-login.php

adresine (URL’deki 192.168.1.106 kısmı makinenin IP adresi) giriş yapabildim. Şimdi hedef sisteme shell erişimi elde etmek için neler yapabiliriz onu düşünmek kaldı. Elimde yönetici paneline yetkili kullanıcı ile erişim elde edebildiğim bir wordpress sitesi vardı. Ben de geçmiş tecrübelerime dayanarak php shell’e yöneldim. Tarayıcı üzerinden erişebildiğim bir yere sistem komutları çalıştırabileceğim ya da doğrudan sisteme bağlantı elde edebileceğim zararlı kodlar barındıran bir php dosyası üretmem gerekiyordu. Bunun için de msfvenom aracını kullandım.

Ardından, wordpress panelinde tema ayarlarından son kullanıcıya gösterilen 404 hata sayfasının kodlarına küçük bir müdahalede bulunarak bir önceki aşamada msfvenom ile ürettiğim zararlı php kodunu buraya yapıştırdım. Böylelikle sitede varolmayan bir URL’e ulaşmak istediğimde Wordpress bana bu 404 sayfasını dönecekti. Yani benim zararlı kodum çalışacaktı.

Bu aşamada, var olmayan bir URL’e istekte bulunduğumda wordpress bana 404 hata sayfasını dönecekti. 404 hata sayfasının değiştirilmiş içeriğinde ise sistemime doğrudan bağlantı isteği gönderecek php kodu vardı. Yani benim önce dinlemeye geçmem lazım ki 404 hata sayfasına istek gönderdiğimde, php kodu çalışıp bana ulaşabilsin. Bu nedenle Metasploit Framework içerisinde bulunan exploit/multi/handler modülünü msfvenom ile oluşturduğum php shell’e göre ayarladım.

Ziyaret ettiğim sayfa bana 404 hatasının msfconsola ulaşmadığını görüp dinlemeye başladım.

Handler bağlantıyı yakaladı!

Geriye iki adım kaldı. İlki çok vakit almıştı, şimdi hedef ikincisindeydi “root olmak” bunun için web sitesine biraz göz gezdirdim. Meterpreter erişimi üzerinden ilerlemeye karar verdim.

python -c 'import pty;pty.spawn("/bin/bash")'  

komutu ile etkileşimli shell’e geçerek daha rahat hareket etmeye başladım ve sistemin içinde bulunan konfigürasyon dosyalarını incelemeye başladım.

Bu basit bir makine dedim kendi kendime. Çok kapsamlı düşünmeye gerek yok, ya oradadır ya burada diye düşünüp, 2 yaşındaki misafir çocuğu edasıyla makinenin içindeki her dosyayı açıp kapatıp oynarken, karşıma bir şey daha geldi.

Hemen ardından gelen hunharca kahkahayı da unutmamalı. İşte parola:

Bulduğum kullanıcı adı ve parolayı kullanarak yalnız parolanın sonundaki ünlem işaretini unutmadığıma emin olarak root oluyorum.

Şimdi sadece flag’i bulmak kaldı. Makinede root oluduğumda bulunduğum dizini yani /root dizinini kontrol ediyorum. Beni flag karşılıyor.

Bu makinede böyle hüzünlü bir sonla bitiyor daha nice makinelerde görüşmek üzere …


Ahmet Muhammet Kocabıyık