Quaoar isimli zafiyetli makinada root yetkilerini elde etmemiz ve bu süreçte 3 flag bulmamız isteniyor. Başlangıç seviyesi olarak kategorize edilmiş.Daha ayrıntılı bilgiye buradan ulaşabilirsiniz.
Öncelikle netdiscover ile bulunduğumuz ağı tarayıp, makinaya ait ip adresini öğreniyoruz.

Basit bir nmap taraması ile açık portları ve çalışan servisleri öğreniyoruz.

Tabi ki ilk yöneldiğimiz web servisi oluyor. Ziyaret ettiğimizde oldukça basit bir sayfa bizi karşılıyor. Kaynak kodunda da dikkatimizi çeken herhangi bir şey yok. Nikto ile yaptığımız tarama sonucu , robots.txt nin varlığını ve wordpress kurulu olduğunu öğreniyoruz. 192.168.1.50/robots.txt adresini ziyaret ettiğimizde iki entry ile karşılaşıyoruz , wordpress in varlığını zaten biliyorduk. Wordpress dizinine gittiğimizde bizi bir blog karşılıyor. Manuel olarak bir keşif yapmadan wpscan ile tema ve pluginlerin barındarabileceği zafiyetlere bakıyoruz.
wpscan --url http://192.168.1.50/wordpress/ --enumerate vp
Tarama sonucu, zafiyetli iki plugin olduğunu görüyoruz.

Sql injection zafiyeti için exploit-db üzerinden daha ayrıntılı bir araştırma yaptığımızda zafiyet barındıran sayfaların silinmiş olduğunu görüyoruz. LFI zafiyeti için yine exploit-db üzerinden bir araştırma yapıyoruz. Payload şu şekilde: “http://server/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd”.

/etc/passwd dosyasından wpadmin kullanıcısını öğrenmiş oluyoruz.Bunun dışında bu github hesabından ulaştığımız , işimize yarayabilecek payloadlar deniyoruz. Fakat işimize yarar pek bir şey çıkmıyor. Wp-config.php sayfası için birkaç deneme yapıyoruz fakat muhtemelen /wordpress dizininden başka bir yere taşınmış. İkinci plugin de XSS zafiyeti barındırıyor.

Fakat zafiyet barındıran sayfa silinmiş. Buradan da çok bir şey elde edemeyip, temaları tarıyoruz.
wpscan --url http://192.168.1.50/wordpress/ --enumerate vt
Zafiyetli herhangi bir tema bulunmadığını da böylece görmüş oluyoruz.Ardından mevcut kullanıcıları öğrenebilmek için yine bir tarama yapıyoruz.
wpscan --url http://192.168.1.50/wordpress/ --enumerate u

Admin ve wpadmin şeklinde iki kullanıcının bulunduğunu görüyoruz. Hemen altında da admin default username’inin hala kullanıldığını söylüyor. Aslında burda aklımıza gelen ilk şeyin admin:admin,admin:123456 gibi ikilileri denemek olması gerekirdi. Bunun yerine bilgisayarıma işkence etmeyip seçip, brufe force ile admin:admin ikilisini elde ettim.
hydra -l admin -P rockyou.txt -vV -f -t 2 192.168.1.50 http-post-form "/wordpress/wp-login.php:log=^USER^&pwd=^PASS^:login_error"

Wp-admin paneline eriştikten sonra, ilk işimiz reverse shell yüklemek oluyor.Bunun için appearance>editor kısmından bir temayı seçip,herhangi bir template’e bize reverse shell verecek olan php kodumuzu ekliyoruz. Bir dinleme başlatıp, kendi php kodumuzu eklemiş olduğumuz sayfayı tarayıcıdan çağırdığımızda www-data kullanıcısı ile shell elde etmiş oluyoruz.

Aldığımız shell’i etkileşimli hale getirdikten sonra wpadmin kullanıcısının home dizininde ilk flag ile karşılaşıyoruz.

Flag değerini md5 decode ediyoruz:QuaoarWordpress
Ardından sistem üzerinde bilgi toplamak için github adresindeki scripti çalıştırıyoruz. İlk olarak bu çekirdek versiyonu için local bir exploit olup olmadığını araştırıyoruz. C ile yazılmış birden fazla local exploit bulunmasına rağmen, içeride gcc bulunmaması sebebiyle işimize yaramıyor.

Post exploitation için best practice olarak kabul edilen şeylerden birini yapıp, var olan cron dosyalarını inceliyoruz.


İkinci flagi de böylece elde etmiş oluyoruz. Sistem üzerinde biraz daha gezindikten sonra,en başta ulaşmaya çalıştığımız wp-config dosyasının yerini arıyoruz.

Dosyayı okuduğumuzda database bağlantısının gerçekleştiğini ve database için root:rootpassword! ikilisini öğrenmiş oluyoruz.

Database için kullanılan parolanın başka yerlerdede kullabileceğini düşünerek şansımızı deniyoruz.

Böylece root yetkileriyle birlikte 3. flagi de elde etmiş oluyoruz.
