Vulnhub JIS:VulnUpload Ctf Çözümü

Bu yazımızda Vulnhub da bulunan JIS makinesinin çözümünü yapacağız. Hedefimiz, makine içerisinde çeşitli yerlere gizlenmiş olan 5 adet bayrağı bularak içeriklerine erişmek. Süreç boyunca kullanılacak ip adresleri herkeste farklılık gösterebilir bu ayrıntıya dikkat etmeyi unutmayalım

İlk olarak nmap -p- -A 10.0.2.40 komutunu kullanarak hedef sistem üzerindeki bütün portları tarıyor ve hedef sistem hakkında bilgi sahibi oluyoruz.

Görüldüğü gibi bir web sitesi ve bir de ssh portu açık bırakılmış. O halde dirb, dirbuster veya gobuster gibi araçlardan herhangi birisiyle web sitesi içerisinde farklı dizinlere erişim sağlayıp sağlayamayacağımızın kontrolünü yapmak faydalı olacaktır, biz burada gobuster aracını kullanıyoruz

gobuster dir -u 10.0.2.40 -w /usr/share/wordlists/dirb/big.txt komutunu çalıştırıyoruz ( dir: dizinleri göster , -u : hedef web site ip adresi , -w : tarama sırasında kullanılacak wordlist )

Burada karşımıza birkaç tane erişmeye çalışabileceğimiz dizin adresi çıkıyor. İlk olarak /flag dizinine gidecek olursak

Bu dizinin altında bize ilk bayrağımızı verdiğini görüyoruz, artık bulmamız gereken 4 adet bayrak kalmış oluyor. Şimdi ise /robots.txt dizinine bir göz atıyoruz ve işimize yarayabilecek dizinler olup olmadığını kontrol ediyoruz

/robots.txt dizininin içeriğini ve burada bulunan dizinleri incelediğimizde karşımıza pek de bir ipucu çıkmıyor ancak /admin_area dizini hariç. Bu dizine gittiğimizde karşımıza aşağıdaki görselde görüldüğü gibi bir sayfa çıkıyor

İlk bakışta bir şey yok gibi görünse de faremize sağ tıklayarak view page source veya sayfa kaynağını görüntüle dediğimizde ve sayfanın kaynak kodlarını incelediğimizde karşımıza aşağıda da görüldüğü gibi ikinci bayrak ve bir kullanıcı adı ile bu kullanıcıya ait bir parola çıkıyor

Artık elde etmemiz gereken 3 adet bayrak kaldı. Şimdi bu kullanıcı adı ve parolayı kullanmak üzere sitenin giriş sayfasına gidiyoruz ve bu bilgileri doğru bir şekilde giriyoruz

Karşımıza çıkan ekranda bizi siteye dosya yükleyebileceğimiz bir seçenek karşılıyor ve hemen internetten “php reverse shell” gibi bir aratma yaparak ters bağlantı açabileceğimiz herhangi bir php dosyasını indiriyoruz. Ardından indirmiş olduğumuz dosyayı açarak dosyanın ilgili kısmındaki kodları kendi ip adresimiz ve ters bağlantı yapmak istediğimiz port numarası uygun olacak şekilde düzenliyoruz, eğer bu işlemi yapmadan dosyayı yükler ve çalıştırırsak herhangi bir bağlantı oluşmayacaktır

Dosya başarılı bir şekilde yükleniyor ve /robots.txt dizininde keşfettiğimiz /uploaded_files dizinine giderek aşağıdaki görselde görüldüğü gibi URL kısmında dosyamıza erişim sağlıyoruz ancak burada bu erişimi sağlamadan hemen öne yeni bir terminal açarak nc -nvlp 1234 komutu ile oluşacak bağlantıyı dinlemeye başlıyoruz ( Buradaki 1234 portu sizin dosyanın içeriğine yazdığınız port numarasıyla aynı olmalıdır )

Görüldüğü gibi whoami komutunu çalıştırdığımızda “www-data” kullanıcı adı ile hedef sisteme sızmış olduğumuzu görüyoruz. Hedef sistemde /var/www/html dizinine gittiğimizde ve dizinin içeriğini görüntülediğimizde “hint.txt” isimli bir dosya olduğunu görüyoruz.

cat hint.txt komutunu kullanarak dosyanın içeriğini okuduğumuzda ise 3.bayrağı da başarılı bir şekilde elde etmiş oluyoruz. Diğer bir dosya olan flag.txt yi okuyabilmemiz için ise bize “technawi” isimli kullanıcının parolasını bilmemiz gerektiği bilgisi veriliyor.

cd /etc/mysql komutu ile veritabanı dosyalarını barındıran mysql dizinine gittiğimizde ve içerisinde araştırmalar yaptığımızda “credentials.txt” adında bir dosya dikkatimizi çekiyor ve bu dosyayı okuduğumuzda ise bize hem 4.bayrağı hem de technawi kullanıcısının parolasını veriyor

Şimdi yeni bir terminal açarak ssh technawi@10.0.2.40 komutu ile bir ssh bağlantısı kuruyoruz ve parola kısmına elde ettiğimiz parolayı yazarak technawi kullanıcısı olarak sisteme girebiliyoruz

Son olarak tekrar /var/www/html dizinine gidiyoruz ve flag.txt dosyasının içeriğini okumaya çalıştığımızda ise 5. ve son bayrağı da elde etmiş oluyoruz

Umarım sizler için faydalı bir içerik olmuştur, bir sonraki ctf çözümümüzde görüşmek ümidiyle 😊

About The Author

Reply