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.

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:

web sitesi varmış 80 portu üzerinde

dirsearch ile dizin taraması yaptım .

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.

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.

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.

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.

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
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.

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.

Linpeas çıktısını incelediğimde dikkatimi çeken satır şu oldu:
/usr/bin/python3.8 = cap_setuid,cap_net_bind_service+eipLinpeas çı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.🌸
