top of page

Cap Htb Writeup

Yazarın fotoğrafı: Songül ÖZÜGÜRLER
Songül ÖZÜGÜRLER
28 Nis
2 dakikada okunur

Cap Htb Writeup

Cap Htb Writeup

CTF’lere kısa bir ara verdikten sonra Cap makinesini çözmek, enumeration’ın neden en güçlü silah olduğunu tekrar hatırlattı. İlk bakışta basit görünen makine, dikkatli inceleme sonrası privilege escalation yolunu yavaş yavaş ortaya çıkarıyor.

Vpne bağlandım ve hedef makinenin ip adresini çalıştırdım daha sonra rustscan ile port taraması yaptım.

Cap Htb Writeup

Tarama sonucunda açık olan üç port tespit edildi:

- 21 → FTP

- 22 → SSH

- 80 → HTTP

Daha detaylı servis ve versiyon bilgisi elde etmek amacıyla Nmap ile versiyon taraması gerçekleştirdim:

Cap Htb Writeup

web sitesi varmış 80 portu üzerinde

Cap Htb Writeup

dirsearch ile dizin taraması yaptım .

Cap Htb Writeup

Web uygulamasının dizinlerinde gezinirken farklı endpoint’leri manuel olarak incelemeye devam ettim. Bu süreçte sistem tarafından oluşturulmuş ağ trafiği kayıtlarını içeren pcap dosyalarının indirilebildiği bir bölüme rastladım.

Bu durum dikkat çekiciydi çünkü pcap dosyaları genellikle ağ trafiğinin ham kayıtlarını içerir ve çoğu zaman hassas bilgilerin açığa çıkmasına neden olabilir.

İndirilebilir dosyaları analiz etmek amacıyla ilgili pcap dosyasını sistemime indirdim.

Cap Htb Writeup

Web uygulamasında pcap dosyalarının /data/3 dizini altında tutulduğunu fark ettim. Dizin numarası sıralı göründüğü için önceki kayıtlara erişilip erişilemeyeceğini kontrol etmek istedim.

Bu nedenle URL’deki dizin numarasını değiştirerek /data/2 , /data/1 ve /data/0 yollarını denedim. Yapılan denemeler sonucunda önceki ağ trafiği kayıtlarına ait pcap dosyalarının da indirilebilir olduğu görüldü.

Bu durum uygulamada erişim kontrolü olmadığını ve dosyaların tahmin edilerek erişilebildiğini gösteriyordu.

Cap Htb Writeup

0.pcap dosyasını Wireshark ile incelediğimde FTP trafiğinin plaintext olduğunu gördüm. Paketler içinde kullanıcı adı ve parola açık şekilde bulunuyordu.

Cap Htb Writeup

nathan : Buck3tH4TF0RM3!

Artık sisteme giriş yapabilecek bilgiler elimde

Bulduğum bilgi ile FTP servisine bağlanmayı denedim ve başarılı şekilde giriş yaptım.

Cap Htb Writeup

FTP üzerinden sisteme bağlandıktan sonra dizinleri kontrol ettim ve user.txt dosyasını indirerek user flag’i aldım.

Elde ettiğim aynı credential bilgilerini kullanarak bu kez SSH servisine bağlanmayı denedim ve başarılı şekilde giriş yaptım.

ssh nathan@10.129.6.53
Cap Htb Writeup

SSH erişimi aldıktan sonra linpeas scriptini hedef makinedeki /tmp dizinine yükledim ve çalıştırarak sistem üzerinde privilege escalation ihtimallerini kontrol ettim.

Cap Htb Writeup
Privilege escalation sırasında önce sudo yetkileri, SUID binary’ler ve capabilities kontrol edilmelidir. Daha basit bir yöntem bulunduğu için kernel exploit en son seçenek olarak bırakılır.
Cap Htb Writeup

Linpeas çıktısını incelediğimde dikkatimi çeken satır şu oldu:

/usr/bin/python3.8 = cap_setuid,cap_net_bind_service+eip

Linpeas çıktısında python3.8 binary’sinde cap_setuid olduğunu gördüm. Bu capability kullanılarak root yetkisi alınabiliyordu.

/usr/bin/python3.8 -c 'import os; os.setuid(0); os.system("/bin/bash")'

Exploit komutunu çalıştırdıktan sonra root yetkilerine sahip bir shell elde ettim. Bu aşamada mevcut kullanıcıyı tamamen değiştirmedik, ancak yetkileri yükselterek root ayrıcalıkları kazandık.

Daha sonra /root dizinine erişerek root.txt dosyasını okudum ve root flag’i elde ettim.🌸

Cap Htb Writeup
 
 
bottom of page