Network Services FTP Protokolü Write-up | TryHackMe



Merhabalar. Bu makalede sizlerle Network Services odasının FTP çözümünü gerçekleştireceğiz. Bu çözümü gerçekleştirirken 3 adımda öğreneceklerimiz özet olarak aşağıdaki gibi:

  • FTP protokolü nedir ve nasıl çalışır?
  • Hedef makinede FTP protokolü ile ilgili enumeration(numaralandırma) işlemleri
  • Hedef makine üzerindeki FTP sunucusunun güvenlik açığından yararlanmak için kullanılacak araçlar olacaktır.  


GÖREV 1: FTP'yi Anlamak

FTP, dosya aktarım iletişim kuralı (file transfer protocol) anlamına gelmektedir ve istemci-sunucu modelini kullanmaktadır. Dosya paylaşımı, uzak bilgisayarların kullanımına teşvik etmek, kullanıcıyı dosya depolama sistemlerinin farklılıklarından korumak ve veriyi güvenilir ve verimli bir şekilde aktarmak amacıyla programlar tarafından kullanımı öngörülerek geliştirilmiştir. 

FTP modeli veri bağlantısı ve kontrol bağlantısı olmak üzere iki kanal kullanarak işlem yapmaktadır. Kontrol bağlantısı komutların ve cevapların değişimini telnet protokolünü izleyerek sağlar. Veri bağlantısı ise tam çift yönlü (full dublex) bir bağlantıdır. Verilen veri formatında ve türde dosyaların aktarımının gerçekleştirilmesini sağlar.

Kontrol bağlantı noktasında sunucu dinleme yaparken istemci bir bağlantı başlatır. İstemci ve sunucu arasındaki bu bağlantı hizmet portu 21 olarak atanan TCP aracılığıyla kurulur. Erişim kontrolleri yapıldıktan sonra bir oturum açılır ve istemci FTP komutlarını sunucu üzerinde çalıştırır. FTP komutları veri bağlantısı için veri portu, veri yapısı, transfer modu, dosya üzerinde yapılacak işlem gibi gerekli parametreleri tanımlar. Veri transfer süreci kontrol bağlantısının açık olmasını gerektirir. Veri bağlantısı ise TCP aracılığıyla hizmet portu 20 üzerinden yayınlanır. Sunucu ile istemci arasındaki veri bağlantısı aktif veya pasif durumda olabilir. İstemci bir veri portu üzerinden dinleme yaparken sunucu aktif durumda bu port ile bir veri bağlantısı yayınlar. Pasif durumda ise istemci üzerindeki veri portunda bağlantı yayınlamak yerine dinleme yapabilir.




FTP'nin ne olduğu ve istemci-sunucu FTP süreçleriyle ilgili şu anki bilgilerimizin yeterli olacağını düşünerek Görev-1'deki soruları cevaplandırmaya başlayalım. :)

Soru 1: FTP hangi iletişim modelini kullanır?


Soru 2: Standart FTP portu (bağlantı noktası) nedir?


Burada küçük bir dip not: Standart portumuz neden 20 değil gibi bir soru aklınıza gelirse eğer cevap FTP'de ilk olarak istemci ve sunucunun arasında kontrol bağlantısı 21 portu üzerinden kurulmaktadır. Dolayısıyla cevabımız 21 olacaktır.

Soru 3: Kaç tane FTP bağlantı mod'u vardır?


Kontrol bağlantısı ve veri bağlantısı olmak üzere 2 adet bağlantı mod'u bulunmaktadır.

Görev 1 tamamlandı. :)


GÖREV 2: Enumeration (Numaralandırma)

Makineyi dağıtalım. 

Enumeration(numaralandırma) neden yapılır, neden önemlidir, güvenlik açıklarından yararlanmamızda ne gibi faydalar sağlar gibi soruların cevabını artık bildiğimizi varsayıyorum. Burada yine nmap kullanarak hedef makinede çalışan servisler, açık portlar neler bakacağız. Linux'taki en yararlı komutlardan man ve en yararlı seçeneklerden help[-h/--help] seçeneğini kullanarak bir aracın fonksiyonları ile ilgili arzulanan bilgiye erişebiliriz.  

Makineyi dağıttıysak verilen IP adresi için nmap aracını çalıştıralım.



Nmap taraması sonucunda görülebileceği gibi ftp servisinde bir anonim girişinin sağlandığı yönünde bir bilgi mevcut ve PUBLIC_NOTICE.txt dosyasındaki izinlerde bu dosyayı okuyabileceğimizi görüyoruz. FTP sunucusuna bağlanıp bu dosyanın içerisinde işimize yarayan bir şey var mı bir bakalım.




Burada FTP sunucusuna giriş yaptık ve PUBLIC_NOTICE.txt dosyasını istediğimizi söyledik.


PUBLIC_NOTICE.txt içeriğini incelediğimizde Mike isimli birinin sistem yöneticilerine bir not bıraktığını görüyoruz. Dolayısıyla Mike ismini de cebimize atalım.

Sorularımızı cevaplandırmaya başlayalım.

Soru 1: Hedef makine üzerinde kaç tane port açık?

Soru 2: FTP hangi port üzerinde çalışıyor?


Soru 3: Bunun üzerinde çalışan FTP'nin hangi çeşidi?


Bu soruları nmap taramasının verdiği çıktı ile cevapladık. Şimdi sıra FTP sunucusuna giriş yaptıktan sonra cebimize koyduğumuz bilgiler ile kalan soruları cevaplandıralım.

Soru 4:Anonim FTP dizinindeki dosyanın adı nedir?

Soru 5: Muhtemel bir kullanıcı isminin ne olabileceğini düşünüyoruz?


Burada oldukça kolay bir şekilde FTP sunucusu hakkında bilgileri topladık. Fakat numaralandırma metotlarında farklı yollar da izleyebiliriz. Özellikle FTP'nin komutlarının istek ve cevaplarını telnet protokolünü izleyerek değiştirdiğini yani şifreleme yapmadığını unutmazsak. (Banner grabbing)


GÖREV 3: FTP'den Yararlanma

Numaralandırma aşamasında cebimizde topladığımız bilgileri kullanarak ayrıcalıklarımızı yükseltelim. Serotonin seviyemiz artsın biraz. :) Neleri biliyoruz gözden geçirelim:

  • Hedef makinede FTP sunucu 21 portu üzerinde çalışıyor
  • Muhtemel bir kullanıcı ismi olarak mike kullanıcı olduğunu düşünüyoruz
Bu aşamada hydra aracını kullanacağız. Hydra birçok protokolü destekleyen ve bizim yetkisiz bir giriş yapmamıza yardımcı olacak bir araçtır. (Desteklediği protokollere buradan bakabilirsiniz: https://tools.kali.org/password-attacks/hydra) Tabii ki hydra dışında ftp protokolünü destekleyen ncrack, medusa, metasploit gibi kaba kuvvet (brute force) uygulayarak şifrelere ulaşabileceğimiz araçlar mevcut. TryHackMe formatına uyarak hydra kullanalım.



Kullanıcı ismi mike olan arkadaşımız şifre olarak  password belirlemiş. Dolayısıyla bu kimlik bilgileri ile FTP sunucusunda ayrıcalıklarımızı yükseltelim. Adım adım bayrağımızı yakalamaya yaklaşıyoruz. :)


Evet artık mike kullanıcısı için ftp sunucusuna bir giriş gerçekleştirdik. İşe yarar bir dosya var mı bir bakalım.


Ls komutu ile bulunduğumuz yerde bir ftp.txt dosyası varmış. Bu dosyayı kendi ortamımıza çekelim ve içeriğine bakalım.

Flag kaçamaz, yakalandı. :)  Son iki sorunun cevabını da bulmuş olduk.

Network Services odasını tamamlarken çoğunlukla "anonymous" olarak sunucuda başarılı giriş gerçekleştirip hedef makinede keşif yaptığımızı fark edeceğiz. Dolayısıyla farklı senaryolara bakmanızı tavsiye ederim.

Bu yazıyla beraber Network Services odasını bitirmiş olduk. Herkese başarılı, sağlıklı bir yıl dilerim. Bir sonraki yazılarda buluşmak üzere.



Yorum Gönder

0 Yorumlar