Merhabalar,
Bugün sizlerle HackerVadisi makinesinin çözümüne bakacağız.
İlk olarak makineyi tanımak adına nmap komutunu çalıştıracağım:
Çı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.
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.
İ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:
Bu işlem sonucunda bir yat adresi konumu elde ettik. Şimdi bu adresi ziyaret edelim.
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.
jwt.io:
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:
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.
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.
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.
Gördüğünüz üzere find komutuna sudo yetkisi verilmiş. Şimdi GTFOBins sitesini ziyaret ederek find komutunu sömürmenin yollarını inceleyeceğiz.
Aşağıdaki komutu çalıştırarak root yetkisi alabiliyoruz:
Son olarak root dizinindeki flag’i okuyoruz.
Umarım makineyi beğenmişsinizdir. Sinematik CTF için yorum ve eleştirilerinizi beklerim.
Saygılarımla,
Mel4mi
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
Çı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.
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.
İ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
Bu işlem sonucunda bir yat adresi konumu elde ettik. Şimdi bu adresi ziyaret edelim.
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.
jwt.io:
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
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.
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.
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.
Bash:
sudo -l
Gördüğünüz üzere find komutuna sudo yetkisi verilmiş. Şimdi GTFOBins sitesini ziyaret ederek find komutunu sömürmenin yollarını inceleyeceğiz.
Aşağıdaki komutu çalıştırarak root yetkisi alabiliyoruz:
Bash:
./find . -exec /bin/sh -p \; -quit
Son olarak root dizinindeki flag’i okuyoruz.
Umarım makineyi beğenmişsinizdir. Sinematik CTF için yorum ve eleştirilerinizi beklerim.
Saygılarımla,
Mel4mi