ZAFİYETLİ MAKİNE ÇÖZÜMÜ|TRYHACKME WONDERLAND

ZAFİYETLİ MAKİNE ÇÖZÜMÜ|TRYHACKME WONDERLAND

WONDERLAND

Bu yazımda TryHackMe platformunda bulunan “Wonderland” isimli makinenin adım adım çözümlerini inceleyeceğiz. Odaya göz atmak için https://tryhackme.com/room/wonderland  bağlantısını ziyaret edebilirsiniz.

Her zamanki gibi işe nmap taraması yaparak başlayalım.

Tarama sonucunda 2 portun açık olduğunu gördük. Enumeration işlemine başlamak üzere ilk porta erişim sağlıyoruz.

80 numaralı bağlantı noktasına gittiğimizde böyle bir sayfa ile karşılaşıyoruz.

Sayfadaki gizli dizin ve dosya taraması yapmak için gobuster kullanıyorum.

Bulduğumuz ilk dizin olan /img dizinine gidiyoruz.

2 adet jpeg, 1 adet png uzantılı resim dosyası buluyoruz. Wget komutu ile bulduğumuz jpeg uzantılı dosyaları indirip incelemeye başlayabiliriz.

Dosyaları indirdikten sonra içinde gizli bilgi olup olmadığına bakmak için steghide ile kontrol ediyorum. Alice_door isimli dosyada bir şey çıkmadı fakat white_rabbit isimli dosyada bir txt uzantılı metin dosyası buluyoruz. Cat komutu ile içinde ne olduğuna bakıyoruz. Dosyadan çıkan ipucu bize izlememiz gereken yolu tarif ediyor.

Hemen bulduğumuz diğer gizli dizine bakalım.

Resim içinden çıkan ipucunu da göz önüne alınca gitmemiz gereken yeri algılamış oluyoruz.

Tahmin ettiğimiz gibi bizi bir kapıya yönlendirdi. Şimdi sayfanın kaynak kodlarına bakıp bizim için neler bıraktıklarına bakalım.

Görünüşe göre alice kullanıcısı için giriş bilgileri mevcut. Bu bilgileri kullanarak SSH üzerinden makineye bağlanıyorum.

Bağlantımızı kurduk. İçeride neler var bir göz atalım.

Odanın ipucuna baktığımızda her şeyin ters gittiğini görüyoruz. Yani aslında root dizininde kullanıcı bayrağı olabilir. Emin olmak için kontrol ediyorum.

Tahminlerimiz doğru çıktı. User.txt’ de bayrağı bulduk.

İlk aşamayı tamamladık ve bayrağı bulduk. Şimdi bulduğumuz diğer bir dosya olan walrus_and_the_carpenter.py dosyamıza bakalım. Cat komutu ile okuyorum.

Bir şiir dizesinin rastgele yazdırılmış satırlarından oluşan bir python betiği olduğunu görüyoruz.

Ayrıcalıklarımızı yükseltmek için nasıl bir yol izleyebiliriz ona bakacağız. Bunun için sudo –l komutunu kullanarak geçerli kullanıcının yükseltilmiş ayrıcalıklarla neler yapabileceğine bakıyoruz.

Buradan anlaşılabileceği gibi walrus_and_the_carpenter.py isimli dosyamız python3.6 ile çalıştırılabilecek bir python betiğidir. Bundan dolayı bu dosya ile aynı dizinde çalıştırabileceğimiz bir random.py dosyası oluşturup içine kabuk çağırma komutunu ekliyoruz.

Bunu neden yaptığımızı açıklamak istiyorum: Python’daki içe aktarma işlevi python dizininde olabilecek modüllerle aynı dizindeyse modüllere öncelik verir. Bu özelliği kabuk komutumuzu walrus_and_the_carpenter.py ile yürütülecek şekilde kullanacağız. Komut dosyasını rabbit kullanıcısı olarak çalıştırmak için sudo komutunu kullanıyorum.

Böylelikle rabbit kullanıcısı için bir kabuk elde etmiş olduk.

Ana dizinde ne var ne yok diye bakarken teaParty isimli bir binary dosya olduğunu fark ettik. İçinde ne olduğuna bakmak için dosyayı çalıştırdık. Bize yakın bir zamanda çılgın şapkacının geleceği bilgisini verdi. Ayrıca bir segmentasyon hatasının olduğunu belirtti. Dosyayı daha detaylı incelemek için yerel makineme indiriyorum.

Dosyayı detaylandırmak için strings komutlarına bakıyoruz.

Burada komut dosyasının date komutunu kullanarak bir sonraki saati yazdırdığını görüyoruz. Bizde bundan yararlanabiliriz. Bunun için kabuk çağırma komutu ile yeni bir date komutu oluşturuyoruz. Oluşturduğumuz dosya yolunu orijinal dosya yerine bizim dosyamızı çalıştıracak şekilde sisteme entegre ediyoruz.

Tüm bu işlemler sonucunda hatter isimli kullanıcıya erişim sağlamış olduk. İçeride ne var diye bakıyoruz.

Hatter isimli kullanıcı için bir password.txt dosyası olduğunu ve içerisinde kullanıcı şifresini barındırdığını görüyoruz.

Artık hatter isimli kullanıcıya erişimimiz olduğuna göre ayrıcalıkları yükseltmenin yollarını bulmak için araştırma yapmaya başlayabiliriz. Bunun için LineEnum’ u kullanıyorum. Biraz tarama yaptıktan sonra perl yeteneklerine sahip olduğunu ve bunu kullanabileceğimizi görüyoruz.

Bunu nasıl kullanacağımıza bakmak için gtfobin’e bakıyorum.

Kabuk alabilmek için verilen kodu terminalde çalıştırıyoruz. Ve içerde ne olduğuna bakıyoruz.

Birkaç dosya bulduk. Bizim için önemli olan root.txt dosyasını okuyoruz. Ve ikinci bayrağa ulaşmış oluyoruz. Böylelikle makinemizin çözümünü tamamlamış oluyoruz.

 

 

Adım Taha , 23 yaşındayım ve Adli Bilişim Mühendisliğinden mezunum. Kurucularından olduğum sibermetin.com sitesinde içerik üretiyor, teknik desteği sağlıyorum ve editörlük yapıyorum. Şu anda Tehdit ve Zafiyet Yönetimi Mühendisi olarak çalışıyorum. Siber güvenlik ve Adli bilişim üzerinde edindiğim bilgileri paylaşmaya çalışıyorum. Beni aşağıdaki sosyal medya hesaplarımdan takip edebilirsin. Herhangi bir sorun için bana mail atabilirsin.