Conrado Sol
- 29 Nis 2026
- 59 Mesaj
Aktiflik
Seviye
Deneyim
Bir dönem, siber güvenlik forumlarında "falanca sunucuda X portunda açık buldum, nasıl hacklerim" tarzı konular açılıyordu. Bu yazı esasında bu soruyu soran arkadaşlar için hazırlanmıştı. Ancak merak etmeyin, aradan geçe yıllara rağmen hala güncel bir konu. Çünkü bu yazı teoriye değil tekniğe odaklanıyor. Haydi başlayalım.
Portlar, başta bilgisayarlar arası haberleşmede kullanılan önemli giriş / çıkış kapılarından biridir. Uygulamalar bilgisayar üzerinden haberleşmek için portları kullanır, modemler internete bağlanmak için portları kullanır, yazıcılar bilgisayara bağlanmak için portları kullanır velhasıl kelam portlar her alanda.
Tabi ki gerek portları dinleyen programlardan gerek portun kendisinden dolayı çoğu kez açıklar meydana gelmektedir. Bu konumuzda nmap ile port taraması yapmayı, açık portları dinlemeyi, dinleyen programların versiyonlarını tespit etmeyi ve mümkünse exploit etmeyi anlatacağız.
Öncelikle NMAP ile TCP/SYN Scan türünde hedef IP adrese bir tarama yapıyoruz.
Not: tarihi görünce birazcık üzülmüş olabilirim. ama birazcık, çok değil.
Görüldüğü gibi yaptığımız TCP SYN taraması sonucu açık portları keşfettik. Sonraki adımımız bu portları kullanan programları tespit etmek. Ben hızlı olmak için 21. portu dinleyen ftp servisini ve versiyonunun tespitini yapacağım.
Not: Bir sunucuda bütün portlar açık olabilir, ancak bu o portlarda zafiyet olduğu anlamına gelmez. Zafiyetleri portları kullanan programlar oluşturur. Örneğin genel olarak 80 portunu kullanan apache üzerinde bir zafiyet yoksa 80 portunun açık olmasının da bir manası yoktur.
Versiyon taraması için -sV argümanını, sadece 21. portu taraması için ise -p21 argümanını göndereceğim.
Görüldüğü gibi versiyon keşfi de tamam. 21. portu kullanan program vsftpd ve sürümü 2.3.4. Şimdi bunu bir araştıralım bakalım.
Öncelikle Enigma Grubun exploit veri tabanında 21. port için bulunun exploitleri tarıyoruz.
Site: The Enigma Group
Not: Enigma grup kapanmış, ama zaten alternatif araştırmayı göstermek için eklemiştim.
List Ports kısmında "21" numarayı seçiyoruz, 21. port için exploitler aşağıda listeleniyor.
Hmm, görünen o ki exploit burada yok. Ne yapacağız, pes mi edeceğiz? Hayır. Başka platformlarda aramaya devam, illa biri bir şey bulmuştur değil mi? Metasploitte devam ediyorum.
Not: Bulamamışta olabilir. İlla bir şey olacak diye bir şey yok (bambaşka bir ben)
"search vsftpd" diyerek tarama yapıyorum, bakalım neler çıkacak.
Evet, metasploitte ilgili portu kullanan programın sürümü ile uyumlu bir exploit mevcut. O zaman exploit edelim!
exploiti böylece seçmiş oluyorum, daha sonra "show options" diyerek gerekli seçenekleri görüntülüyorum.
Görüldüğü gibi benden RHOST (Uzak Host) ve RPORT (Uzak Port) bilgilerini istiyor. Biz "Set" komutunu kullanarak bilgileri giriyoruz. RHOST girmeniz yeterli, RPORT zaten 21.
Son olarak girilen bilgilerin doğruluğunu tekrar "show options" diyerek kontrol ediyoruz ve exploit ediyoruz.
Girdiğim bilgiler yerine oturmuş, "exploit" diyorum ve exploit ediyorum.
Görüldüğü gibi işlem başarılı, sistemi hack ettik. Ben kimim diye sorduğumda ise bana "root" olduğumu söyledi.
Deneme amaçlı gönderdiğim ping paketleri de hedefe ulaştı, işlem başarılı.
Velhasıl kelam işin özeti şu gençler; yazının başında da belirttiğim gibi, Nmap ekranında sıra sıra açık portlar görmek "sistemi hackledik" anlamına gelmiyor. Açık port sadece içeri giden bir kapıdır, asıl mesele o kapıyı tutan servisin (ve versiyonunun) bir zaafı olup olmadığını bulmak ve bunu istismar edebilmektir. "Abi port açık, şimdi ne yapıyoruz?" mantığından çıkıp, versiyon analizi yaparak zafiyet avlamaya (exploit) odaklandığınız gün, ezberden kurtulup bu işin mantığını gerçekten kavradığınız gün olacaktır. Hepinize kolay gelsin, sağlıcakla kalın...
Portlar, başta bilgisayarlar arası haberleşmede kullanılan önemli giriş / çıkış kapılarından biridir. Uygulamalar bilgisayar üzerinden haberleşmek için portları kullanır, modemler internete bağlanmak için portları kullanır, yazıcılar bilgisayara bağlanmak için portları kullanır velhasıl kelam portlar her alanda.
Tabi ki gerek portları dinleyen programlardan gerek portun kendisinden dolayı çoğu kez açıklar meydana gelmektedir. Bu konumuzda nmap ile port taraması yapmayı, açık portları dinlemeyi, dinleyen programların versiyonlarını tespit etmeyi ve mümkünse exploit etmeyi anlatacağız.
Öncelikle NMAP ile TCP/SYN Scan türünde hedef IP adrese bir tarama yapıyoruz.
nmap -sS 192.168.23.134
Not: tarihi görünce birazcık üzülmüş olabilirim. ama birazcık, çok değil.
Görüldüğü gibi yaptığımız TCP SYN taraması sonucu açık portları keşfettik. Sonraki adımımız bu portları kullanan programları tespit etmek. Ben hızlı olmak için 21. portu dinleyen ftp servisini ve versiyonunun tespitini yapacağım.
Not: Bir sunucuda bütün portlar açık olabilir, ancak bu o portlarda zafiyet olduğu anlamına gelmez. Zafiyetleri portları kullanan programlar oluşturur. Örneğin genel olarak 80 portunu kullanan apache üzerinde bir zafiyet yoksa 80 portunun açık olmasının da bir manası yoktur.
Versiyon taraması için -sV argümanını, sadece 21. portu taraması için ise -p21 argümanını göndereceğim.
nmap -sS -sV -p21 192.168.23.134
Görüldüğü gibi versiyon keşfi de tamam. 21. portu kullanan program vsftpd ve sürümü 2.3.4. Şimdi bunu bir araştıralım bakalım.
Öncelikle Enigma Grubun exploit veri tabanında 21. port için bulunun exploitleri tarıyoruz.
Site: The Enigma Group
Not: Enigma grup kapanmış, ama zaten alternatif araştırmayı göstermek için eklemiştim.
List Ports kısmında "21" numarayı seçiyoruz, 21. port için exploitler aşağıda listeleniyor.
Hmm, görünen o ki exploit burada yok. Ne yapacağız, pes mi edeceğiz? Hayır. Başka platformlarda aramaya devam, illa biri bir şey bulmuştur değil mi? Metasploitte devam ediyorum.
Not: Bulamamışta olabilir. İlla bir şey olacak diye bir şey yok (bambaşka bir ben)
"search vsftpd" diyerek tarama yapıyorum, bakalım neler çıkacak.
Evet, metasploitte ilgili portu kullanan programın sürümü ile uyumlu bir exploit mevcut. O zaman exploit edelim!
use exploit/unix/ftp/vsftpd_234_backdoor
exploiti böylece seçmiş oluyorum, daha sonra "show options" diyerek gerekli seçenekleri görüntülüyorum.
Görüldüğü gibi benden RHOST (Uzak Host) ve RPORT (Uzak Port) bilgilerini istiyor. Biz "Set" komutunu kullanarak bilgileri giriyoruz. RHOST girmeniz yeterli, RPORT zaten 21.
Son olarak girilen bilgilerin doğruluğunu tekrar "show options" diyerek kontrol ediyoruz ve exploit ediyoruz.
Girdiğim bilgiler yerine oturmuş, "exploit" diyorum ve exploit ediyorum.
Görüldüğü gibi işlem başarılı, sistemi hack ettik. Ben kimim diye sorduğumda ise bana "root" olduğumu söyledi.
Deneme amaçlı gönderdiğim ping paketleri de hedefe ulaştı, işlem başarılı.
Velhasıl kelam işin özeti şu gençler; yazının başında da belirttiğim gibi, Nmap ekranında sıra sıra açık portlar görmek "sistemi hackledik" anlamına gelmiyor. Açık port sadece içeri giden bir kapıdır, asıl mesele o kapıyı tutan servisin (ve versiyonunun) bir zaafı olup olmadığını bulmak ve bunu istismar edebilmektir. "Abi port açık, şimdi ne yapıyoruz?" mantığından çıkıp, versiyon analizi yaparak zafiyet avlamaya (exploit) odaklandığınız gün, ezberden kurtulup bu işin mantığını gerçekten kavradığınız gün olacaktır. Hepinize kolay gelsin, sağlıcakla kalın...

