Eğitim Danışmanlık

CTF: VulnHub- Basic Pentesting 1 Makine Çözümü

2 Kasım 20224 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ırmak ve root (kök ayrıcalıkları) elde etmektir.

Makinenin VulnHub sayfasındaki linki: https://www.vulnhub.com/entry/basic-pentesting-1,216/

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.7 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.7 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.7.

Burada 21 FTP, 22 SSH ve 80 HTTP portlarının açık olduğunu tespit ettik

4. HTTP portu açıksa ilk olarak tarayıcımıza 10.0.2.7 yazarak o adrese gidelim.

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.
Sayfanın kaynak kodlarını incelediğim zaman herhangi bir ip ucu çıkmadı.
O zaman bir de bu sayfanın alt dizinleri var mı onu kontrol etmem lazım.

5. Sayfanın alt dizinlerini kontrol ediyorum. Bunun için de 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.7 -w /usr/share/wordlists/MyLists/DirectoryListMedium.txt kodumu çalıştırınca alt dizinleri görmüş oldum. Buradaki /secret dizinini kontrol edelim.

6. http://10.0.2.7/secret/ adresine gittiğim zaman sayfanın düzgün görüntülenmediğini gördüm. Bu sorunu ortadan kaldırmak için kali linux makinemde bulunan /etc/hosts klasörüne bu ip adresini eklemem lazı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.
geany /etc/hosts diyerek sayfanın en altına web sitesini ekliyorum ve adrese gittiğim zaman bu defa web sayfasına sorunsuz bir şekilde ulaşabildiğimi görüyorum.

7. Web sitesinin bir wordpress sayfası olduğunu görüyorum. En altta metanın içinde login sayfasının olduğunu görü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.
Login diyerek kullanıcı giriş sayfasının geldiğini görüyorum

8. Elimde bir wordpress web sayfası varsa aklıma ilk olarak wpscan ile önce kullanıcı adını bulmak daha sonra da bu kullanıcının şifresini brute force yardımıyla ya da default şifreleri deneyerek giriş yapmak geliyor. O zaman wpscan ile ilk olarak kullanıcıları tespit edelim;

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.
wpscan --url 10.0.2.7/secret --enumerate u ilk olarak bu kodu çalıştırıyorum ve kullanıcının admin olduğunu görüyoru.

9. Şimdi de bulduğum bu kullanıcının şifresini bulmak için brute force yani kaba kuvvet saldırısı deniyorum. Bunu da wpscan ile yapacağım. Dilersek burpsuite gibi araçlar da kullanabiliriz. Ama wpscan wordpress sitelere karşı burpsuite' e göre çok hızlı çalıştığı için onu tercih ediyorum.

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.
wpscan --url 10.0.2.7/secret --usernames admin --passwords /usr/share/wordlists/MyLists/FastTrack.txt kodumu çalıştırdığım zaman şifrenin de admin olduğunu tespit ediyorum.

10. Şimdi web sayfasına giriş yapalım. Sorunsuz bir şekilde giriş yaptım.

11. Bu noktada birden fazla seçeneğimiz var. Ben msfconsole yardımıyla wordpress sayfasının zafiyetini kullanarak sisteme sızmayı deneyeceğim.

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.
Burada msfconsole' u başlattıktan sonra search wp_admin komutunu çalıştırınca bir exploit olduğunu görüyorum.

12. Şimdi bunu kullanarak sisteme sızmayı deneyelim 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.
use exploit/unix/webapp/wp_admin_shell_upload komutunu kullanarak exploit' i seçiyorum
Daha sonra show options komutu ile seçenekleri görüntülüyorum. Burada yes olan seçenekleri doldurmamız gerekiyor.

13. Şimdi msfconsole' un set komutunu kullanarak gerekli olan bölümleri dolduralı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.
set PASSWORD admin
set RHOSTS 10.0.2.7
set TARGETURI /secret
set USERNAME admin

show options diyerek son kez değişiklikleri kontrol ediyorum ve run diyerek saldırımı başlatıyorum.

14. Run dedikten sonra meterpretter sessionumu almış oldum

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.
Şimdi shell diyerek diğer komut satırına geçiyorum.

15.

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.
Düzenli ve kararlı shell' i almak için python3 -c "import pty;pty.spawn('/bin/bash')" kodumu yazıyorum. Artık kararlı shell' e sahibim.

16. İlk olarak /home dizinin altına gidiyorum ve burada marlinspike diye bir kullanıcının olduğunu görüyorum. Dizinin içinde gezince burada bir bilgi olmadığını görüyorum.

17. Daha sonra /etc/shadow dosyasını cat le okuyorum ve burada kullanıcının şifre bilgisinin hash' li halini buluyorum.

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.
cat /etc/shadow komutu ile marlinspike' ın şifresinin hash' li halini gördük.

18. Şimdi bulduğumuz bu hash' i John kullanarak kırmaya çalışalım. Masaüstüne hash.txt diye bir döküman açıyorum ve bu hash' i oranın içine yapıştırı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.

19. Her şey hazır. O zaman John' u çalıştıralım artık ve şifreyi bulalı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.
john hash.txt kodunu çalıştırınca şifrenin de marlinspike olduğunu görüyorum. Aslında admin, admin' den tahmin etmeliydim :)

20. O zaman şimdi marlinspike kullanıcı yetkisine çıkalı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.
su marlinspike
Şifre soruyor ona da marlinspike yazıyorum ve artık marlinspike kullanıcı yetkisine sahibim

21. Şimdi marlinspike yetkisiyle neler yapabileceğimi görmek için ilk olarak sudo -l komutunu kullanalı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.
(ALL : ALL) ALL ' u görünce iş bitti diyebiliriz artık.

22. Artık sudo su komutu ile root yetkisine sahip olabiliriz.

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.
sudo su komutu ile root yetkisine sahip olduk artık.

Böylece makinenin amacına ulaşmış olduk. Artık root yetkisine sahibiz.


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