CTF: TryHackMe Simple CTF Çözümü

Bu yazı ile birlikte TryHackMe CTF çözümlerine başlıyoruz. Öncelikle TryHackMe sitesinden bahsetmek istiyorum. TryHackMe, Hack The Box vb. siteler gibi bir pentest ve CTF sitesidir. Sitede birçok zafiyetli sanal makine bulunmakta. Siteye ücretsiz olarak üye olabilirsiniz. İsterseniz ayda 10 USD ödeyerek (edu mail ile kayıtlara %20 indirim var) PRO sürüme geçebilirsiniz. PRO sürümde öğrenme içeriklerine erişim, kendi sanal Kali makinenizi edinme, ücretli CTF’lere ulaşma vb ekstra özellikler bulunuyor.

Siteye üye olup giriş yaptıktan sonra sol menüden Hacktivities linkine tıklayarak CTF ve Walkthroughs’lara ulaşabilirsiniz. İlgili CTF linkine tıkladıktan sonra sağ üstte buluna Join Room linkine tıklayarak odaya dahil oluyorsunuz. Dahil olduğunuz odaları soldaki menüde My Rooms linkinden görebilirsiniz. Siteyi az biraz kurcalayın çözersiniz bu kadar açıklama bir siber güvenlik uzmanı adayına fazla bile. 🙂

Şimdi gelelim Simple CTF çözümüne . https://tryhackme.com/room/easyctf adresinden ulaşacağınız bu CTF ilk başlayanlara önerilebilir. Öncelikle TryHackMe sitesine VPN bağlantısı yapmamız gerekiyor. Bunun için Access linkine tıklayın ve Download my configuration file linkine tıklayarak VPN dosyasını indirin. Daha sonra Kali’de openvpn kullaniciadiniz.ovpn komutu ile (Kali 2020.1 sürümü kullanıyorsanız komutun başına sudo yazıp ardından parolanızı girmelisiniz) bağlantıyı yapabilirsiniz. Bağlantı sağlandığında Connected seçeneği yeşil olacak.

 

Daha sonra My Rooms linkinden Simle CTF linkine girip sağ üstteki Deploy düğmesine tıklayarak sanal makineyi çalıştırıyoruz.

Sanal makine çalışıyor ve IP adresini görüyoruz. Bana verilen makinenin IP adresi 10.10.164.19

Dikkat ederseniz Task (Görevler) bölümünde birçok soru var. Gerekli işlemleri yaparak bu soruları cevaplamaya çalışacağız. Öncelikle her zaman olduğu gibi nmap taramasını yapalım.

Nmap taraması sonucunda 21, 80 ve 222 numaralı portların açık olduğunu gördük. Şimdi ilk soruyu cevaplayabiliriz. “How many services are running under port 1000?” Cevap : 2 ( 1000 altında 21 ve 80 numaralı portlar çalışıyor)

Şimdi de 2. soruya bakalım. What is running on the higher port? Cevap: SSH ( En yüksek 2222 numaralı portta SSH servisi çalışıyor.

Şimdi Firefox web tarayıcısını açıp 10.10.164.19 yazıyoruz. Karşımızda 80 portta çalışan bir Apache web sunucusu var.

Şimdi dirb aracını kullanarak bu web sunucusundaki dizinleri bulmaya çalışalım.

dirb taraması sonucunda simple isminde bir dizin bulduk. Hemen adresin devamına simple ekleyelim.

Karşımıza CMS Made Simple adlı bir içerik yöneticisi (CMS) çıktı. Bu CMS için bir exploit var mı araştıralım. Bunun için searchsploit aracını kullanıyorum.

Sonuçlara bakarsanız en altta bir SQL açığı ve bununla ilgili 46635.py isimli bir exploit olduğunu görüyoruz. Soruya gelirsek bize ilgili CVE numarasını soruyor. What’s the CVE you’re using against the application? Cevap: CVE-2019-9053 ( Google “cms made simple 2.2.8 exploit” şeklinde bir arama yaparak ilgili CVE numarasına ulaşabilirsiniz.)

Bir sonraki soruyu da cevaplayabiliriz. To what kind of vulnerability is the application vulnerable? Cevap: SQLi ( Daha önce searchsploit araması ile bulmuştuk)

Şimdi geldik bir sonraki soruyu cevaplamaya. Bize parola nedir diye soruyor. Bunun için az önce yukarıda bulduğum expoliti deneyeceğim. İlgili expolit dizinine girip 46635.py’yi çalıştırıyorum.

Bir modül eksik olduğu için hata verdi hemen ilgili modülü kuralım. Makinenizde pip kurulu değilse öncelikle sudo apt-get install python-pip komutu ile kurmanız gerektiğini unutmayın.

İlgili modül kurulduğuna göre expoliti tekrar çalıştıralım.

Bu komut dosyasının düzgün çalışması için bir URL’ye, –crack seçeneğine ve bir kelime listesine ihtiyacı vardır. Şimdi bunları ayarlayalım. Not: Sürem yetmediği için makineyi tekrar deploy ettim bu nedenle IP adresi değişti  ve 10.10.230.171 oldu. 1 saat sonunda add 1 hour düğmesine tıklayıp 1 saat süre ekleyebilirsiniz. ben unuttum siz unutmayın.

***Eğer daha önce açmadıysanız meşhur rockyou kelime listesini gzip -d rockyou.txt.gz komutunu kullanarak açmanız gerektiğini unutmayın.

Evet mutlu son kullanıcı adı (mitch) ve parola (secret) bilgilerini elde ettik.

5. sorunun cevabı da “secret” olarak girebiliriz artık.

Bu bilgilerle SSH üzerinden giriş yapmayı deneyelim.

Kullanıcı adı olarak mitch kullandık. Gelen soruda tam olarak “yes” yazmalısınız. Sonra parola olarak “secret” yazdık ve makineye login olduk. 6. sorunun cevabı da ssh olarak bulunmuş oldu.

Şimdi de bayrağı (flag) bulalım. Ana dizinde bir user.txt dosyası bulduk. Cat ile içine bakalım.

7. sorunun da cevabını bulduk: “G00d j0b, keep up!”

Bir sonraki soruya geldi sıra. Ana dizinde başka kullanıcı var mı diyor. ls /home komutuyla baktık ve gördük: sunbath isimli başka bir user var. 8. sorunu cevabı olarak sunbath giriyoruz.

Şimdi sıra geldi 9. soruya. “What can you leverage to spawn a privileged shell?”

sudo -l komutunu kullanığımda vim programının parolasız ve root yetkisi ile çalıştığını söylüyor. Yanisi Vim root olarak çalıştırılabilir. Ve Vim’de bir kabuk oluşturmanıza izin veren bir seçenek var.

Bu arada 9. soruya cevap olarak “vim” yazıyoruz.

Şimdi sudo vim dosyasimi komutu ile vim’e giriş yapıyoruz. Dosya ismi olarak sgwebtr kullandım.

Şimdi vim’deyken  :!bash yazın ve entere basın.

Voila! root olduk. (Voila Fransızca işte demektir. Ortaokul ve Lisede Fransızca okumanın faydaları 🙂

Artık bayrağı ele geçirme zamanı.

Flag olarak W3ll d0n3. You made it! elde ettik. Bunun 10. sorunun cevabı olarak girelim.

Tebrikler!!!!!!!!!!!!!!

başka bir CTF çözümünde görüşmek üzere. Beğen paylaş devamı gelsin.

 

About The Author

3 Comments

  1. efesormus 10 Ağustos 2020 Yanıtla
  2. Kenan 18 Ocak 2021 Yanıtla
    • louise 18 Ağustos 2023 Yanıtla

Reply