Eğitim Danışmanlık

CTF: VulnHub- ConnectTheDots Makine Çözümü

4 Kasım 20223 dakika okumaEğitim DanışmanlıkSiber Güvenlik

Makine Hakkında Bilgiler

Bu makinenin çözümü için önerilen platform VirtualBox‘ dır.

Makinenin amacı makineye saldırarak 2 adet bayrağı ele geçirmek

Makinenin VulnHub sayfasındaki linki: https://www.vulnhub.com/entry/connect-the-dots-1,384/

O zaman hadi makineyi çözmeye başlayalım


Makinenin Çözüm Adımları

1. İlk olarak saldırı yapacağımız yani kendi sanal makinemizin ip adresini öğreniyoruz.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
ifconfig komutu ile ip adresimizi öğreniyoruz. 10.0.2.6 olduğunu tespit ettik.

2. Şimdi de saldırı yapacağımız hedefi tespit etmemiz lazım. Bunun için netdiscover kullanacağım.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
netdiscover -r 10.0.2.0/24 komutu yardımıyla hedefin 10.0.2.20 ip adresine sahip olduğunu keşfettik.

3. Şimdi makine hakkında bilgiler elde etmek adına nmap komutunu çalıştıracağım.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
nmap -n -Pn -A -sV -sC -p- 10.0.2.20 komutunu çalıştırıyorum.
Buradaki parametreleri incelersek;
-n: DNS çözümlemesi yapma demek.
-Pn: Pingleri devre dışı bırakma.
-A: Agresif tarama yap.
-sV: Açık portta çalışan servisin ne olduğunu bulmaya çalışır.-sC ile birlikte kullanılırsa işe yarar.
-sC: -sV ile versiyon tespiti yaparken nmap scriptlerini kullanır.
-p-: 65535 portun hepsini tarar.
En sonda da hedef sistemin ip adresi yani 10.0.2.20

21 ftp, 80 http,111 rpcbind, 2049 nfs_acl, 7822 ssh, 34601 nlockmgr, 34695 mountd, 48877 mountd, 57139 mountd portları açık.

4. Tarayıcıma 10.0.2.20 yazıyorum ve makinenin web sitesine gidiyorum.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
Hem sayfada hem de kaynak kodlarında herhangi bir ip ucu bulamadım.

5. Sayfanın alt dizinlerini tarayacağım. Bunun için gobuster kullanacağım.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
gobuster dir -u 10.0.2.20 -w /usr/share/wordlists/MyLists/DirectoryListMedium.txt
Burada ilk gözüme çarpan index.htm yani html değil. Hemen oraya gidiyorum ve kaynak kodlarını inceliyorum.

6. Kaynak kodlarını inceliyorum.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
Kaynak kodlarını inceleyince norris diye bi kullanıcı var ve bide /mysite da scriptlerin düzgün çalışmadığına dair bir açıklama satırı var.

7. /mysite dizinine gidiyorum

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
İp ucunda söylediği gibi sitenin görüntülenmesinde sorun varsa cs ya da js dosyalarını incelemem lazım. İlk olarak cs dosyasını indiriyorum kali bilgisayarıma.

8. Burada da jsfuck ile karşılaştık. Daha önceki CTF' lerde de brainfuck ile karşılaşmıştık. (https://www.ongsec.com/ctf-vulnhub-deathnote-makine-cozumu/)

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
Dosyanın içeriğini düzenliyorum ve kaydediyorum.
İçeriği düzenlerken burada var=a,b1 falan var onları ve boşlukları bir de satır sonlarındaki tırnak işaretlerini sileceğim bir de en alttaki kodu.

9. O zaman artık bu kodu çözmek için google' a gidiyorum ve jsfuck decoder diye aratıyorum.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
İçeriği yapıştırdığım zaman şifrenin TryToGuessThisNorris@2k19 olduğunu öğreniyorum. Kullanıcı adım da norris di zaten artık ssh bağlantısı yaparak sisteme giriş yapabilirim diye düşünüyorum :)

10. Normalde ssh' a bağlanırken default olarak 22 de olduğu için port belirtmeme gerek yoktu. Ama burada belirtmek zorundayım.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
ssh norris@10.0.2.20 -p 7822 kodunu yazarak sisteme giriş yapmayı başardım.

11. İlk bayrağımızı alalım o zaman

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
İlk bayrağımız: 2c2836a138c0e7f7529aa0764a6414d0

12. Şimdi izinlerime bakıyorum

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
find / -perm -u=s -type f 2>/dev/null kodumuzu yazarak izinlerimizi görüntülüyoruz.
Bunları https://gtfobins.github.io/ sitesinden yardım alarak deniyorum ve buradan bir sonuç alamıyorum.

13. Sudo ve suid izinleri için hep şifre soruyor bundan dolayı başka bir kod araştırıyorum

/sbin/getcap -r / 2>/dev/null

Burda karşıma /usr/bin/tar = cap_dac_read_search+ep bu geldi

Tar biliyorum ki arşive alma ve arşivden çıkarmaya yarıyor

/usr/bin/tar -cvf berat.tar /root/ root dizininin hepsini berat.tar yaparak almış oldum

E artık tek yapmam gereken bunu tardan çıkarmak

tar -xvf berat.tar diyip tardan çıkartıyorum

14. Artık root bu dizinimin içinde de var.

cd root diyorum ve cat root.txt diyorum

Root bayrağıma da ulaşmış oluyorum: 8fc9376d961670ca10be270d52eda423


Sızma testi alanında eğitimler alarak kendinizi ya da kurum personellerinizi geliştirmek istiyorsanız bizimle iletişime geçebilirsiniz.

Diğer CTF çözümlerinde görüşmek üzere. Bizi takip etmeye devam edin…

Bu konuda destek

Yazdıklarımız iş yaparken üretilmiş notlardır. Kurumunuz için aynı işi yapabiliriz.

Uzmanla görüşün

Başlayalım

Projenizi konuşalım.

İlk görüşme bir keşif toplantısıdır, satış sunumu değil. Kurumunuzun kendi ortamında yapılacak kısa süreli bir pilot çalışma veya kavram doğrulama (PoC) ile yetkinliğimizi doğrudan değerlendirebilirsiniz.

Teklif formunu doldurun

WhatsApp