Ağ Güvenliği Laboratuvarı: RDP Servis Analizi ve Zafiyet Taraması

Uzak masaüstü servisleri, özellikle kurumsal ağlarda en sık karşılaşılan servislerden biridir. Bir sızma testi veya güvenlik değerlendirmesi sırasında 3389/TCP (RDP - Remote Desktop Protocol) portunun açık olduğunu görmek önemli bir bulgu olabilir. Ancak yalnızca portun açık olması sistemin ele geçirilebileceği anlamına gelmez.


Uyarı: Bu içerik yalnızca yetkili sistemler üzerinde gerçekleştirilen güvenlik testleri içindir.


İçindekiler

  1. RDP Nedir?

  2. RDP Servisinin Tespiti

  3. Servis ve Sürüm Bilgisi Toplama

  4. Şifreleme Yapısının İncelenmesi

  5. NTLM Bilgilerinin Elde Edilmesi

  6. MS12-020 Güvenlik Açığı Kontrolü

  7. xFreeRDP ile Güvenli Bağlantı Testi

  8. Elde Edilen Bilgilerin Analizi

  9. Savunma Önerileri

  10. Sonuç


RDP Nedir?

Remote Desktop Protocol (RDP), Microsoft tarafından geliştirilen uzak masaüstü protokolüdür.

Varsayılan port:

TCP/3389

RDP sayesinde kullanıcılar uzaktaki Windows sistemlere grafiksel arayüz üzerinden erişebilir.

Kurumsal ortamlarda:

  • Sunucu yönetimi

  • Uzaktan destek

  • Sistem yönetimi

  • Sanal masaüstü altyapıları

için yaygın olarak kullanılmaktadır.


1. RDP Servisinin Tespit Edilmesi

İlk aşama ilgili portun gerçekten açık olup olmadığını belirlemektir.

nmap -sV -p3389 HEDEF_IP

Örnek:

nmap -sV -p3389 192.168.1.25

Parametreler

ParametreAçıklama
-sV                Servis sürüm tespiti
-p3389                Yalnızca RDP portunu tarar

Örnek çıktı:

PORT STATE SERVICE VERSION
3389/tcp open ms-wbt-server Microsoft Terminal Services

Bu çıktı:

  • Servisin aktif olduğunu,

  • RDP çalıştığını,

  • Nmap'in Microsoft Terminal Services tespit ettiğini

gösterir.


2. RDP Şifreleme Mekanizmasını İnceleme

RDP servisinin hangi güvenlik katmanlarını desteklediğini incelemek oldukça önemlidir.

Nmap NSE scripti:

nmap --script rdp-enum-encryption -p3389 HEDEF_IP

Örnek:

nmap --script rdp-enum-encryption -p3389 192.168.1.25

Amaç:

  • TLS desteğini öğrenmek

  • Network Level Authentication (NLA) kullanımını görmek

  • Güvenlik katmanlarını belirlemek

Örnek çıktı:

| rdp-enum-encryption:
| Security layer
| CredSSP (NLA): SUCCESS
| RDSTLS: SUCCESS
| SSL: SUCCESS
| Native RDP: SUCCESS

Sonuçların Yorumu

CredSSP (NLA)

En güvenli yöntemlerden biridir.

CredSSP (NLA): SUCCESS

görülüyorsa istemciler bağlantı kurmadan önce kimlik doğrulaması yapmalıdır.


Native RDP

Eski sistemlerde görülebilir.

NLA kullanılmıyorsa:

  • Kimlik doğrulama öncesi daha fazla bilgi sızabilir.

  • Bazı eski saldırılar mümkün olabilir.


Güvenlik Açısından Önemi

İdeal yapı:

CredSSP (NLA) = Enabled
TLS = Enabled

3. NTLM Bilgilerinin Toplanması

Nmap'in NSE modülü uzak sistem hakkında çeşitli kimlik bilgilerini pasif biçimde ortaya çıkarabilir.

Komut:

nmap --script rdp-ntlm-info -p3389 HEDEF_IP

Örnek:

nmap --script rdp-ntlm-info -p3389 192.168.1.25

Örnek çıktı:

| rdp-ntlm-info:
| Target_Name: SERVER01
| NetBIOS_Domain_Name: CORP
| NetBIOS_Computer_Name: SERVER01
| DNS_Domain_Name: corp.local
| DNS_Computer_Name: server01.corp.local
| Product_Version: 10.0.20348

Elde Edilebilecek Bilgiler

Bilgi            Açıklama
Hostname            Bilgisayar adı
Domain adı            Active Directory etki alanı
DNS bilgileri            İç ağ isimlendirmesi
İşletim sistemi sürümü            Windows sürümü hakkında ipucu

Bu bilgiler:

  • Ağ haritalama

  • Varlık envanteri oluşturma

  • Savunma zafiyetlerinin tespiti

için kullanılabilir.


4. MS12-020 Güvenlik Açığının Kontrolü

Microsoft tarafından yayımlanan MS12-020, eski Windows RDP servislerini etkileyen kritik bir güvenlik açığıdır.

Kontrol komutu:

nmap --script rdp-vuln-ms12-020 -p3389 HEDEF_IP

Örnek:

nmap --script rdp-vuln-ms12-020 -p3389 192.168.1.25

Örnek çıktı:

| rdp-vuln-ms12-020:
| VULNERABLE:
| Remote Desktop Protocol vulnerability (MS12-020)

Bu script yalnızca güvenlik açığının varlığını test eder.

Modern Windows sürümlerinin büyük çoğunluğu bu açığa karşı yamalanmıştır.


Etkilenen Sistemler

  • Windows XP

  • Windows Server 2003

  • Windows Server 2008 (yamasız)

  • Windows 7 (yamalanmamış)


5. xFreeRDP ile Güvenli Bağlantı Testi

Linux ortamında RDP istemcisi olarak sıklıkla:

xFreeRDP kullanılır.

Komut:

xfreerdp /v:HEDEF_IP /cert:ignore

Örnek:

xfreerdp /v:192.168.1.25 /cert:ignore

Parametre açıklaması:

Parametre        Açıklama
/v:        Hedef sistem
/cert:ignore        Sertifika uyarılarını yok sayar

Eğer sistem kimlik doğrulama istiyorsa:

Username:
Password:

ekranı görüntülenir.

Bu aşama:

  • RDP servisinin gerçekten erişilebilir olduğunu

  • Ağ seviyesinde engel bulunmadığını

  • NLA kullanımını

doğrulamaya yardımcı olur.


Örnek Keşif Süreci

# Servis doğrulama
nmap -sV -p3389 192.168.1.25
# Şifreleme analizi
nmap --script rdp-enum-encryption -p3389 192.168.1.25
# NTLM bilgileri
nmap --script rdp-ntlm-info -p3389 192.168.1.25
# MS12-020 kontrolü
nmap --script rdp-vuln-ms12-020 -p3389 192.168.1.25
# Bağlantı testi
xfreerdp /v:192.168.1.25 /cert:ignore

Savunma Tarafı İçin Öneriler

Kurumlar aşağıdaki önlemleri uygulamalıdır:

✅ Gereksiz RDP servislerini kapatın.

✅ İnternete doğrudan RDP açmayın.

✅ VPN üzerinden erişim sağlayın.

✅ Çok faktörlü kimlik doğrulama (MFA) kullanın.

✅ NLA'yı etkinleştirin.

✅ Güçlü parola politikaları uygulayın.

✅ Başarısız giriş denemelerini izleyin.

✅ Düzenli güvenlik yamaları yükleyin.

✅ RDP erişimlerini yalnızca belirli IP adresleriyle sınırlandırın.


Sonuç

3389 numaralı portun açık olması, sistem yöneticileri ve güvenlik uzmanları için önemli bir göstergedir. Ancak gerçek güvenlik değerlendirmesi; servis sürümünün, şifreleme mekanizmalarının, kimlik doğrulama yapılandırmasının ve yama seviyesinin incelenmesiyle yapılmalıdır.

Doğru yapılandırılmış bir RDP servisi, uzaktan yönetim için güvenli bir çözüm sunarken; yanlış yapılandırılmış veya güncel olmayan sistemler ciddi riskler oluşturabilir.


Ağ Güvenliği Laboratuvarı: RDP Servis Analizi ve Zafiyet Taraması

Siber güvenlik süreçlerinde hedef sistemin yüzey alanını haritalamak, hem saldırganlar (Red Team) hem de savunmacılar (Blue Team) için kritik bir adımdır. Ağda açık bir 3389 (RDP - Remote Desktop Protocol) portu ile karşılaşmak, sistem yöneticilerine doğrudan grafiksel erişim imkanı sunabileceği için her zaman dikkat çekicidir.

1. Keşif ve Bilgi Toplama Adımları

Ağ taramaları sırasında 3389 portunun açık olduğu tespit edildikten sonra, servisin detaylarını öğrenmek için Nmap'in güçlü betik (script) motoru olan NSE (Nmap Scripting Engine) devreye girer.

Servis Versiyon Tespiti

Bash
nmap -sV -p3389 HEDEF_IP
  • Mekanik: -sV parametresi, portta çalışan servisin tam sürümünü tespit etmeye çalışır. RDP genellikle standart yapılandırmalarda çalışsa da, versiyon tespiti savunmacılar için varlık envanteri (asset inventory) oluşturmada, saldırganlar için ise sürüme özel bilinen zafiyetleri (CVE) araştırmada kullanılır.

Şifreleme Protokollerinin Analizi

Bash
nmap --script rdp-enum-encryption -p3389 HEDEF_IP
  • Mekanik: Bu betik, hedef RDP sunucusunun desteklediği şifreleme seviyelerini ve protokolleri (örneğin; SSL/TLS, CredSSP veya standart RDP şifrelemesi) listeler.

  • Önemi: Zayıf veya eski şifreleme algoritmalarının kullanılıp kullanılmadığını (örneğin, RC4 zafiyetleri) tespit etmek, Ortadaki Adam (MitM) saldırılarına karşı risk durumunu belirlemek için gereklidir.

NTLM Bilgi Çıkarımı

Bash
nmap --script rdp-ntlm-info -p3389 HEDEF_IP
  • Mekanik: RDP servisi NLA (Network Level Authentication) gerektiriyorsa, genellikle NTLMSSP (NTLM Security Support Provider) üzerinden iletişim kurar. Bu Nmap betiği, kimlik doğrulaması yapmadan hedeften Windows Domain adı, bilgisayarın NetBIOS adı ve işletim sistemi sürümü gibi kritik iç ağ bilgilerini sızdırır. Savunma mimarisinde bu bilgi sızıntısı, Active Directory yapısının ifşa olması anlamına gelir.

Zafiyet Taraması (Örnek: MS12-020)

Bash
nmap --script rdp-vuln-ms12-020 -p3389 HEDEF_IP
  • Mekanik: RDP protokolünde geçmişte yaşanmış en kritik açıklardan biri olan MS12-020 (CVE-2012-0002) için tarama yapar.

  • Önemi: Bu zafiyet, saldırganın uzaktan özel olarak hazırlanmış paketler göndererek sunucuyu çökertmesine (Mavi Ekran - DoS) veya uzaktan kod çalıştırmasına (RCE) olanak tanır. Laboratuvar ortamlarında yama yönetiminin (patch management) önemini göstermek için ideal bir örnektir.

2. RDP Bağlantı Testleri

Keşif aşaması tamamlandıktan sonra, elde edilen veriler ışığında servise meşru bir araç ile bağlanılarak testler gerçekleştirilir.

Bash
xfreerdp /v:HEDEF_IP /cert:ignore
  • Mekanik: xfreerdp, Linux tabanlı sistemlerde RDP bağlantısı kurmak için kullanılan açık kaynaklı ve yetenekli bir istemcidir.

  • /cert:ignore Parametresi: RDP sunucusunun sunduğu SSL/TLS sertifikasının geçerliliğini denetlemeyi atlar. Eğitim ve test laboratuvarlarında (self-signed sertifikalar kullanıldığı için) kolaylık sağlasa da, gerçek dünyada bu parametrenin kullanımı trafiğin araya girilerek (MitM) dinlenmesine zemin hazırlayabilir.

3. Blue Team Savunma Stratejisi: RDP Nasıl Sıkılaştırılır?

Bir sistem yöneticisi veya siber güvenlik uzmanı olarak, RDP servisinin dış ağlara açık olması veya iç ağda güvensiz yapılandırılması kabul edilemez bir risktir. Bu riskleri bertaraf etmek için şu adımlar uygulanmalıdır:

  1. İnternete Kapalı Tutun: RDP (Port 3389) kesinlikle doğrudan internete (WAN) açık olmamalıdır. Uzak bağlantı gerekiyorsa VPN (Virtual Private Network) tünelleri veya RDP Gateway sunucuları kullanılmalıdır.

  2. NLA (Network Level Authentication) Aktifleştirin: Bağlantı kurulmadan önce kimlik doğrulaması yapılmasını zorunlu kılarak, MS12-020 gibi kimlik doğrulama öncesi (pre-auth) RCE zafiyetlerinin önüne geçer.

  3. Erişim Kontrolleri ve Loglama: Sadece belirli IP adreslerinden veya VLAN'lardan RDP erişimine izin verecek Firewall kuralları yazılmalıdır. Ayrıca başarısız giriş denemeleri (Brute-Force tespiti) merkezi bir log sunucusunda (SIEM) izlenmelidir.

  4. Güncel Tutun: Sistemlerin Windows güncellemeleri düzenli olarak yapılmalı, yeni keşfedilen RDP zafiyetlerine karşı sistemler yamanmalıdır.

Wireshark ve Tshark ile RDP Trafik Analizi

Bir önceki bölümde Nmap ve xfreerdp kullanarak hedef sistemdeki 3389 portunu keşfetmiş ve zafiyet taraması gerçekleştirmiştik. Ancak gerçek bir siber güvenlik uzmanı, araçların ekrana yazdırdığı çıktıların ötesine geçerek ağ kablosundan veya havadan geçen paketlerin anatomisini okuyabilmelidir.

Bu bölümde, RDP (Remote Desktop Protocol) bağlantısının el sıkışma (handshake) sürecini ve Nmap taramalarının ağda bıraktığı izleri Wireshark (Grafiksel Arayüz) ve Tshark (Komut Satırı) ile nasıl analiz edeceğimizi inceleyeceğiz.

1. RDP Bağlantısının Anatomisi (El Sıkışma Süreci)

Standart bir RDP oturumu başladığında, TCP 3'lü el sıkışmasının (SYN, SYN-ACK, ACK) ardından karmaşık bir müzakere süreci başlar. RDP, verilerini TPKT (ISO Transport Service) ve COTP (Connection-Oriented Transport Protocol) protokolleri içerisine kapsüller (encapsulation).

Paket yakalama araçlarında şu aşamaları gözlemleriz:

  1. Connection Initiation (Bağlantı Başlatma): İstemci, X.224 Connection Request PDU paketi gönderir. Hangi güvenlik protokolünün (Standart RDP, TLS, CredSSP) kullanılacağı burada talep edilir.

  2. Basic Settings Exchange (Temel Ayar Değişimi): Ekran çözünürlüğü, klavye dili ve istemci adı (hostname) gibi bilgiler sunucuya iletilir.

  3. Channel Connection (Kanal Bağlantısı): Ses, pano (clipboard) ve dosya paylaşımı gibi sanal kanallar oluşturulur.

  4. Security Setup (Güvenlik Kurulumu): Şifreleme anahtarları takas edilir.

2. Tshark ile Terminal Üzerinden RDP İz Avı

Öğrencilerin komut satırı hakimiyetini artırmak (özellikle Red Team senaryolarında grafik arayüz bulunmayan sunucularda çalışırken) Tshark kullanımı kritiktir.

Ağ Arayüzünü Dinlemeye Başlamak: Sadece 3389 portuna gelen ve giden trafiği yakalamak için şu komut kullanılır:

Bash
tshark -i eth0 -f "tcp port 3389" -w rdp_analiz.pcap
  • (Not: eth0 yerine laboratuvarınızdaki aktif ağ arayüzünü yazmalısınız.)

Yakalanan Trafikte Sadece RDP Paketlerini Filtrelemek: Kaydedilen .pcap dosyasını okurken TCP el sıkışmalarını gizleyip doğrudan RDP protokolü detaylarına odaklanmak için:

Bash
tshark -r rdp_analiz.pcap -Y "rdp or tpkt"

Nmap NTLM Sızıntısını Tespit Etmek (Blue Team): Nmap'in rdp-ntlm-info betiği çalıştırıldığında, NTLMSSP protokolü üzerinden Domain ve Hostname bilgileri açık veya kolay çözülebilir şekilde iletilir. Tshark ile bu sızıntıyı yakalamak için:

Bash
tshark -r rdp_analiz.pcap -Y "ntlmssp" -V

Bu komutun çıktısında, makinenin Windows sürümü ve NetBIOS adı gibi kritik istihbarat verilerinin ağda nasıl dolaştığı net bir şekilde görülecektir.

3. Wireshark ile Görsel Analiz (Blue Team Perspektifi)

Grafiksel arayüz, paketlerin hiyerarşik yapısını (OSI Modeli katmanları) öğrencilere göstermek için mükemmeldir.

Wireshark Filtreleme Kuralları: Üstteki arama çubuğuna (Display Filter) sadece tcp.port == 3389 yazmak yerine daha spesifik filtreler kullanılmalıdır:

  • Sadece RDP paketlerini görmek için: rdp

  • Nmap zafiyet tarama (MS12-020) paketlerini tespit etmek için: Nmap, bu taramayı yaparken özel boyutlu, parçalanmış (fragmented) RDP paketleri gönderir. Anormal boyuttaki TPKT paketlerini incelemek, saldırı girişimini doğrular.

  • Şifrelenmemiş RDP bağlantı denemeleri: rdp.encryption_level == 0

Öğrenciler İçin Kritik Soru: "Bu Saldırıyı Nasıl Gördük?"

Eğer Nmap ile rdp-enum-encryption taraması yapılmışsa, Wireshark üzerinde arka arkaya çok sayıda Connection Request (Bağlantı İsteği) ve sunucudan dönen Connection Confirm (Bağlantı Onayı) paketleri görülür. Normal bir kullanıcı saniyeler içinde 15 farklı şifreleme algoritmasını test edemeyeceğine göre, bu durum Mavi Takım için bariz bir "Otomatize Tarama/Reconnaissance" alarmıdır.

Laboratuvar Çıktısı: Güvenlik yalnızca portları kapatmak değil, o portlardan geçen verinin ne anlama geldiğini bilmektir. Ağ dinleme araçları, sistemlere gönderilen körleme komutların gerçek dünyadaki fiziksel (paket bazlı) karşılığını gösteren en iyi öğretmenlerdir.


Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu