- Katılım
- 2 Ocak 2026
- Mesajlar
- 85
- Tepkime puanı
- 94
- Puan
- 18
Açık Port Bulduk Şimdi Ne Yapalım?
Bir hacker gözünden portlar ne anlama gelir notlarından sonra bir ileri aşama olan porttan zafiyete yazısını kaleme alalım dedik efenim. Burada yazılanlar bildiklerimiz ve araştırdıklarımız sonucu bir üründür. Eklemek istediklerinizi lütfen yorumlara yazın.
Bismillah
Bir önceki yazımızda bazı portların net bir şekilde bilinmesi gerektiğini söylemiştik. FTP, DNS, HTTPS, HTTP, MYSQL.. bilmeden pek de bir yere varamazsınız. Dosya dosya transfer protokolünde olabilecek en ufak zafiyet bir şirketi milyon dolar zarara uğratabilir.
Neden mi ? Sistem mimarisini ayakta tutan portlar ile ne demek istediğimizi anlatacağız.
Genel itibariyle nmap kullanacağız.
Açık olan portlar FTP, HTTP, POP3,İMAP,HTTPS,SMTPS, MYSQL…
Buraya ilk başta ftp portuna giriş yapabiliyor muyuz ona bakacağız.
FTP: Dosya yükleme ,
Dosya indirme,
Web site dosyalarını yönetmek üzere çalışıyor.
Genelde web developerler ve sistem adminleri kullanırlar
nmap -sV -p 21 bughaneacademy.com
ile FTP portu hakkında bilgi toplamaya çalışacağız.
İp adresinin kayıtlı olduğu alt yaptı alastyr.com
Bir alt satırda ise port aktif mi değil mi kullandığı versiyon bilgisi mevcut
ftp bughaneacademy.com ile giriş denemesi yapacağız.
Eğer port açık olmasaydı herhangi bir sonuç vermeyecekti.
Kullanıcı adı : anonymous
Şifre : anonymous
şifre veya kullanıcı adının yanlış olması dahilinde bu şekilde 530 login authentication failed hatası oluşur.
ftp:ftp
admin: anonymous
admin : admin
veya
Name: anonymous
Password: test@test.com eğer başarılı olursa bu çok ciddi bir misconfiguration
gibi seçenekleri de deneyebilirsiniz bu tamamen sizin bypass yeteneğinizle ilgili bir durum
Eğer sisteme giriş yapabilseydik hem dosya okuyabilir hem de indirebilirdik.
nmap — script ftp* -p 21 bughaneacademy.com
bu komut ile sistem şu testleri yapar:
anonymous login , ftp misconfiguration , ftp exploit kontrolü
Çok daha pratik ve seni tek tek araştırmadan kurtarıyor.
ftp* olmasının sebebi: İsmi ftp ile başlayan tüm Nmap scriptlerini çalıştırmasıdır.
çıktısı
604 saniyede 25292 login deneme yapılmış saniyede ise 44 deneme yapılmış gözüküyor.
Lakin herhangi bir sonuç çıkmadı.
Madem login olamadık biz de ftp versionu tespit etmiştik onun üzerinde ilerleriz. CVE exploit var mı yok mu ona bakacağız. Daha öncve bu versiyon ile ilgili nasıl zafiyetler var ona bakacağız.
Pure-FTPd genelde TLS destekler. Bu öğrenmek
nmap — script ssl-enum-ciphers -p21 bughaneacademy.com komutunu deneyeceğiz. Burada komut üzerinden anlaşıldığı üzere ssl-enum ve cipher tespiti yapacağız
Komutu çalıştırdığımızda ftp’nin TLS V1.2 ve V1.3 versiyonunu kullandığı gözüküyor. Eğer sistem
SSLv2
SSLv3
TLSv1.0
TLSv1.1 Gibi eski version protkoller kullansaydı
POODLE , BEAST, downgrade attack gibi saldırılar mümkün olurdu
TLS : internet üzerinden gönderilen verilerin gizliliğini, bütünlüğünü ve kimlik doğrulamasını sağlayan modern bir şifreleme protokolüdür.
Cipher (şifreleme algoritması), veriyi okunamaz hale getirip güvenli iletmek için kullanılan matematiksel yöntemdir.
Çıktıya bakıldığında her birinin karşısında A harfi olduğunu görüyoruz. Bu demek oluyor ki en zayif cipher bile A seviyesi. Yani buraya herhangi bir saldırı düşünülemez.
Şimdi Pure-FTPd (kullanılan ftp verison) üzerine raporlanmış bazı zafiyetleri inceleyip deneyceğiz.
searchsploit Pure-FTPd diye arattığımızda bilinen exploitler çıkar. Bizim hedef sistemde 3 çıktı aldık
tek tek inceleyelim.
- Satır: External Authentication bash / linux/remote/34862.rb var
FTP login → harici script çalıştırılır
Eğer bu script Bash injection içeriyorsa: command injection olabilir.
bu çok nadir konfigrasyonlarda görülür.
2. Satır : Pure-FTPd 1.0.21 (CentOS / Ubuntu) /linux/dos/20479.pl
bu zafiyet sunucuya yapılan dos’u gösterir. Sunucu çökertmek üzere kullanılır.
3. Satır : Pure-FTPd 1.0.48 — Remote Denial of Service / multiple dos/49105.py
Bu da servis crash sadece. Sunucuyu çökertmek üzere dos
4. Satırda ise Herhangi bir shellcode olmadığını yani RCE zafiyetinin mümkün olmadığını gösteriyor.
Dilerseniz hydra kullanarak login kısmına brute force yapabilirsiniz .
Hydra kalide hazır bulunur.
Kullanacağınız komut: hydra -l admin -P <kelimelisteniz.txt> ftp://hedef.com
- l sadece kullanıldı kısmına admin dener -P ise belirttiğiniz kelimde listesini password kısmına dener. dilerseniz -L admin.txt diye bir txt dosyası belirtip isim kısmına da brute force yapmasını sağlayabilirsiniz.
Örnek kullanım.
Bughana academy ne çekti elimizden yaw hahahhaahahah
FTP portu salıyorum.
Şimdi sırasıyla diğer açık portlara bakalım.
Burdan ftp elendi http ve https bakalım.
Şimdi bi http ve https üzerine curl yapalım bazen burdan bilgi sızabiliyor
Buradan bazı güvenlik ve altyapı bilgileri çıkarabiliriz. Tek tek bakalım.
Bu site LiteSpeed Web Server kullanıyor. Bu bilgi cepte
x-frame-options: SAMEORIGIN kısmı
header Clickjacking saldırılarına karşı olduğunu gösterir.
Yani site başka domain içinde iframe olarak açılmaz
Sadece kendi domaini içinde açılabilir.
Clickjacking (Tıklama Kaçırma), kullanıcının farkında olmadan farklı bir butona veya işleve tıklamasını sağlayan bir web saldırısıdır. Kullanıcı aslında gördüğü bir butona tıkladığını sanır, fakat arka planda başka bir sayfa veya işlem tetiklenir.
Devam edelim
x-content-type-options: nosniff
Bu kısım der ki Dosya tipini tahmin etme, server ne diyorsa onu kullan.
set-cookie: xf_csrf=9oPS9ntIeXCd0rYm; path=/; secure kısmında CSRF bilgisi ve Secure sadece https üzerinden gönderilir.
Ama burda şu 2 kısım eksik
httponly ve samesite.
abi httponly ne demek SameSite ne demek şöyle kısaca anlatiyim.
Httponly : Cookie javascript tarafından okunamaz. Bu da demek oluyor ki saldırgan XSS ile cookie çalamaz
Set-Cookie: sessionid=abc123; HttpOnly burda mesele şu : document.cookie ile okunamaz
sadece HTTP istekleri ile sunucuya gider
Ama tarattığımız sitede httponly bulunmuyor. bu da demek oluyor ki site cookieler javasctipt tarafınan okunabilir ve xss ile cookieler çalınabilir. Çalabiliyorsanız çalın bughanede hahahah
SameSite, bir cookie’nin başka sitelerden gelen isteklerde gönderilip gönderilmeyeceğini kontrol eden güvenlik özelliğidir.
Mahalle tabiriyle : Bu cookie sadece aynı site içinde mi kullanılacak, yoksa başka sitelerden gelen isteklerde de gönderilecek mi?
Kısa bi curl -I target.com komutu ile neler yapılabileceği gayet açık
Şimdi sıra veri tabanında MYSQL portunda (3306)
Çoğu web uygulaması backend’de MySQL kullanır (WordPress, Joomla, forumlar, özel uygulamalar).
TCP üzerinden çalışır.
Bir uygulama veritabanına bağlanmak istediğinde şu şekilde bir bağlantı gerçekleşir: Web Uygulaması → MySQL Server → Port 3306
Bu port sayesinde:
uygulama veri okuyabilirveri yazabilir
kullanıcı bilgilerini doğrulayabilir
log ve işlem kayıtlarını tutabilir
Şimdi ilk önce sistem hangi verison mysql kullanıyor onu tespit edip sonrasında ise bu version üzerine bilinen exploitleri ortaya çıkaralım.
nmap kullanıyoruz.
-p ile portu belirtiyoruz 3306 portumuz
- -sV ile versiyonu istiyoruz
- sonra hedefi yazıyoruz
EXPLOİT arama komutumuz searchsploit idi
Bu versiona ait herhangi bir exploit veya shellcode bulunamadı. Bir de google ile arama yapalım.
Çıkan sonuçları tek tek inceleyip gereken saldırıyı izinler dahilinde gerçekleştirebilirsiniz
mysql -h bughaneacademy.com root -p
komutu kullanarak sisteme girmeye çalışacağız.
Burdaki password kısmı tamamen ftp ile aynı mantık
admin / admin — — test/ test / — — anonymous/ boşluk
gibi şeyler deneyebilirsiniz.
Error hatası aldık.
Pes edecek miyiz peki errordan sonra?
tabiki de edeceğiz kardeşim daha diğer portlara bakmamız lazım hahahaha
Veyahut
nmap -p3306 — script=mysql* bughaneacademy.com komutu ile
Bu scriptler şunları test eder:
- mysql-info
- mysql-databases
- mysql-usersmysql-enum
Açık olan bir diğer portumuz DNS/53 PORTU
Baştan anlaşalım arkadaşlar. DNS ; FTP VE MYSQL gibi login yapabileceğiniz bir port değildir.
DNS, internetin çalışmasını sağlayan en kritik sistemlerden biridir. Eğer DNS olmasaydı, her siteye bağlanmak için IP adreslerini ezberlemek zorunda kalırdık.
Yani şu: Domain adlarını İp’ye çeviren sistemdir.
Domain adı bughaneacademy ise buna bir ip adresi tanımlıyor buna da DOMAİN NAME SYSTEM yani DNS denir ve 53 portunu kullanır.
İnternet trafiği ip adresleri üzerinden yönlendirir ama kullancılar bunu görmez ,domainleri görür.
Şimdi biz dig komutu kullanarak sistem hakkında en detaylı bilgileri toplayalım:
Kullandığımız komut dig bughaneacademy.com ve her şeyi getirsin diye sonuna da ANY
Burada sistem hakkında her şey mevcut.
dnsrecon -d bughaneacademy.com -t brt
- Subdomain’leri ve ek kayıtları toplar.
- Bazen gizli host veya test sunucularını açığa çıkarabilir.
Ve devamında verilen bilgiler bizlere sistem hakkında çok kıymetli bilgiler veriyor.
DNS Kısaca bu şekilde.
2083 VE 2087. PORTLAR
https://target.com:2083
https://target.com:2087
olarak çalıştırılır.
2083(Cpanel)
Bu hosting yönetim panelidir.Buradan yönetilen şeyler: Dosyalar (File Manager) ,Veritabanları (MySQL)
E-postalar, Subdomainler ,FTP hesapları
Eğer zayıf parola varsa : brute force yapılabiliyorsa
eski cPanel sürümü varsa sunucu tamamen ele geçirilebilir.
2087 WHM (Web Host Manager)
Bu daha da kritik
WHM şunları yönetir:
-Sunucudaki tüm cPanel hesapları
-Root seviyesinde hosting kontrolü
-DNS yönetimi
Sunucu konfigürasyonu
Eğer buraya erişim sağlanırsa: Tüm sunucu kontrol edilir.
Kısacası 2083 2087 farkı şudur.
2083 ile Kullanıcı hesabı ele geçirme 2087 ile de sunucu root yönetimi.
FTP-MYSQL-HTTP-DNS-2083 cPanel ve 2087 web host yönetimi portlarını detaylandırdık.
Şimdilik bu kadarlık yeterlidir diye düşünüyorum.
Buraya kadar geldiyseniz gerçekten tebrik ediyorum sanırım biraz uzun bir yazı oldu çünkü.
https://www.linkedin.com/in/zekikayaalp/
Linkedln üzerinden çalışmalarımı takip edip destek olabilirsiniz. Hepinize ay lav yu <3
Zeki Kayaalp