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
Link | Difficulty | Creator |
---|---|---|
Bounty Hacker | Easy | Sevuhl |
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.