Categories
HackTheBox

HackTheBox Cap Makina Çözümü

Öncelikle 10.10.10.245 IP adresine nmap taraması yapıyoruz ve üzerinde hangi portlar açık ve bu portlarda ne çalışıyor öğreniyoruz.

nmap -sT -v 10.10.10.245 -p-

-sT: Three Way Handshake (Üçlü El Sıkışma) tamamlıyor. Danışıklı dövüş olduğu için gizlenmeye gerek duymuyoruz.

-v: Versiyon için yazdım ama çıktıda vermedi.

-p-: Tüm TCP portlarını taramasını söylüyoruz. (65535)

Açık olan portlara yeniden versiyon soruyoruz. Çünkü üstteki çıktıda detay alamıyoruz.

nmap -sV -p 80,22.21 10.10.10.245

-p: Port belirtmek için kullanıyoruz.

-sV: Versiyon bilgisi istiyoruz.

10.10.10.245’i tarayıcı ile ziyaret ediyoruz. Çünkü 80 portu açık ve üzerinde bir şeyler var. Neler olduğunu inceliyoruz. Menü de PCAP dosyası ile ilgili ifadeler var. Tıklayınca aşağıdaki ekran geliyor. Burada ağdaki paket değerlerinin belirtildiği görüyoruz. Fakat bize “Value” değerinin “0” olması bir şey ifade etmiyor. Ağ da gezinen paketlerden sisteme sızmak için bilgi edinebiliriz. Bu nedenle “Value” sütunu dolu olan sayfayı bulmalı ve o dosyaları indirip incelemeliyiz.

URL yazan “2” gözüme çarpıyor ve onu değiştirerek sayfanın değişmesini umuyorum ve “0” yazınca aşağıdaki dolu ekran geliyor. Hemen dosyayı indiriyoruz.

İndirdiğimiz 0.pcap dosyasını Wireshark ile açıyoruz. Hiç aksiyona gerek duymadan yüzeysel olarak geziniyoruz. FTP protokolünde bir username ve password görüyoruz. Günümüz şenleniyor.

Nmap taramamızda FTP portunun açık olduğunu görmüştük. Artık bir kullanıcımızda olduğuna göre yapıştırıyoruz.

ftp 10.10.10.245

Biraz neler bulabilirz bakıyoruz. LS komutu ile bulunduğumuz dizinde neler var ona bakıyoruz.

Aynı kullanıcı ile SSH’da denemek istiyoruz. Aşağıda gördüğümüz gibi erişebiliyoruz.

LS komutu ile dizini listeliyoruz ve user.txt dosyasını cat komutu ile okuyup user bayrağını alıyoruz. Şimdi yetki yükselteceğiz ve root bayrağını alacağız. root kullanıcısı ayrıcalıklarını edinmek çin çözüm arıyoruz.

getcap -r / 2>/dev/null

bu komutu kullarak recursive bir biçimde en üst dizinden başlayarak tüm dosyaların kabiliyetlerini kontrol ediyor ve eğer return code olarak 2 kodu dönülüyorsa bunu /dev/null’a gönderiyoruz. Python 3.8 ve cap_setuid olduğunu görüyoruz.

Her şeyi ezberleyemeyeceğimiz için kendimize kızmıyor ve küçük bir Google search yapıyoruz.

https://gtfobins.github.io/gtfobins/python/#capabilities

Buradaki kodu kullanıyoruz ama bizim Python versiyonumuz 3.8 olduğu için öyle yazıyoruz.

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

Komutu yazınca nathan kullanıcısının root olarak değiştiğini görüyoruz. root.txt dosyamızı bulup son bayrağıda alarak makinayı tamamlamış oluyoruz.

Leave a Reply

Your email address will not be published. Required fields are marked *