Unknowndevice64 Vulnhub Makine Çözümü

Merhabalar öncelikle hepinize iyi günler dilerim. Bugün vulnhub'tan bulmuş olduğum yapımcısı tarafından "medium" seviye olarak derecelendirilmiş makinenin çözümünü göstereceğim. Makineyi bu bağlantıdan indirerek siz de çözüme bakmadan önce kendiniz uğraşabilirsiniz. Hadi başlayalım.


Öncelikle bulunduğumuz ağda saldıracağımız makinenin ip adresini öğrenmemiz gerek. Makine ile aynı ortamda bulunduğumuz için olduğumuz ip bloğunu tarayabiliriz.


"netdiscover -r 192.168.1.0/24" komutu ile taramayı başlatalım


Makinemizin Ip adresi 192.168.1.21 olarak tespit ettik. Şimdi üstünde çalışan servisleri tespit etmemiz lazım. "nmap -sV -sC -p- --min-rates 1000 --max-retries 5 192.168.1.21" komutuyla nmap ile tüm portları detaylı bir şekilde tarayalım


Çalışan servislere baktığımızda 31337.port dikkatimizi çekebilir. SimpleHttpServer Python tabanlı çalışan http servisidir. Tarayıcımızın url adresine yazdığımızda karşımıza şu şekilde bir websitesi çıkıyor.


İpucu aramak için sitenin kaynak kodlarına bakalım

Sitenin kaynak kodları kısmında yorum satırları içine alınmış "key_is_h1dd3n.jpg" isimli bir dosya ipucu olarak bırakılmış. Url'ye yazdığımızda bizi bu fotoğraf karşılıyor

 Wget programı ile resmi çalışma ortamımıza indirebiliriz


 Resimdeki anahtar kelimeye bakacak olursak resmin içine bir şey gizlenmiş olabilir. Resmin içine herhangi bir dosya şifreleme işlemine steganografi denir. Parrot işletim sisteminde hem resmin içine dosya saklamayı hem de dosya çıkarmayı sağlayan bir program bulunur "steghide"

Parametreler:
extract ---> Dosya çıkarma işlemi
-sf ------> Hangi dosya için işlem yapılacak

 
Tabii ki steganografi yapılırken dosyayı saklamak için mutlaka bir şifre kullanılmalıdır. Şifre hakkında bir ipucu bulabilmek için siteye geri dönelim. Siteye baktığımızda aşağıda "h1dd3n" kırmızı renkle belirtilerek yazılmış.



Şifre olarak denediğimizde ise BUM!!! Dosyayı açtık


Dosyayı "cat" ile açalım bizi birtakım karakterler karşılamaktadır. Bu karakterler 1993 yılında Urban Müller tarafından yaratılan "Brainfuck" programlama dilidir :)). Detaylı bilgi için bağlantıya tıklayabilirsiniz.

İnternetten Brainfuck decoder yazarak online olarak bu karakterleri düz metine çeviren siteler bulabiliriz. Bu siteden decode edip metni elde edebiliriz.


Sol tarafta decode edilmiş metin duruyor. Kullanıcı adı ve şifreye benziyor. Hatırlarsanız hedef makinemizde ssh servisinin çalıştığını tespit etmiştik. Ssh kullanarak hedef makineye bağlanmayı deneyelim.


 BUMMM!!! 👊 İçeriye girdik fakat "ls -la" ile dosyaları görüntülemek istediğimizde bize "/" karakterenin yasaklı olduğunu ve kullandığımız kabuğun "rbash" olduğunu söylemektedir 🙁. Bu kabuk bize çok kısıtlı komutlar sunmaktadır. Devam edebilmemiz için kabuğumuzu bash'e yükseltmemiz lazım. Ssh -t parametresi bize hedef makine üzerinde program çalıştırmamızı sağlar.



Örnekte de göreceğimiz gibi hedef makinede dosyaları görüntüleyebildik. Aynı işlemi bash alabilmek için uyguladığımızda


TaDaaaa 👍. Artık içerideyiz ve güzel bir kabuğumuz var. Hemen yetki yükseltme (Privilege Esclation) işlemine geçelim. "sudo -l" komutunu kullanarak ud64 kullanıcısının sudo konfigürasyonuna bakalım.


Evet konfigürasyon bize parola istemeden root yetkisi ile sysud64 programını çalıştırabileceğimizi söylüyor. Sysud64 -h yazarak programın ne olduğuna bakalım.


sysud64 programı linux'ta var olan strace programını çalıştırdığını görebiliriz. Strace linux sistemlerde çalışan programları izleme, açma, kapatma gibi işlemler ile istediğiniz program hakkında bilgi almanızı sağlar."sysud64 -o ls /bin/bash" komutu ile ls işleminden sonra hemen /bin/bash işlem görür ve bize root olarak oturum açmamızı sağlar. 


Artık /root dizinine girip "cat" ile flag.txt dosyasını açabiliriz.



Böylelikle CTF serimizin ilk bölümünü tamamlamış olduk. Umarım yeni ve önemli bilgiler öğrenmişsinizdir. Yeniden görüşmek üzere hoşçakalın ✋


Yorumlar