NetBIOS/LLMNR ZEHİRLENMESİ Zafiyeti ve Çözüm Önerileri
“NetBIOS/LLMNR zehirlenmesi nedir?” sorusu sorulmadan önce önce NetBIOS ve LLMNR kavramlarının bilinmesi gerekir.
NetBIOS ve LLMNR Nedir?
LLMNR ve NBT-NS alternatif ana bilgisayar tanımlama yöntemleri olarak çalışan Microsoft Windows bileşenleridir. LLMNR bir yerel ağda DNS zarar gördüğünde makineler için isim çözümlemesini yapan, host tanımalarını sağlayan protokoldür. Aynı zamanda 2014 sonlarına doğru Linux üzerinde de gerekli entegrasyon gerçekleştirilmiştir. Ayrıca hem IPv4 hem de IPv6 adreslerini çözümlemek için kullanılabilir.
NetBIOS ise yerel ağ üzerinden iletişim sağlayan bilgisayarların birbirleri ile iletişim kurmasını sağlar ve isim çözümlemesini gerçekleştirir. Bir protokol değil, API’dır. Bir makineye işletim sistemi kurulduğunda bu makineye ait NetBIOS ismi atanır. “nbtstat” konutu ile cmd ekranında NetBIOS isimlerini ve hizmetlerini görebilirsiniz.
NetBIOS Hizmetleri
- NetBIOS-NS: İsim kaydı ve isimlerin çözümlenmesi hizmetidir. Sadece IPv4 desteği sunmaktadır.
- NetBIOS-DGM: Bağlantısız iletişim için datagram dağıtım hizmetidir
- NetBIOS-SSN: Bağlantı yönelimli iletişim için oturum hizmetidir
Windows sistemlerde disk üzerindeki yerel, DNS önbelleği, DNS sorguları ve LLMNR protokolü ile bulunamayan alan adlarını çözmek için kullanılır. Broadcast olarak çalışır, bu yüzden IPv6’da çalışmaz sadece IPv4’te çalışır.
NetBIOS/LLMNR Zehirlenmesi Nasıl Yapılır?
Kullanıcı yerel ağdaki komşu makineye bağlanmak için istek attığında öncelikle DNS önbelleğinde sonra hosts dosyasına bakar. Sonuç alamadığında DNS sunucusuna sorgu gönderir. Sorgu olumsuz ise LLMNR sorgusu ve daha sonra NetBios-NS sorgusu yapar. Kurban makine yerel ağda olamayan bir makineye istek yaptığında saldırgan devreye girer. Aslında “Fileserver” sistemine erişmek isteyen kullanıcı yanlışlıkla “Fileeeeserver” sorgusu çalıştırdığı zaman bu yanlış sorgu ağdaki servisleri dinleyen saldırganı harekete geçirir.
Sorgu sonucu dönmeyen sistemde kendini gerçek makineymiş gibi tanıtır. Saldırgan Saldırıyı gerçekleştirmek için farklı araçlar kullanılabilir. Örneğin açık kaynak koda sahip “Responder” uygulamasını kullanarak bu sorgu sırasında kurban makinenin kullanıcı bilgileri ve NTLMv2 Hash değerini yakalamayı hedefler. Ele geçirdiği parola özetini çevrimiçi/çevrimdışı araçlar yardımıyla kırabilir ve parolanın şifrelenmemiş haline ulaşabilir.
Bu zafiyette saldırgan kendi IP adresini ulaşılmak istenen kaynakların adresi olarak göstererek kaynağa ulaşmak isteyen kullanıcıların kullanıcı adı/şifre gibi diğer hassas verilerine erişim sağlar. Yerel admin ya da domain admin oturumunun hash bilgilerini elde ettiğimizi düşünürsek oldukça tehlikelidir.
NetBIOS/LLMNR Zehirlenmesi Zafiyeti Nasıl Önlenir?
- Sızma testi ve web uygulama güvenlik testleri sırasında sıkça keşfedilen bu zafiyeti önlemek için LLMNR\NetBIOS’in group policy ve kullanıcı sistemlerinden kapatılması tarafımızdan tavsiye edilir. Yalnız LLMNR devre dışı bırakılması yeterli değildir. Böyle bir durumda NetBIOS-NS sorgusu devreye girer.
- LLMNR protokolü “Gpedit.msc -> Administrative Templates -> Network -> DNS Client -> Turn off Multicast Resolution seçeneğinin değeri “enable” yapılarak” kapatılabilir.
- NetBIOS protokolünde ise istemciler ve sunucular üzerinde TCP/IP konfigürasyonunda WINS tabına gelerek NetBIOS ayarı kapatılabilir. Ya da “regedit.exe” çalıştırılır. Ardından sırası ile HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\ sekmelerine girilir. ‘0’ olan DWORD değerinin ‘2’ ile değiştirilmesi gerekir.
- LLMNR / NetBIOS trafiğini engellemek için server tabanlı güvenlik yazılımı kullanın. SMB İmzalamanın etkinleştirilmesi, NTLMv2 geçiş saldırılarını durdurabilir. Ağ saldırı algılama ve önleme sistemleri kullanılabilir. Ayrıca tarayıcılardaki “Proxy server’ı otomatik algıla” seçeneğinin işaretlenmemelidir.
Penetrasyon testi sırasında size raporlanan bir NetBIOS/LLMNR zehirlenmesi zafiyeti yukarıdaki adımlar uygulanarak giderilebilmektedir.