Penetrasyon Testi 09 Ekim 2025

Penetrasyon Testi 3 - Servis Tarama ve Açıkların Tespiti

Yazar
Sadıkcan TULUK Teknoloji Uzmanı
Penetrasyon Testi 3 - Servis Tarama ve Açıkların Tespiti

Bu yazımızda bir sistem veya ağdaki zafiyetleri tespit etmenin temel adımlarından olan servis tarama ve açıkların tespiti konularına odaklanacağız. Bu aşamalar, potansiyel güvenlik açıklarını belirlemek için kritik öneme sahiptir.

Banner Grabbing

Banner grabbing, bir ağ servisine bağlanarak, servisin kendisine ait versiyon, işletim sistemi ve yazılım bilgilerini içeren karşılama mesajını (banner) çekme işlemidir. Bu bilgiler, saldırganlara hedeflenen servise yönelik bilinen zafiyetleri arama konusunda yardımcı olur.

Bir web sunucusuna gittiğinizde, web tarayıcınız aslında sunucunun size gönderdiği “banner”ı okur. Bu banner, sunucunun Apache’nin hangi versiyonunu kullandığı, NGINX olup olmadığı gibi bilgileri içerir. Bir güvenlik uzmanı olarak, bu bilgileri manuel olarak veya otomatize araçlarla toplayarak, bu spesifik versiyonlarda bilinen zafiyetlerin olup olmadığını kontrol edersiniz.

Uygulama

Nmap’in --script=http-headers parametresini kullanarak otomatik bir şekilde banner bilgisi elde edebilirsiniz.

nmap -p 80 — script=http-headers example.com

Servis Versiyon Kontrolü

Servis versiyon kontrolü, bir hedef üzerindeki açık portlarda çalışan servislerin hangi versiyonlarını kullandığını belirleme sürecidir. Bu, banner grabbing’den daha kapsamlı bir yaklaşımdır.

Servis versiyon kontrolü, yalnızca banner’da verilen bilgiyi değil, aynı zamanda port üzerinde çalışan servisin daha derinlemesine analizini de içerir. Örneğin, Nmap gibi araçlar özel paketler göndererek servisin cevabını analiz eder ve daha doğru bir versiyon bilgisi sunar. Bu, bir güvenlik uzmanının, hedef sistemin hangi spesifik yazılımları kullandığını ve bu yazılımlara ait bilinen zafiyetleri araştırabileceği anlamına gelir.

Uygulama

Nmap, servis ve versiyon tespiti için en popüler ve güçlü araçlardan biridir. -sV parametresiyle sadece açık portlardaki servislerin ve bu servislerin versiyonlarının tespiti yapılabilir. Ancak daha kapsamlı bilgi edinmek isterseniz, -A paramresiyle agresif tarama modunu kullanabilirsiniz. Bu mod, servis ve versiyon tespitine ek olarak işletim sistemi analizi, script taramaları ve traceroute gibi işlemleri de içerir.

nmap -A -T4 scanme.nmap.org

Press enter or click to view image in full size

Vulnerability Scanning Kavramı ve Araçları

Vulnerability scanning (güvenlik açığı taraması), bir sistem veya ağdaki bilinen güvenlik açıklarını, yanlış yapılandırmaları ve potansiyel riskleri otomatize araçlarla tespit etme sürecidir. Bu tarayıcılar, zafiyet veritabanlarını kullanarak hedef sistemin mevcut güvenlik duruşunu değerlendirir.

Nessus ve Alternatifleri

Nessus, bu alandaki en popüler ve güçlü ticari güvenlik açığı tarayıcılarından biridir. Ancak, kullanabileceğiniz açık kaynaklı veya ücretsiz birçok alternatif de bulunmaktadır.

OpenVAS (Greenbone Vulnerability Manager):

OpenVAS, Nessus’a güçlü bir açık kaynak alternatifidir. Kapsamlı bir zafiyet veritabanına (NVT) sahiptir ve sürekli güncellenir. Arayüzü biraz karmaşık olsa da, profesyonel düzeyde taramalar yapmanıza olanak tanır.

Uygulama

OpenVAS genellikle Kali Linux’ta kurulu gelir. Kurulumu veya çalıştırılması için gvm-start komutunu kullanabilirsiniz. Ardından web arayüzü üzerinden tarama hedefini (target), tarama profilini (scan config) ve taramanın ne zaman başlayacağını belirleyerek ilk taramanızı başlatabilirsiniz.

  • Kali Linux’ta openvas paketi yerine GVM (Greenbone Vulnerability Management) adı altında geçiyor.

sudo apt update && sudo apt install -y gvm

Bu işlem sırasında GVM ile ilgili tüm bileşenler yüklenecek (gvmd, openvas-scanner, greenbone tools vs.)

  • Tüm servislerin veritabanını ve feed’leri güncelle

sudo gvm-setup

Bu komut, sertifikaları oluşturur, GVM kullanıcı hesabı tanımlar (genellikle admin), zafiyet veritabanlarını indirir, servisleri başlatır.

İlk seferde bu işlem uzun sürebilir. Bitince size giriş adresi ve kullanıcı bilgisi verilecektir.

Press enter or click to view image in full size
  • Eğer gvm-setup bitti ama servisler hâlâ çalışmıyorsa ayrı ayrı başlatabilirsin:

sudo gvm-check-setup

Bu komut eksik parçaları da sana söyler.

  • GVM servisleri çalışıyor mu kontrol et:

sudo gvm-start

  • Web arayüzüne girmke için tarayıcıyı aç ve şu adrese git:

https://127.0.0.1:9392

Kullanıcı adı: admin
Şifre: gvm-setup sonunda verilen şifre

Press enter or click to view image in full size
Press enter or click to view image in full size
  • OpenVAS ile Hedef Tarama

Web arayüzü üzerinden:

  1. Targets > New Target → IP veya alan adını gir
  2. Scan Configs kısmından Full and Fast seç
  3. Tasks > New Task → hedefi ve tarama profilini ata
  4. Start Scan butonuna tıkla
Press enter or click to view image in full size
  • Raporları Görüntüleme ve PDF Olarak Alma

Web arayüzünden:

  1. Scans > Reports kısmına git
  2. Taramanı seç → Sağ üstten Download tıklayıp PDF olarak indir

Nikto:

Nikto, özellikle web sunucularına yönelik hızlı ve etkili bir güvenlik açığı tarayıcısıdır. Sunucunun konfigürasyon hatalarını, bilinen zafiyetleri ve eski versiyonlara ait problemleri tespit etmekte uzmanlaşmıştır.

Uygulama

Nikto’yu kullanmak oldukça basittir. Hedef web sitesini belirtmeniz yeterlidir.

nikto -h http://sadikcantuluk.com

Bu komut, sadikcantuluk.com web sunucusu üzerinde bilinen zafiyetleri, dizin listeleme hatalarını ve diğer yaygın güvenlik açıklarını tarayacaktır.

Press enter or click to view image in full size

Pratik

1. Nmap ile Script Scan (- - script vuln)

Amaç: Hedef sistemde bilinen açıklıkları (vulnerability) tespit etmek.

Komut:

nmap --script vuln 192.168.1.20

Açıklama:

  • --script vuln: Nmap’in vuln kategorisindeki tüm NSE (Nmap Scripting Engine) betiklerini çalıştırır.
  • 192.168.1.20: Hedef IP adresi.
Press enter or click to view image in full size

2. Nikto ile Web Sunucu Taraması

Amaç: Web sunucusunda bulunan zayıflıkları, default dosyaları, eski yazılım sürümlerini tespit etmek.

Komut:

nikto -h https://plan345.com/

Açıklama:

  • -h: Hedef web sitesinin URL'sini belirtir.
  • https://plan345.com/: Taranacak olan web sitesinin adresidir.
Press enter or click to view image in full size

3. Enum4linux ile SMB Paylaşım ve Kullanıcı Taraması

Amaç: SMB (Windows paylaşım protokolü) üzerinden kullanıcılar, paylaşımlar, grup bilgileri gibi verileri toplamak.

Komut:

enum4linux -a 192.168.1.10

Açıklama:

  • -a: Tüm bilgi toplama işlemlerini otomatik yapar (user listesi, share, OS info, vb.)
Press enter or click to view image in full size
Press enter or click to view image in full size
Press enter or click to view image in full size

4. FTP, SSH, Telnet Servislerinden Banner Alma

Amaç: Servis banner’ını (yani servis tipi ve versiyon bilgisi) almak. Bu bilgilerle açıklar araştırılabilir.

On-line Port Tarama Teknikleri

Port tarama işlemleri, web siteleri üzerinden de yapılabilir. On-line port taramak için https://viewdns.info/portscan web sitesi kullanılabilir.

Press enter or click to view image in full size
Press enter or click to view image in full size

FTP için:

nc <ip adresi> 21

ftp portu açık ip için çıktı (On-line Port Tarama Teknikleri kısmındaki görselden bakabilirsiniz.)
ftp ip kapalı port için çıktı (On-line Port Tarama Teknikleri kısmındaki görselden bakabilirsiniz.)

SSH için:

nc <ip adresi> 22

ssh portu açık ip için çıktı (On-line Port Tarama Teknikleri kısmındaki görselden bakabilirsiniz.)
ssh portu kapalı ip için çıktı (On-line Port Tarama Teknikleri kısmındaki görselden bakabilirsiniz.)

Telnet için:

nc <ip adresi> 23

telnet portu kapalı ip için çıktı (On-line Port Tarama Teknikleri kısmındaki görselden bakabilirsiniz.)

Telnet portu açık bir ip adresi bulamadım. shodan.io ile bulunabilir ancak şuan web sitesinde filtreleme işleminde hata veriyor. Bura üzerinden filtreleme işlemi yaparak telnet portu açık bir ip adresi bulup siz kendiniz deneyebilirsiniz.

shodan.io Kullanımı

SHODAN (Sentient Hyper-Optimised Data Access Network), önsezileri güçlü en uygun veri erişim ağı anlamını taşır. Saldırganlar, pasif keşif aşamasında hedef sistemlerin altyapılarına erişebilmek ve daha ayrıntılı bilgi toplayabilmek için shodan.io web sitesini kullanabilirler. Bu nedenle shodan, hackerların arama motoru olarak bilinir. Bu arama motoru, dünya üzerinde internete bağlı olan farklı türlerdeki bilgi işlem sistemini tespit eder. Bilgi işlem sistemlerinde yer alan cihazlar hakkında bilgi toplar.

Kullanıcılar, shodan arama motorunu kullanarak ülke ve şehir bazlı filtreleme yapabilir. Filtreleme sonucunda tespit edilen sistem üzerindeki port ve servis bilgilerine, IP adreslerine ulaşılabilir.

Press enter or click to view image in full size

shodan.io Filtreleme Kullanımı

Aşağıdaki işlem adımlarına göre shodan arama motorunu kullanınız.

1. Adım: shodan.io web sayfasını açınız.

2. Adım: TELNET hizmeti açık olan cihazları görmek için aramakutusuna filtre uygulayınız .

port:23

Press enter or click to view image in full size

Dilerseniz ülke,şehir vb. birçok filtre mevcut.

Press enter or click to view image in full size

Bu filtreleme işleminden sonra sonuçlar aşağıdaki gibi listelenecektir. Burada listelenen ip adreslerini inceleyip kullanabilirsiniz.Hatta bulduğunuz ip adreslerini https://viewdns.info/portscan (On-line Port Tarama) web sitesinden de araştırabilirsiniz.

Press enter or click to view image in full size

Metasploitable Uygulama

Metasploitable2, uygulamalı sızma testi eğitimleri ve güvenlik araştırmalarında kullanılmak için oluşturulan bir test ortamıdır. Siber güvenlik eğitimlerinde zafiyetli bir test ortamına ihtiyaç duyulmaktadır, bunun için Metasploitable 2 uygulaması kullanılabilir.

Kurulumu

Metasploitable’ı İndirme

Press enter or click to view image in full size
  • ZIP dosyasını indirince, uygun bir klasöre çıkart (Metasploitable2-Linux.vmdk dosyası oluşacak).

VirtualBox ile Kurulum

  • VirtualBox’ı aç → New (Yeni) butonuna tıkla.
  • İsimMetasploitable2
    Tip: Linux
    Sürüm: Ubuntu (32-bit)
Press enter or click to view image in full size

Ubuntu seçeneği yoksa Debian (32-bit) veya Linux → Other Linux (32-bit) seçebilirsin. Ama 64-bit seçme, çünkü Metasploitable 2 tamamen 32-bit bir sanal disk olarak hazırlanmış. VirtualBox’ta 64-bit seçersen bazen çalışıyor, ama gereksiz uyumsuzluk riski olur (özellikle eski çekirdek/servislerde).

  • RAM: 512 MB (daha fazlası gerekmez).
  • Hard disk → Use an existing virtual hard disk file seçeneğini işaretle → Metasploitable2-Linux.vmdk dosyasını seç.
Press enter or click to view image in full size
  • Finish ile tamamla.
Press enter or click to view image in full size

Ek olarak sanal cihazımıza sağ tıklayıp Settings kısmından Network alanında Bridge Adapter ve Promisscuous Mode : “Allow All” seçin.Aynı Network ayarı kali cihazınızda da yapın.Bu sayede kali tarafından Metasploitable zafiyetli cihazı görebiliriz.

Press enter or click to view image in full size

Bu uygulama, Metasploitable adında kasıtlı olarak zafiyetli bırakılmış bir işletim sistemi üzerinde, Kali Linux ve Metasploit Framework kullanarak bir güvenlik zafiyetinin nasıl tespit edilip analiz edildiğini göstermektedir.

Adım 1: Hedef Sistemin IP Adresini Belirleme

Analize başlamadan önce, zafiyet testi yapılacak olan Metasploitable makinesinin ağ üzerindeki IP adresini tespit etmek gerekir. Bu, ifconfig komutu ile kolayca yapılabilir. Resimdeki komut çıktısında, eth0 arayüzüne atanan IP adresinin 192.168.1.38 olduğu görülmektedir. Bu adres, sonraki adımlarda hedef sistem olarak kullanılacaktır.

Press enter or click to view image in full size

Adım 2: Hedef Sistemi Ağ Taraması ile Tanıma (Nmap)

Hedef sistemin IP adresi belirlendikten sonra, Kali Linux üzerinden nmap aracı kullanılarak hedef sistemdeki açık portlar, çalışan servisler ve versiyon bilgileri taranır. Resimde görüldüğü gibi, nmap -sV -sS 192.168.1.38 komutu ile yapılan tarama sonucunda, hedef makinede 21 numaralı portta vsftpd 2.3.4 servisinin çalıştığı tespit edilmiştir. Bu, uygulamanın ilerleyen bölümlerinde incelenecek olan potansiyel zafiyetin kaynağı olacaktır.

Press enter or click to view image in full size

Adım 3: Metasploit Framework’ü Başlatma

Hedef sistemdeki potansiyel zafiyetli servis belirlendikten sonra, bu servise yönelik zafiyet aramak için Metasploit Framework başlatılır. msfconsole komutu ile Metasploit arayüzüne girilir ve çerçeve hakkında genel bilgiler içeren karşılama ekranı görüntülenir.

Bunun için Kali tarafında yeni bir terminal daha açın. msfconsole diyerek arayüze erişin.

Adım 4: FTP, SMB, TELNET Servisleri İçin Metasploit Modülü Arama

Press enter or click to view image in full size
Press enter or click to view image in full size
Press enter or click to view image in full size

Adım 5: vsftpd Servisi İçin Metasploit Modülü Arama

Metasploit içinde, belirli bir servise yönelik modüller aramak için search komutu kullanılır. Bu adımda, hedef sistemde çalışan vsftpd servisi için uygun modüllerin listelenmesi sağlanmıştır. Çıktıda, auxiliary/dos/ftp/vsftpd_232 (Denial of Service saldırısı için) ve exploit/unix/ftp/vsftpd_234_backdoor gibi potansiyel modüllerin bulunduğu görülmektedir.

Press enter or click to view image in full size

Adım 6: Modülü Yapılandırma

Potansiyel bir zafiyet modülü (use auxiliary/dos/ftp/vsftpd_232 gibi use komutu ile kullanacağımız modülü seçiyoruz) seçildikten sonra, bu modülün kullanılabilmesi için gerekli ayarların yapılması gerekmektedir set RHOSTS 192.168.1.38 komutuyla hedef sistemin IP adresi modüle atanmıştır. Bu, modülün hangi adrese karşı çalışacağını belirler.

Tabi ki set işleminde vereceğimiz parametrelerin ne olması gerektiği ve hangilerinin zorunlu olduğunu belirlemek için show options diyerek bilgi edinebiliriz.

Adım 7: Zafiyetin Sömürülmesi ve Sonucun Gözlemlenmesi

Son olarak, yapılandırılan modül exploit komutu ile hedef sistem üzerinde çalıştırılır. Resimde, seçilen Denial of Service (DoS) modülünün çalıştırılmasına rağmen, sistemin bu zafiyete karşı savunmasız olmadığı (not-vulnerable) hatasıyla karşılaşılmıştır. Bu durum, hedef sistemin vsftpd_232 DoS zafiyetine karşı yamalı olduğunu veya bu versiyona sahip olmadığını göstermektedir. Bu test, her zaman başarılı bir sömürüyle sonuçlanmayabileceğini, ancak zafiyet arama sürecinin bir parçası olduğunu ortaya koymaktadır.

Press enter or click to view image in full size

Sizler de başka modülleri test ederek inceleyebilirsiniz.