TryHackMe – Vulnversity Çözümü
Start Machine ile makinemizi başlattık.
Şekil 1.1 Makineyi Başlatma
Task 2 de nmap ile bilgi toplamamızı istemektedir.
Şekil 1.2 Task 2
Öncelikle aşağıdaki komutu kullanarak versiyon taraması gerçekleştireceğiz.
Şekil 1.3
Tarama sonucunda elde ettiğimiz veriler aşağıdaki gibidir. (Makine IP = 10.10.168.30 (Makinanın her başlatılışında ip adresi değişecektir))
Şekil 1.4 Tarama Çıktısı
Şekil 1.4 ten de görüleceği üzere açık portlarımızın sayıdır 6 adettir.
Şekil 1.5
Squid proxy in versiyon bilgisine de şekil 1.4 te ki taramada gözlemleyebilmekteyiz. (3.*.**)
Şekil 1.6
Bir sonraki soru da ise –p-400 parametresi ile nmap in kaç adet bağlantı noktasını tarayacağını sormaktadır. Bu da –p parametresinden sonra verilen değer kadar noktayı tarayacağından dolayı cevabımız 400 olacaktır.
Şekil 1.7
Bir sonraki soruda ise –n parametresinin neyi çözümlemeyeceği sorulmaktadır. Bu sorunun cevabına ise nmap –help ile ulaşabilmemiz mümkündür.
Şekil 1.8
Şekil 1.8 den de anlaşılacağı üzere bu soruya cevabımız ‘DNS’ dir.
Şekil 1.9
Bir sonraki soruda ise işletim sistemi bilgisini sormaktadır. Bu soru için ise - O parametresini kullanabiliriz.
Şekil 1.10
Çıktımız bize tam olarak işletim sistemi bilgisini verememiş olsada ssh servisinden işletim sistemi bilgimizin ‘Ubuntu’ olduğunu söyleyebilmemiz mümkündür.
Şekil 1.11
Task 2 deki son sorumuz ise web server ın hangi portta çalıştığı ile ilgili. Yine bu sorunun cevabına da Şekil 1.4 te yaptığımız taramadan ulaşabilmekteyiz.
Şekil 1.12
Şekil 1.13
Bir sonraki task ise GoBuster i kullanmaya yönelik.
Şekil 1.14
Bu araç kalide kurulu olarak gelmektedir. Kurulu olmaması durumunda buradan ya da Kali Linux 2020.1 ve üzeri bir sürüm kullanılması durumunda sudo apt-get install gobuster komutu ile kurulumu gerçekletirebilmek mümkündür.
Şekil 1.15
‘common.txt’ wordlistini kullanarak taramamızı başlatıyoruz. (Wordlist makinede hazır olarak bulunmaktadır.)
Şekil 1.16
Tarama sonucunda bir adet index.html elde ettik.
Şekil 1.17
Tarayıcıdan index.html e gittiğimizde karşımıza aşağıdaki sayfa çıktı.
Şekil 1.18
Fakat bizden yükleme yapabileceğimiz alana sahip sayfa istenmektedir ve index.html sayfasında böyle bir alan bulunmamaktadır.
Şekil 1.19
Şimdi ise şekil 1.17 deki taramada elde ettiğimiz internal sayfasını kontrol ediyoruz.
Şekil 1.20
Bunun sonucunda aradımızın sayfanın ‘internal’ dizini olduğunu gözlemliyoruz.
Şekil 1.21
Bir sonraki task e geçtiğimzde ilk soruda elde ettiğimiz yüklenebilir sayfada hangi uzantılı sayfanın engellenmiş olduğunu sormaktadır. Bir kaç farklı uzantılı sayfayı yuklemeyi denedikten sonra ‘.php’ uzantılı sayfaların engellenmiş olduğunu gözlemledik.
Şekil 1.22
Bir sonraki işlem için bir adet wordlist oluşturuyoruz.
Şekil 1.23
Sonrasında trafiği yakalamak adına Burp Suite yi aktif ediyoruz.
Şekil 1.24
Sayfamıza dosya yükleyerek trafiğin oluşmasını sağlıyoruz.
Şekil 1.25
İşlem sonrasında Burp Suite trafiği yakalamaktadır.
Şekil 1.26
Sağ tıklayıp ‘Send to Intruder’ seçeneğini seçiyoruz.
Şekil 1.27
Çıkan ekranda ‘Possitions’ seçeneğinden atak tipini ‘sniper’ seçiyoruz ve atak yapılacak kısmı seçiyoruz.
Şekil 1.28
Payloads sekmesinden ise hazırladığımız word list i ekliyoruz. (Bu ekrandan elle girişte yapabilmemiz mümkündür.)
Şekil 1.29
Sonrasında ‘Start Attack’ diyerek saydırıyı başlatıyoruz. Atak sonucunda tüm değerler 200 döndürdü fakat elle tek tek denedikten sonra aradığımız cevabın ‘.phtml’ olduğunu gözlemliyoruz.
Şekil 1.30
Bir sonraki işlem için sayfamıza ‘.phtml’ uzantılı shell dosyamızı yüklüyoruz.
Şekil 1.31
Internal ın altında ‘uploads’ dizini olduğunu gözlemliyoruz. Ayrıca yüklediğimiz shell in de başarılı bir şekilde yüklenmiş olduğunu buradan gözlemleyebiliyoruz.
Şekil 1.32
Shell imizdeki port u dinlemeye alıp, sayfanın /uploads dizininden shellimizi çalıştırıyoruz.
Şekil 1.33
Bunun sonucunda bağlantı sağlamış oluyoruz.
Şekil 1.34
Web sunucusunu yöneten kullanıcıyı bulmak için /etc/passwd dizininden kullanıcıları inceleyerek ilgili kullanıcıyı elde ediyoruz.
Şekil 1.35
Task içerisindeki flag i de user.txt dosyası içerisinden elde ediyoruz.
Şekil 1.36
Son Task imizde SUID özelliğine sahip dosyaları listelemek için;
komutunu kullanabiliriz.
Bunun sonucunda aşağıdaki gibi bir çıktı elde ediyoruz.
Şekil 1.37
‘/bin/systemctl’ root yetkisi elde etme işlemlerinde kullanabileceğimiz bir dizin olduğu için ilgili cevabın bu olduğunu düşündüm ve cevap alanına yazdığımızda zaman doğru olduğunu gözlemliyoruz.