TryHackMe / Bounty Hacker

You talked a big game about being the most elite hacker in the solar system. Prove it and claim your right to the status of Elite Bounty Hacker!

-Sevuhl
LinkDifficultyCreator
Bounty HackerEasySevuhl

Scan / Enumeration

Keşif işlemine makinedeki açık portları bulmak amacıyla nmap taraması yaparak başlıyorum. Araca -T4 parametresini vererek varsayılan olarak T3 olan hızı arttırıyorum. Bulduğu portları tarama bitmeden ekrana basması ve taramanın ne zaman biteceğine dair düzenli olarak rapor vermesi için -vv parametresini veriyorum. Makinede bulunan 65535 adet portun tamamını -0 hariç- taraması için -p- parametresini veriyorum ve son olarak IP adresini vererek taramayı başlatıyorum.

nmap -T4 -vv -p- $IP

Tarama sonucunda 21, 22 ve 80 portlarının açık olduğunu öğreniyorum. Bu portlar hakkında daha ayrıntılı bilgi edinmek amacıyla portlara özel nmap taraması yapıyorum. Versiyon tarama parametresi olan -sV ve script tarama parametresi olan -sC parametrelerinin birleşimi olarak -sVC parametresini veriyorum. Daha önceden açık olarak bulduğum portlar özelinde taramayı gerçekleştirmek için -p parametresinin ardından portları belirtiyorum. Taramanın sonucunun bir dosyaya kaydedilmesi için -oN parametresiyle dosya ismi belirtip taramayı başlatıyorum.

nmap -sVC -p21,22,80 -oN bounty.nmap $IP

Makinede 21 portunda FTP -File Transfer Protocol-, 22 portunda SSH -Secure Shell- ve 80 portunda Apache web server çalıştığını öğreniyorum. Komutun çıktısında FTP servisi için anonim girişe izin verildiğini görebiliyoruz. Bu serviste bulunan dosyalara erişmek amacıyla ftp komutunu ve anonymous kullanıcı adıyla sunucuya erişiyorum.

ftp $IP

FTP servisine bağlandıktan sonra get komutu ile sunucudaki dosyaları kendi makineme alıyorum. Bir üst dizine çıkabilme ihtimalime karşın cd .. komutunu deniyorum fakat böyle bir şey yapamadığımı görüyorum. Sunucuyla olan bağlantımı bye komutunu kullanarak koparıyorum ve elde ettiğim dosyaları incelemeye başlıyorum.


Gain Shell

Elde ettiğim dosyalardan biri olan task.txt, lin isminde birinin yazdığı iki satırdan ibaret. Bu kullanıcının yazdığı task’lar şu an için bana herhangi bir şey ifade etmiyor. Diğer dosya olan lock.txt ise parolalar içeren bir wordlist gibi görünüyor.

Buradan elde ettiğim lin kullanıcı adını ve wordlist’ini kullanarak ftp üzerinden başka bir kullanıcıya erişebilir miyim denemesini yapmak istiyorum. Bunun için hydra aracını kullanarak ftp servisine bruteforce saldırısı yapıyorum. Araca -l parametresiyle kullanıcı adını, -P parametresiyle wordlisti veriyorum. Saldırının gerçekleşeceği IP adresini verdikten sonra hangi servis için gerçekleşeceğini de belirterek saldırıyı başlatıyorum.

hydra -l lin -P locks.txt $IP ftp

Fakat herhangi bir sonuç alamıyorum. Aynı şekilde brute force saldırısını bu sefer de ssh için yapmayı deniyorum ve bu sefer ilgili kullanıcının parolasına erişebiliyorum.


Privilege Escalation

Bilgilerine eriştiğim kullanıcıya ssh üzerinden bağlanıyorum. Yetki yükseltme işlemi için öncelikle kullanıcının sudo yetkilerini sudo -l komutunu kullanarak kontrol ediyorum.

Komutun çıktısında tar komutunu root yetkisiyle kullanabileceğimi görüyorum. Bu komutu nasıl sömürebileceğimi GTFOBins yardımıyla öğreniyorum ve sömürerek root yetkilerine erişiyorum.


Extra

Makinede root kullanıcısına erişmiş olmama rağmen hiç dokunmadığım port olan 80 portu üzerinde çalışan Apache web server’da herhangi bir zafiyet olup olmadığını merak ediyorum. Fakat bundan önce FTP servisinin makine üzerinde kullanılan versiyonu olan vsftpd 3.0.3 versiyonu için bir zafiyet araması yapmaya karar veriyorum. searchsploit aracılığıyla versiyonu aratıyorum ve bir DOS exploit’i ile karşılaşıyorum.

Bulduğum exploit’i denemek istiyorum. Belirtilen dizindeki python dosyasını kullanarak DOS saldırısı yapmayı deniyorum fakat benim IP adresimden çok fazla bağlantı açıldığına dair bir hata aldığım için yaptığım saldırı işe yaradı mı yoksa bloklandım mı anlayamıyorum.

80 portunu araştırmaya geçiyorum. Makinede çalışan Apache httpd 2.4.18 versiyonu için searchsploit ve arama motorları aracılığıyla kullanabileceğim bir zafiyet arıyorum fakat bir Local Privilege Escalation zafiyetinden başka bir şey göremiyorum.

Makine üzerinde erişimim olduğu için bir wordlist kullanarak körü körüne dizin taraması yapmak yerine makine üzerinden /var/ww dizinin kontrol ediyorum fakat buradan da bir .jpg dosyası haricinde elle tutulur bir şey elde edemiyorum.

Buradaki resme makinenin web sunucusu üzerinden ulaşıyorum ve wget ile kendi makineme çekiyorum. Üzerinden bir bilgiye ulaşmak için exiftool ile resmin meta datasını inceliyorum fakat bir şey göremiyorum. İçerisine gizlenmiş bir şey olabileceği düşüncesiyle steghide aracını kullanarak extract -sf parametresiyle birlikte resimi vererek önce boş şifre ile sonra lin kullanıcısının şifresi ile içinden dosya çıkartmaya çalışıyorum fakat bu çabamdan da sonuç alamıyorum. Makineye tekrar erişip makinede shell yetkisi olan kaç kullanıcı olduğunu kontrol ettiğimde yalnızca root ve lin kullanıcılarının olduğunu görüyorum ve lin kullanıcısının şifresi halihazırda elimizde bulunduğu için resim üzerinde uğraşmaktan vazgeçiyorum. Son olarak web server üzerinde yapılandırma hatalarını kullanabileceğimi umarak bir nikto taraması başlatıyorum fakat bu taramadan da herhangi bir sonuç alamıyorum.

Gev