Konuyu Okuyanlar: 1 Ziyaretçi

LLMNR ve NBT-NS Zehirlenmesi: Neden Kapatılmalı ve Nasıl Tespit Edilir

LLMNR ve NBT-NS Zehirlenmesi: Neden Kapatılmalı ve Nasıl Tespit Edilir
[Resim: attachment.php?aid=138]

Selam,

LLMNR ve NBT-NS, isim çözümlemesi başarısız olunca Windows'un yerel ağda "bu isim kimde?" diye bağırdığı protokoller. Saldırgan Responder benzeri araçlarla cevap verip kimlik bilgisi yakalayabilir. Bu yazıda neden kapatılacağını ve nasıl tespit edileceğini anlatıyorum. Lab ve kendi ağınız için.

Sorun özeti
Kullanıcı \\dosyaadi yazınca DNS bulamazsa LLMNR/NBT-NS devreye girer. Sahte yanıtla kurban saldırgana bağlanır; NTLMv2 challenge/response yakalanabilir. İç ağda hâlâ en sık lateral movement başlangıçlarından biri.

Kapatma (GPO)
  • LLMNR: Computer Configuration > Administrative Templates > Network > DNS Client > Turn off Multicast Name Resolution = Enabled
  • NBT-NS: arayüz özelliklerinden NetBIOS over TCP/IP disable veya PowerShell/GPO ile
Kod:
# Lab örneği: belirli arayüzde NetBIOS kapatma (indeks ortama göre) Get-CimInstance Win32_NetworkAdapterConfiguration | Where-Object {$_.IPEnabled} | Select Description, TcpipNetbiosOptions



Tespit
  • Ağda LLMNR/NBT-NS sorgularını IDS ile görün (Zeek/Suricata kuralları)
  • Windows'ta şüpheli logon Type 3 + kaynak IP olarak bilinmeyen cihaz
  • Honey- cred / decoy hesap ile Responder avı (kontrollü tatbikat)
Savunma tatbikatında kendi Responder'ınızı lab VLAN'ında çalıştırıp kapatma politikasının işe yaradığını doğrulayın.

Tamamlayıcı kontroller
  • SMB imzalama zorunlu
  • LDAP signing / channel binding
  • Yerel yönetici parolası rastgele (LAPS)
  • Tiering: günlük kullanıcıda local admin yok

Kaynaklar
  • Microsoft Docs: LLMNR
  • MITRE ATT&CK: Adversary-in-the-Middle, LLMNR/NBT-NS poisoning
  • SANS / çeşitli red team blogları (savunma odaklı okuyun)

Siz LLMNR'yi kurum genelinde kapattığınızda kırılan eski uygulamanız oldu mu?

DNS doğru mu?
LLMNR'yi kapatmadan önce iç DNS'in düzgün çalıştığından emin olun. Yanlış DNS + kapalı LLMNR = paylaşım ve yazıcı erişimi kırılır; kullanıcılar politikayı geri açtırır. Önce DNS sağlığı, sonra kapatma.

IPv6 komşuluk
Benzer zehirleme IPv6'da da mümkün (mitm6 senaryoları). IPv6'yı "kullanmıyoruz" diye açık bırakmayın; ya yönetin ya da bilinçli kapatın (kurum politikasına göre).


Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.


Ek DosyalarEkran Görüntüleri
   
Cevapla



Hızlı Menü: