Selamlar arkadaşlar. Bugün THM'de yer alan 'Magician' adındaki zafiyetli sistemi çözeceğiz. İyi okumalar.
Makine Linki: Tıkla
Zorluk: Easy
Bu makinenin başında özellikle not döşülmüş. Verilen ip adresini 'hosts' dosyasına yazıp kaydetmenizi istiyor. Daha sonra işlemlerimize devam ediyoruz
Her zamanki gibi makinemizi 3 adımda çözeceğim.
1-Bilgi Toplama
Her zamanki gibi işlemlerime ilk nmap taraması ile başlıyorum
Çıktımız şu şekilde oluyor
Açık olan 2 tane portumuz var. 21. ve 8081. portlar. Detaylı baktığımız zaman 8081. portta bir http servisinin çalıştığını görüyoruz. Web servisine gitmeden önce FTP portunda ziyaretçi girişinin olup olmadığına bakalım.
FTP servisinde ziyaretçi girişi açıkmış fakat uzun bir bekleyişten sonra ftp deziyaretçi kullanıcısı olarak bir yetkimiz yokmuş. Fakat içeride bize bir mesaj bırakılmış
Verdiği ipucunda geç girme sebebimizin sistemdeki bir dosyadan kaynaklı olduğunu söylüyor. Ve bize bir site veriyor.
Siteyi ziyaret ettiğimizde böyle bir sayfa bizi karşılıyor.
'Image Magick' adındaki bir zafiyetten bahsediyor. Hemen aklımıza bunu nasıl kullanacağımız sorusu geliyor. Sitenin alt taraflarına doğru kullanımı yazılmış fakat biz daha iyi anlaşılması açısından metasploit üzerinden gideceğiz.
Metasploiti açtıktan sonra ilk önce kullanacağımız exploiti bulmamız gerekli.
Çıkan sonuçlardan aramamızla uyuşan tek bir exploitin olduğunu görüyoruz. Kullanmak için 'use' komutunu kullanmamız yeteli.
Exploitimizi seçtikten sonra ayarlarını kontrol etmemiz gerekli.
Burada bizim değiştireceğimiz iki tane bölüm bulunmakta. Birinci bölüm 'LHOST' diğeri ise target kısmından dosya uzantımız.
İp yi değiştirme sebebimiz hali hazırda bir vpn kullandığımız için aktif olan ip adresimizi girmemiz gerekli.
Terminale bu komutu yazdıktan sonra 'tun0' bölümündeki ip adresimizi alıp şu komutu kullanıyoruz.
Daha sonra dosya uzantımızı değiştirmemiz gerekli.
Komutlarımızı girdikten sonra son kez bir kontrol etmek için yine 'options' komutunu kullanıyoruz. Baktığımızda tüm değişikler olduysa son görüntü şu şekilde olmalı.
Tüm ayarlarımızı yaptıktan sonra 'run' komutu ile exploitimizi oluşturuyoruz.
Resmin alt kısmından göreceğiniz üzere exploitimizin oluşturulduğu konumu bize söylüyor.
Tamam exploitimiz artık hazır şimdi napıcaz. Şimdi ise nmap taramamızdan ikinci sırada çıkan porttaki http servisine gidip biraz daha bilgi toplayacağız.
Sitemize gittiğimizde bizi bir upload paneli karşlıyor. Buradanda anlıyoruz ki az önce oluşturduğumuz exploiti sisteme yüklemek o kadar da zor olmayacak
2- Sızma
Dosyamızı upload etmeden önce yeni bir teminal açıp seçtiğimiz portu dinlememiz gerekli.
Daha sonra dosyamızı yükledikten sonra shellimiz otamatik olarak gelecektir.
Şimdi aldığımız shelli öncelikle kullanışlı bir shell haline getirmemiz gerekli. Yazmış olduğum komutlar sırasıyla şu şekilde olucak.
Makine Linki: Tıkla
Zorluk: Easy
Bu makinenin başında özellikle not döşülmüş. Verilen ip adresini 'hosts' dosyasına yazıp kaydetmenizi istiyor. Daha sonra işlemlerimize devam ediyoruz
Her zamanki gibi makinemizi 3 adımda çözeceğim.
1-Bilgi Toplama
Her zamanki gibi işlemlerime ilk nmap taraması ile başlıyorum
Kod:
nmap -T4 -sV -v İP
Çıktımız şu şekilde oluyor
Açık olan 2 tane portumuz var. 21. ve 8081. portlar. Detaylı baktığımız zaman 8081. portta bir http servisinin çalıştığını görüyoruz. Web servisine gitmeden önce FTP portunda ziyaretçi girişinin olup olmadığına bakalım.
FTP servisinde ziyaretçi girişi açıkmış fakat uzun bir bekleyişten sonra ftp deziyaretçi kullanıcısı olarak bir yetkimiz yokmuş. Fakat içeride bize bir mesaj bırakılmış
Verdiği ipucunda geç girme sebebimizin sistemdeki bir dosyadan kaynaklı olduğunu söylüyor. Ve bize bir site veriyor.
Siteyi ziyaret ettiğimizde böyle bir sayfa bizi karşılıyor.
'Image Magick' adındaki bir zafiyetten bahsediyor. Hemen aklımıza bunu nasıl kullanacağımız sorusu geliyor. Sitenin alt taraflarına doğru kullanımı yazılmış fakat biz daha iyi anlaşılması açısından metasploit üzerinden gideceğiz.
Kod:
msfconsole -q
Metasploiti açtıktan sonra ilk önce kullanacağımız exploiti bulmamız gerekli.
Kod:
search exploit_ismi
Çıkan sonuçlardan aramamızla uyuşan tek bir exploitin olduğunu görüyoruz. Kullanmak için 'use' komutunu kullanmamız yeteli.
Kod:
use 3
Exploitimizi seçtikten sonra ayarlarını kontrol etmemiz gerekli.
Kod:
opitons
Burada bizim değiştireceğimiz iki tane bölüm bulunmakta. Birinci bölüm 'LHOST' diğeri ise target kısmından dosya uzantımız.
İp yi değiştirme sebebimiz hali hazırda bir vpn kullandığımız için aktif olan ip adresimizi girmemiz gerekli.
Kod:
ifconfig
Terminale bu komutu yazdıktan sonra 'tun0' bölümündeki ip adresimizi alıp şu komutu kullanıyoruz.
Kod:
set LHOST ip
Daha sonra dosya uzantımızı değiştirmemiz gerekli.
Kod:
set targets 1
Komutlarımızı girdikten sonra son kez bir kontrol etmek için yine 'options' komutunu kullanıyoruz. Baktığımızda tüm değişikler olduysa son görüntü şu şekilde olmalı.
Tüm ayarlarımızı yaptıktan sonra 'run' komutu ile exploitimizi oluşturuyoruz.
Resmin alt kısmından göreceğiniz üzere exploitimizin oluşturulduğu konumu bize söylüyor.
Tamam exploitimiz artık hazır şimdi napıcaz. Şimdi ise nmap taramamızdan ikinci sırada çıkan porttaki http servisine gidip biraz daha bilgi toplayacağız.
Sitemize gittiğimizde bizi bir upload paneli karşlıyor. Buradanda anlıyoruz ki az önce oluşturduğumuz exploiti sisteme yüklemek o kadar da zor olmayacak
2- Sızma
Dosyamızı upload etmeden önce yeni bir teminal açıp seçtiğimiz portu dinlememiz gerekli.
Kod:
nc -nlvp 4444
Daha sonra dosyamızı yükledikten sonra shellimiz otamatik olarak gelecektir.
Şimdi aldığımız shelli öncelikle kullanışlı bir shell haline getirmemiz gerekli. Yazmış olduğum komutlar sırasıyla şu şekilde olucak.
Kod:
python -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm
CTRL + Z(Klavyeden)
stty raw -echo &&fg(Kendi Kalimizde)
stty -a (Kendi kalimizde )
stty rows X column Y(Hedef Sistemde)
Not: Burada x ve y değerleri kendi sistemimizde 'stty -a' komutunu çalıştırdığımız rows ve columns değerleri olucaktır.
Artık Shellimizi aldık. İlk olarak home klasörünün altından user.txt bayrağını almamız gerekecek.
Evet artık usr.txt dosyasını okuduk sırada yetki yükseltme kısmı var.
3- Yetki Yükseltme
/home/magician klasörünün altında 'the_magic_continues' adında bir dosya var. İçinde bir şey yazıyormu diye kontrol etmekte fayda var.
Kod:
cat the_magic_continues
Ve burada bir ipucunu daha almış oluyor. Burada sihirbazın elinde yerel olarak dinleyen bir kediden bahsediliyor. Hemen aklımıza local hostta dinlenen portlara bakmak geliyor.
Kod:
netstat -tulpn
Localhostda 6666. portta bir dinleme olduğunu görüyoruz. Hemen 'curl' yardımıyla bu portta ne dinlendiğine bakalım.
Kod:
curl localhost:6666
Burada bizi bir html içerik karşılıyor içini okuduğumuz zaman cat komutunu çalıştıran bir site olduğunun farkına varıyoruz.
Buradaki yetkimizi kontrol edemeyeceğimizden farkına varmak için direk root.txt dosyasını çekmeye çalışıcam.
Kod:
curl -X POST http://127.0.0.1:6666/ -d "filename=/root/root.txt"
Komutumuzu girdikten sonra sayfamızın alt kısmında root.txt bayrağı bize veriliyor.
Biz dosyamızın içinde yazanı aldık fakat dosya biçimi istediğimiz gibi değil. Burasıda biraz tecrübeyle geliyor. Bize verilen encrypt datanın öncelikle hangi algoritma olduğunu bulmamız gerekli.
Bu kısımda sonradan fark ettiğim bir olay oldu. Biz her isteği gönderdiğimizde gelen sonuçtaki flag farklı algoritmalarla şifreleniyor. Yani ilk yaptığımızdaki şifreleme ile ikinci gönderdiğimiz isteğin dönüşündeki şifreleme aynı değil.
Bunun için kolay kırabileceğimiz bir şifre algoritmasıda koymuşlar.
2. isteğimizdeki dönen yanıttaki şifreleme algoritması base 64. Bunu hemen kendi terminalimizden decrypt edebiliriz.
Kod:
echo 'Hash' | base64 -d
Evet arkadaşlar bir ctfin daha sonuna gelmiş bulunmaktayız. Umarım güzelce anlatabilmişimdir. Sorularınız olursa bana direk sorabilirsiniz. İyi forumlar dilerim.