RDP Attacks and Mitigation yazımda sizlere RDP ataklarından bir örnek vererek RDP güvenliği nasıl sağlanması gerekir bunun hakkında detaylıca bahsedeceğim. Öncellikle yanlış yapılandırılmış ağ yapılarında tehlikeli durumlar oluşabilmektedir. Seth aracı ile sizlere küçük bir penetrasyon testi yapıp bu durumlardan nasıl korunabilir anlatacağız.
Aşağıdaki Ekran bizlere çok şey anlatmaktadır. Yaptığımız RDP bağlantısının güvenilir olmadığını görebiliyoruz. Çünkü RDP SSL sertifikasının doğru olmadığı açıkça ortadır.
Peki Burada Evet seçeneği tıklayarak geçmekteyiz. Peki Neler olabilir senaryoyu beraber inceleyelim.
Ortamda DC02 ,Client1 ve Client2 Makinemiz bulunmaktadır.
- DC02=10.10.10.18
- Client1=10.10.10.214
- Client2=10.10.10.213
ip adreslerine sahiptir.
Seth Aracı ile RDP MITM
Seth aracı Seth, açık metin kimlik bilgilerini çıkarmak için bağlantıyı düşürmeye çalışan Python ve Bash’ten MitM RDP bağlantılarına yazılmış bir araçtır.
Client1’e doğru RDP bağlantısı gerçekleştiriyoruz.
Yine meşhur sayfamız geldi. Sertifika sıkıntımız. Bakalım evet dediğimizde neler olacaktır.
Authentication downgrade edilerek, cevap verip RDP yapılan sunucuya yönlendirme yaptık fakat ele geçirilen “koray\t2admin” şifresini görmekteyiz. Hatta Ekrana bastığımız tüm tuşlarında çıktılarını almaktadır.
Clear Text olarak password ve kullanıcı bilgisini sağlamış olduk.
Mitigation
Client Connection Level
İlk olarak Client Connection Level High olarak 128 bit encyption level geçiş sağlanır. Bu sayede client 128 bit kullanmasını zorunlu hale getirmekteyiz. Fakat tek başına yeterli değildir.
Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Security
Network Level Authentication
İkinci önemli bir güvenlik önemli ise NLA açılmasıdır. Network Level Authentication ile kimlik doğrulamaya zorlama yapıyoruz.
Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Security
Certification Warning and Not Connect
Bir sonraki alınacak önlem ise Eğer Terminal sunucusuna bağlanırken imzalı olmayan sertifika ile gelirse engellemek için do not connect seçeneği ile devam ediyoruz.
Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Connection
Yeniden RDP denediğimizde hata ile karşılaşırız. Bağlantı sağlayamayız. Sertifika ihtiyacımız olacaktır.
Server Authentication Certificate Template
Devamında bir önceki adımda bağlantı gerçekleştiremedik. Bu sebepten dolayı CA sunumuzda RDP Template oluşturduk ve Server authenticationda kullanılmasını enable etmiş olduk. Bir sonraki yazımızda CA RDP template oluşturmayı sizlere göstereceğim.
Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Security
Bu sayede RDP Bağlantılarımızı SSL ile güvene alabiliriz.
RDP Port Change
Default olarak kullanılan 3389 portunu 1024-65535 arasında değiştirebiliriz.
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
Sonuç olarak RDP Attacks and Mitigation yazımda sizlere RDP Attak ve Security konusunda bir kaç önemli noktaya değinmek istedim. Diğer Yazılarımı aşağıdaki kategorilerden takip edebilirsiniz.