LLMNR ve Netbios Güvenlik açıklarını kapatmak

Broadcast protokolleri NetBIOS ve LLMNR , çoğu modern ağda yalnızca eski Windows sürümleriyle uyumluluk için kullanılır. Her iki protokol de sızdırma ve MITM saldırılarına karşı hassastır. Metasploit'te, yerel ağdaki ( dahil kullanıcı kimlik bilgilerini ele geçirmek için yayın yapan NetBIOS ve LLMNR protokollerindeki güvenlik açıklarından kolayca yararlanmanıza olanak tanıyan hazır modüller vardır NTLMv2 karmaları ) . Ağ güvenliğinizi artırmak için bu protokolleri etki alanı ağında devre dışı bırakmanız gerekir.

Bağlantı-Yerel Çok Noktaya Yayın Ad Çözümleme (LLMNR) Protokolü:

LLMNR (UDP/5355, Bağlantı-Yerel Çok Noktaya Yayın Ad Çözümlemesi) Vista'dan başlayarak tüm Windows sürümlerinde kullanılır ve IPv6 ve IPv4 istemcilerinin yerel L2 ağ kesimindeki yayın istekleri nedeniyle DNS sunucusu kullanmadan komşu bilgisayarların adlarını çözmesine olanak tanır. Bu protokol, DNS kullanılamıyorsa otomatik olarak kullanılır. Yani etki alanında DNS sunucuları varsa bu protokole gerek yoktur.

TCP / IP Protokolü Üzerinden NetBIOS

TCP/IP üzerinden NetBIOS veya NBT-NS (UDP/137,138;TCP/139), LLMNR'nin öncülü olan ve yerel ağda kaynakları yayınlamak ve aramak için kullanılan bir yayın protokolüdür. Varsayılan olarak, TCP/IP üzerinden NetBIOS desteği, tüm Windows sürümlerinde tüm ağ arabirimleri için etkinleştirilmiştir.

Windows'ta, nbtstat komutunu kullanarak NetBIOS istatistiklerini ve mevcut TCP / IP bağlantılarını NBT üzerinden görüntüleyebilirsiniz. Bilgisayar adını IP adresinden almak için:

nbtstat -a 192.168.xxx.xxxx veya mevcut bilgisayarınızda nbtstat -c

Ne İşe Yarar?

Llmnr zehirlenmesi zafiyetinde saldırgan kullanıcı adı ve şifrelerin yerel ağda basit bir şekilde kendisine vermesini bekler. Llmnr ve nbt-ns görünüşte zararsız bir bileşen olarak görünür ancak aynı sub-netteki makinelerin dns zarar gördüğünde hostu tanımak için birbirlerine yardım etmesini sağlar. Bir makine özel bir hostu çözümlemeye çalışırken DNS çözümü başarısız olduğunda, makine yerel ağdaki diğer makinelere doğru adresi sormak için llmnr veya ntb-ns protokolleri üzerinden istekte bulunur. Bu zararsız bir teori gibi görünür ancak büyük bir güvenlik açığı ile saldırganlar bir sistemde tam erişim sağlamak için kullanabilirler.

Güvenlik Açığının Gerçekleşmesi:

Bir saldırgan LLMNR protokolünün UDP/5355 portu veya NBT-NS UDP/137 portu üzerinden yapılan broadcast yayınını dinler. 
Mevcut dns sunucusunu anlık zehirler ve networkteki cihazların kendisine gelmesini sağlar.
Kendine gelen makinelerin kullanıcı adı ve token kodlarını çözer ve bu token kodları ile sunuculara istekte bulunur bir adminin hesabını elegeçirmeyi bekler.
Admin hesabını elegeçirince active directoy'e sızar ve ya ezik userlardan birinin hakkını yükseltir veya kendine yeni bir domain admin yaratır. Administrator kullanıcısı açıksa onunla işlemlerine devam eder veya servis hesabı olarak kullanılan domain admin hesaplarını kullanır ki dikkat çekmesin.

Nasıl önlenebilir:

  • LLMNR ve Netbios protokolleri aynı anda devre dışı bırakılmalı.
  • DHCP scope üzerinden netbios engellenmeli
  • Domain admin hesapları uygulamaların servislerine yazılmamalı uygulamalar sistem veya network hesapları ile çalışabilecek yetkilerde olmalı bir uygulama domain admin hakkı olmadan çalışmıyorsa sisteminizde bu uygulama daha en başında satın alınmamalı alternatif uygulama bakılmalı.
  • Vlanlar firewall cihazında sonlandırılmalı. aynı switch üzerinde olan cihazlar vlan sorgusu için firewall cihazına yönlendirilmeli.
  • Client makinelerin kendi aralarında iletişim kurmaları engellenmeli
  • Client makineler işi olmayan portları kullanamamalı SSH, Telnet, Ftp gibi.
  • Her client makine sadece ilgili olduğu sunuculara gidebilmeli ve ilgili yazıcısına

İŞLEMLERİMİZ:

Windows LLMNR servisini devredışı bırakmak için GPO kullanın

 

veya powerhell komutu ile kayıt defterinden kapatın. aslında en temiz yöntemi powershel üzerinden GPO ile tüm sahaya yüklemenizdir.

#NetBios hizmeti devredışı bırakmak
$regkey = "HKLM:SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces"
Get-ChildItem $regkey |foreach { Set-ItemProperty -Path "$regkey\$($_.pschildname)" -Name NetbiosOptions -Value 2 -Verbose}

#LLMNR kapatmak
$nicClass = Get-WmiObject -list Win32_NetworkAdapterConfiguration
$nicClass.enablewins($false,$false)

 

 Ayrıca DHCP scope Options üzerinden de kapatmanızda fayda var.

 

 

 

Kayıt defteri üzerinden kapatmak isterseniz aşağıdaki yolu kullanabilirsiniz

 

 

 

Bu ders için çalışma dosyaları

Netbios ve LLMNR açıpını kapatmak için PS komutu