HackerVadisi Makine Çözümü | PwnlabmeCTF 2025

  • Konbuyu başlatan Konbuyu başlatan mel4mi
  • Başlangıç tarihi Başlangıç tarihi

mel4mi

Team Member
Katılım
24 Ocak 2024
Mesajlar
5
Tepkime puanı
9
Puanları
3
Merhabalar,
Bugün sizlerle HackerVadisi makinesinin çözümüne bakacağız.

İlk olarak makineyi tanımak adına nmap komutunu çalıştıracağım:

Bash:
nmap -A -F 192.168.1.106

1.png

Çıktıları kontrol ettiğimizde 5000. port ilgimi çekiyor. Ayrıca 80. portta varsayılan Apache sayfasını incelediğimizde içerisinde pek bir şey olmadığını görüyoruz.

2.png

Siteyi ziyaret ettiğimizde karşımıza bir video sunumu çıkıyor. Öncelikle şunu belirtmekte fayda var: Bu makine, çözüm sürecinde çıkan videolarla daha hikayesel ve sinematik bir deneyim sunmak için tasarlandı. Umarım bu fikri beğenirsiniz.

3.png

İlk sayfamızda bizi bir PDF dosyası karşılıyor. Açıklamaya baktığımızda Testere Necmi’yi ele geçirmemiz gerektiği belirtilmiş ve Testere Necmi’nin adresi gizli bir şekilde verilmiş. Bu adresi ortaya çıkarmak için kullanabileceğiniz yöntemlerden biri strings komutudur. PDF dosyasını local’inize indirip aşağıdaki komutu çalıştırabilirsiniz:
Bash:
strings cok_gizli.pdf | grep -i path
4.png

Bu işlem sonucunda bir yat adresi konumu elde ettik. Şimdi bu adresi ziyaret edelim.

5.png

Siteye baktığınızda gözle görülür bir şey bulamıyoruz. Ancak Burp Suite ile arkada dönen paketleri kontrol ettiğimizde gizlice bir JWT cookie’si verildiğini fark ediyoruz. Şimdi bu cookie’yi inceleyelim.

6.png


jwt.io:
7.png

Cookie içinde iki parametre olduğunu görüyoruz: Birisi Kullanıcı_adı (necmi olarak verilmiş), diğeri ise Konsey_üyesi_mi (hayır olarak verilmiş).

Bu noktada, cookie üzerinde çeşitli saldırılar deneyebilirsiniz. Bizim için çözüm niteliği taşıyan yöntem, cookie’nin secret key’ini bulmak olacak. Bunun için JWT’nin hash’ini çıkartıp Hashcat ile kıracağız. Aşağıdaki komut işimizi görecektir:

Bash:
hashcat -a 0 -m 16500 jwt.txt /usr/share/wordlists/rockyou.txt

9.png

JWT’ye ait secret key’i bulduk. Şimdi member_of_council: "True" olarak değiştireceğiz ve secret key ile imzalayacağız. Oluşturduğumuz cookie’yi tarayıcımıza ekleyip sayfayı yeniliyoruz.

10.png



11.png

Gördüğünüz gibi konseyin arşivine sızmayı başardık. Burada birkaç fotoğraf ve bir fotoğraf yükleme kısmı bulunuyor. Her hacker gibi bizim de ilk aklımıza gelen şey fotoğraf yükleme kısmına bir reverse shell yüklemeyi denemek oldu.

Reverse shell’i hazırlayıp sayfaya yüklüyoruz.

12.png

Gördüğünüz üzere karşı makineden shell almayı başardık. Hemen home dizininden user flag’ı okuyabiliriz. Artık son aşama olan yetki yükseltme işlemi kaldı. Bunun için öncelikle sudo yetkisi verilmiş programları arayacağız:

Not: Aldığımız shell şuan biraz çirkin. Bunu düzeltmek için [python3 -c 'import pty; pty.spawn("/bin/bash")' ]

Home dizini altından user flagı okuyabilriz.

13.png


Bash:
sudo -l

14.png

Gördüğünüz üzere find komutuna sudo yetkisi verilmiş. Şimdi GTFOBins sitesini ziyaret ederek find komutunu sömürmenin yollarını inceleyeceğiz.

15.png

Aşağıdaki komutu çalıştırarak root yetkisi alabiliyoruz:

Bash:
./find . -exec /bin/sh -p \; -quit

Son olarak root dizinindeki flag’i okuyoruz.

17.png

Umarım makineyi beğenmişsinizdir. Sinematik CTF için yorum ve eleştirilerinizi beklerim.


Saygılarımla,
Mel4mi
 

Ekli dosyalar

  • 6.png
    6.png
    120 KB · Görüntüleme: 4
Geri
Üst