MSSQL Veritabanının Çalıştığı Portların Nmap Komutları ve MSF Modülleri ile Tespit Edilmesi

MSSQL veritabanı sızma testlerinin ilk adımı MSSQL veritabanı yüklü bilgisayarların tespit edilmesidir. Bu yazıda, her biri farklı şekilde hizmet veren Microsoft SQL Server 2008 R2 veritabanı sunucularındaki MSSQLSERVER servisinin çalıştığı portlar nmap komutları ve MSF modülleri ile tespit edilecektir.

Bu yazıda tespit edilecek olan 5 veritabanı, bilgisayar adları MSSQL-SRV1, MSSQL-SRV2, MSSQL-SRV3, MSSQL-SRV4 ve MSSQL-SRV5 olan Windows Server 2008 R2 bilgisayarlarda yüklüdür. Bu bilgisayarlardan MSSQL-SRV1, MSSQL-SRV3 ve MSSQL-SRV5 bilgisayarlarında SQL Server Browser servisi otomatik olarak çalışmaktadır (Automatic Start). Bunun yanında, SQL Server (MSSQLSERVER) servisi; MSSQL-SRV2 ve MSSQL-SRV3 bilgisayarlarında varsayılan portta (TCP\1433) çalışmakta, MSSQL-SRV1 ve MSSQL-SRV4 bilgisayarlarında standart olmayan portlarda (25000 ve 60000) çalışmaktayken, MSSQL-SRV5 bilgisayarında ise dinamik portta çalışmaktadır. Ortamdaki bilgisayarların adları, IP adresleri, veritabanlarının çalıştığı portlar ve SQL Server Browser servisinin çalışma durumu aşağıdaki gibi özetlenebilir.

  • MSSQL-SRV1: 10.3.0.217:25000 –> Browser servisi çalışıyor
  • MSSQL-SRV2: 10.3.0.179:1433
  • MSSQL-SRV3: 10.3.0.236:1433 –> Browser servisi çalışıyor
  • MSSQL-SRV4: 10.3.0.249:60000
  • MSSQL-SRV5: 10.3.0.163: 49159 (Dinamik port ataması) –> Browser servisi çalışıyor

MSSQL veritabanlarının bulunduğu ortamda bir adet Kali bilgisayar bulunmaktadır. Kali bilgisayar kullanılarak her veritabanının çalıştığı port tek tek tespit edilecektir. Ortamdaki 5 veritabanı sunucusunun IP adresleri ARP sorgusu ile tespit edilebilir.

arp-scan -l

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-01

Ortamdaki 5 Windows bilgisayardaki açık tüm portlar aşağıdaki Nmap komutu ile tespit edilebilir. 10.3.0.163 ve 10.3.0.179 IP adresli bilgisayarlar için açık portlar aşağıdaki gibidir.

nmap -sS -Pn -n –open -p* 10.3.0.163 10.3.0.179 10.3.0.217 10.3.0.236 10.3.0.249

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-02

10.3.0.217 ve 10.3.0.236 IP adresli bilgisayarlar için açık portlar aşağıdaki gibidir.

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-03

10.3.0.249 IP adresli bilgisayarlar için açık portlar aşağıdaki gibidir.

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-04

Veritabanlarının çalıştığı portların tespit edilme işlemi 3 farklı durum için incelenecektir.

  • Kurulumu standart ayarlarla gerçekleştirilen MSSQL veritabanında MSSQLSERVER servisinin çalıştığı portun tespit edilmesi
  • Varsayılan portu değiştirilen ve SQL Browser servisi açık olan MSSQL veritabanında MSSQLSERVER servisinin çalıştığı portun tespit edilmesi
  • Varsayılan portu değiştirilen ve SQL Browser servisi kapalı olan MSSQL veritabanında MSSQLSERVER servisinin çalıştığı portun tespit edilmesi

Her bir durum aşağıdaki gibi alt başlıklarda incelenebilir.

 

1) Standart Kurulum Ayarlarıyla Çalışır Durumdayken

Nmap komutu kullanılarak, ortamdaki 5 Windows bilgisayardan sadece 2 tanesinin (10.3.0.179 ve 10.3.0.236) varsayılan portta MSSQL veritabanı hizmeti verdiği tespit edilmektedir.

nmap -sS -Pn -n –open -p1433 10.3.0.163 10.3.0.179 10.3.0.217 10.3.0.236 10.3.0.249

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-05

Varsayılan portta çalışan veritabanına versiyon taraması yapılarak veritabanı hakkında ayrıntılı bilgi edinilebilir.

nmap -sS -Pn -n –open -p1433 10.3.0.179 -sV

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-06

Ayrıca Nmap ms-sql-info betiği kullanılarak da benzer bilgiler elde edilebilir.

nmap -sS -Pn -n –open -p1433 10.3.0.179 –script ms-sql-info

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-07

10.3.0.236 IP adresli bilgisayara versiyon tespiti ve betikle tarama yapıldığında benzer sonuçlar alınır. Sonuç olarak 10.3.0.179 ve 10.3.0.236 IP adreslerinin TCP\1433 portunda SQL Server (MSSQLSERVER) servisinin çalıştığı tespit edilmiştir.

 

2) Standart Dışı Port ve SQL Browser Servisi Çalışır Durumdayken

Güvenlik sebebiyle, MSSQL veritabanı varsayılan port haricindeki bir port üzerinden çalışacak şekilde ayarlanmış olabilir. Bu gibi bir durumda, SQL Browser servisi açılır. Bu servis, harici uygulamalara ve kullanıcılara bağlantı için kullanılır. Ayrıca kurumlarda kullanılan veritabanları arasında Cluster yapı kurmak için de bu servisin çalışması gerekebilmektedir. SQL Browser servisi, UDP\1434 portundan hizmet vermektedir ve MSSQLSERVER servisinin hizmet verdiği TCP portunun tespit edilmesi için UDP\1434 portunun verdiği cevap incelenebilir. SQL Browser servisinin çalıştığı portun değiştirilmesi bir takım sıkıntılara sebep olabildiği için de, UDP port numarası genellikle değiştirilmemektedir.

Nmap komutu kullanılarak, ortamdaki 5 Windows bilgisayardan 3 tanesinde (10.3.0.163, 10.3.0.217 ve 10.3.0.236) SQL Browser servisinin hizmet verdiği tespit edilmektedir.

nmap -sU -Pn -n –open -p1434 10.3.0.163 10.3.0.179 10.3.0.217 10.3.0.236 10.3.0.249

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-08

UDP\1434 portu açık olan veritabanlarına versiyon taraması yapıldığında, MSSQLSERVER servisinin çalıştığı port tespit edilebilir.

nmap -sU -Pn -n –open -p1434 10.3.0.217
nmap -sU -Pn -n –open -p1434 10.3.0.217 -sV

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-09

SQL Browser servisinin hizmet verdiği bilgisayarların ve portların tespiti için MSF mssql_ping auxiliary modülü de kullanılabilir. Bu amaçla, modül seçilir ve seçenekleri incelenir.

search mssql_ping
use auxiliary/scanner/mssql/mssql_ping
show options

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-10

Modüle taranacak ağın bilgisi verilerek seçenekler kontrol edilir.

set RHOSTS 10.3.0.0/24
show options

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-11

Modül çalışıtırılır.

run

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-12

Sonuç olarak 10.3.0.163, 10.3.0.217 ve 10.3.0.236 IP adresli bilgisayarlardaki SQL Server (MSSQLSERVER) servisinin çalıştığı portlar 49159, 25000 ve 1433 olarak tespit edilmiştir.

Ancak, varsayılan olmayan portlardan TCP\25000 portuna Nmap ile versiyon taraması yapıldığında veya betik ile tarama yapıldığında, ayrıntılı bir bilgi elde edinilememektedir.

nmap -sS -Pn -n –open -p25000 10.3.0.217
nmap -sS -Pn -n –open -p25000 10.3.0.217 -sV
nmap -sS -Pn -n –open -p25000 10.3.0.217 –script ms-sql-info

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-13

Bunun yerine port vermeden Nmap betik taraması yapıldığında veritabanı ile ilgili bilgiler elde edilebilmektedir.

nmap -sS -Pn -n –open 10.3.0.217 –script ms-sql-info

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-14

10.3.0.163 IP adresli bilgisayara da port vermeden Nmap betik taraması yapıldığında benzer sonuçlar alınır. Sonuç olarak 10.3.0.163 ve 10.3.0.217 IP adreslerinin TCP\49159 ve TCP\25000 portlarında SQL Server (MSSQLSERVER) servisi çalıştığı tespit edilmiştir.

 

3) Standart Dışı Port ve SQL Browser Servisi Çalışmıyor Durumdayken

Varsayılan portu değiştirilmiş olan ve SQL Browser servisi kapalı olan veritabanlarında MSSQLSERVER servisinin çalıştığı portun tespiti için kimlik doğrulaması sırasında alınan cevaba göre yorumlama yapılabilir.

10.3.0.249 IP adresli bilgisayarın UDP\1434 portunun kapalı olduğu görülmektedir.

nmap -sU -Pn -n -p1434 10.3.0.249

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-15

10.3.0.249 IP adresli bilgisayarda MSF mssql_payload istismar modülü ile MSSQLSERVER servisine kimlik doğrulatılmaya çalışıldığında, doğru port numarası için “Invalid SQL Server Credentials” hatası alınmaktadır. Bunun yanında, hatalı bir porttan MSSQLSERVER servisi için kimlik doğrulamaya çalışıldığında ise o portta çalışan servise göre farklı hata mesajları alınabilmektedir.

show options
run
set RPORT 60000
run

detecting-mssql-server-and-identifying-port-number-that-mssqlserver-service-runs-using-nmap-commands-and-msf-modules-16

Sonuç olarak 10.3.0.249 IP adresli bilgisayarın TCP\60000 portunda SQL Server (MSSQLSERVER) servisinin çalıştığı tespit edilmiştir.

 

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.