Vulnhub Mr.Robot Walkthrough



  Herkese merhabalar, bu yazıda ilk defa bol bol yardım alarak da olsa çözdüğüm zaafiyetli makine olan Mr.robot'un çözümünü dilim döndüğünce anlatmaya çalışacağım.Şimdiden söyleyeyim, siber güvenlik alanında yeni olduğumdan dolayı yanlış yerler veya terimler görürseniz bana yorumlarda filan yazarsanız iyi olur ki ben de yanlışları tekrar etmemeye çalışayım :) Neyse yavaştan başlayalım.

 Öncelikle bu zaafiyetli makineyi https://www.vulnhub.com/entry/mr-robot-1,151/ adresinden ova dosyası olarak indirip virtualbox, vmware gibi bir sanallaştırma ortamına kuruyosunuz. Ben virtualbox üzerinden yaptım. Ardından saldırı yaparken kullanacağınız makine ile aynı networkte olması için network ayarlarını ayarlıyoruz(ben saldırı olarak kali kullandım). Makineleri nat networke alarak ikisini aynı ağda kullanmayı tercih ettim.

  Öncelikle bu makineye saldırmak için ip adresini öğrenmemiz lazım. Bunun için ben kendi makinemin bulunduğu ip aralığında nmap taraması yaparak ip adresini buldum.

 Ardından makinede çalışan servisleri ve versiyonlarını öğrenmek için -sV ile bi tarama daha yaptım. Aslında bunu tek tarama ile yapmak daha mantıklı tabii.


  Burada ilk gözüme çarpan 80 portu oldu. Hemen ne var ne yok diye tarayıcıdan gittim baktım. Karşıma bi tane terminal ekranı benzeri bir sayfa çıktı. Burada tanımlı komutları vs. yazıyo ekranda. Biraz kurcaladım ama bir şey çıkmadı. Ben de dirb ile siteye tarama yaptım nereler varmış bir bakalım diye.


Dirb bana uzuuuunca bir liste çıkardı ve burada dikkatimi çeken 2 nokta oldu. İlk olarak robots.txt dosyası vardı.Ayrıca wp-admin.php ve benzeri wordpress sayfaları bulunuyordu. Önce tabii ki robots.txt ye baktım ve bizi 2 tane dosya karşıladı.



 Bu dosyaları curl kullanarak alıp içlerine baktım.

   Evet birinci anahtarımızı bu şekilde almış olduk. Ayrıca yanında da bir wordlist dosyası çıktı. Bu wordlisti açınca farkettim ki bazı kelimeler tekrar tekrar  yazılmış ve tam 800 küsür bin satır var dosyada (wow!). Hemen bu satırları temizledim.

sort liste.txt | uniq > liste2.txt

  Bunu nasıl veya nerede kullanacağımı düşünürken wordpressden admin paneline girmeyi düşündüm. Daha önce hiç bu tarz bir şey denemediğim için internette araştırdım biraz ve wpscan kullanmam gerektiğini anladım. Farklı yöntemleri de vardır elbette ama en çok bu araç kullanılıyor sanırım.
   İşte benim için dananın kuyruğu burada koptu diyebilirim çünkü bu aracı ilk defa kullanıyor olmam ve internette baktığım örneklerde de hep eski versiyondaki parametrelerin verilmesinden dolayı (ayrıca nasıl yaptığımı bilmeden aracı silip tekrar yükleyemeyince sıfırdan kali kurdum :D ) rahat bi 4 saat filan bununla uğraşmışımdır. (Bir toolu kullanmayı beceremiyosan help komutunu kullanacaksın, bunu öğrenmiş olduk geç de olsa) Dedim madem bu eleman çalışmayacak, nasıl olsa burp suite var onunla koyarım intrudera kendisi patlatır şifreyi diye düşündüm. (Bu arada kullanıcı adı "elliot" idi. Zaten diziyi izleyen veya kulak aşinalığı olanlar bilir karakterin elliot olduğunu, deneme yanılma ile bulundu kullanıcı adı da. ) Koydum burpsuite intrudera, ben oyalanırken bulur dedim ancak nerdeyse 1.5 saat sonunda 500 tane deneme yapmıştı. Böyle giderse kaç gün sürer bu diyerek tekrar wpscan ile ilgili araştırma yaptım ve sonunda doğru parametreler ile sonuç elde edebildim.



wpscan denen bu pek maharetli tool burpun deneye deneye bitiremediği listenin yarısında şifreyi buldu ve bu neredeyse 2.5 dk civarı sürdü.Şifremiz ER28-0652 imiş. Bunu hemen admin panelimize yazıp giriş yapıyoruz.


  Eskiden okuduğum blok yazılarından vs. aklımda kaldığı için php dosyası ile reverse shell alınabiliyordu diye hatırladım. İnternette bakınca https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php adresinden  php dosyasındaki kodları kopyaladım. Ardından bunları siteye upload etmemiz lazım, bunu yaparken de sol taraftaki menüden appearance kısmından editöre geliyoruz ve sağ tarafta istediğimiz bir php sayfasını editleyip kopyaladığımız kodlarımızı yapıştırıp kaydediyoruz. Bu arada aldığımız kodda ip ve port bölümünü kendi ip adresimiz ve dinlemek istediğimiz port ile değiştirmeyi unutmamamız lazım. Ben 6000 portu üzerinden dinledim. Şimdi bu sayfayı kaydettikten sonra kali makinemizde netcat ile 6000 portunu dinlemeye başlıyoruz.


  Dinlemeye başladıktan sonra tarayıcımızdan 404.php sayfasına gidiyoruz ve bize reverse bağlantı geliyor.Şimdi bizim 3 anahtarımız vardı ve ilkini bulmuştuk. Oradaki isimlendirmeyi hatırlarsanız key-1-of-3.txt ismindeydi. O zaman sonraki anahtar da key-2-of-3.txt olacaktır diye düşünüp arama yapıyorum ancak bulunan dosyaya okuma iznim yok.


 
  Ayrıca bu dosyanın bulunduğu dizinde bir adet de md5 hash bulunduran bir dosya var. Bu hashi bir online tool ile decode edip buluyorum.Bu muhtemelen robot kullanıcısının şifresi fakat kullanıcı geçişi yapmak için terminalde olmam gerekiyor. Burada da google amcaya başvurup python ile geçiş yapmak için yazılan kodu buluyorum ve geçiş yapıp robot kullanıcısını alıyorum.


 İkinci anahtarı da bu şekilde alıyoruz ve ardından 3. anahtarı almamız gerekiyor. Açık söylemek gerekirse burada benim bilgi seviyem yetmedi ama internetten bakarak bir kaç şey denedim ve erişebileceğimiz yerleri servisleri listelediğini düşündüğüm (evet kullanırken ne yaptığını pek anlamamıştım :D) ve denediğim komut ile sistemde nmap olduğunu gördüm.


 Önceden okuduğum bi writeupda nmap'in bazı sürümlerinde root olmayı sağlayan açık olduğunu okumuştum ve hemen internetten bunun ne olduğuna bakıp denedim.


 Ve işte 3. key de geldii :)

   Umarım işe yarar bir yazı olmuştur.Başta da yazdığım gibi pek tecrübeli değilim bu yüzden bol bol internetten bakıp yaptım denebilir ancak bana faydası olduğu kesin. Yazım yanlışı vs. olduysa affola. Bir sonraki yazıda görüşmek üzere, hoşçakalın.




Yorumlar

Bu blogdaki popüler yayınlar

rgbCTF Writeup(Rev/Pwn)

Overthewire Bandit Çözümleri