Kurumsal Windows ortamlarında güvenlik sıkılaştırma çalışmaları yapılırken genellikle antivirüs, EDR, firewall, patch yönetimi ve parola politikaları ön plana çıkar. Ancak saldırganların iç ağda sıkça kullandığı bazı eski Windows isim çözümleme mekanizmaları çoğu zaman gözden kaçabilir. Bunların başında NetBIOS over TCP/IP, LLMNR, LMHOSTS ve bazı yapılarda hâlâ kullanılan WINS gelir.
Bu bileşenler geçmişte küçük ağlarda veya DNS altyapısının olmadığı yapılarda kolaylık sağlamak amacıyla kullanılıyordu. Fakat modern Active Directory ortamlarında DNS zaten merkezi isim çözümleme görevini üstlendiği için bu eski protokollerin açık kalması gereksiz bir saldırı yüzeyi oluşturabilir.
Özellikle domain’e bağlı istemci ve sunucularda bu özelliklerin kapatılması, temel Windows hardening adımlarından biri olarak değerlendirilmelidir.
NetBIOS, LLMNR, LMHOSTS ve WINS Nedir?
Windows sistemlerde bir bilgisayar başka bir cihazın adını çözmeye çalıştığında öncelikli olarak DNS kullanılır. DNS başarısız olduğunda ise bazı eski veya alternatif isim çözümleme yöntemleri devreye girebilir. Bu mekanizmalar bazı ortamlarda işe yarar görünse de kurumsal ağlarda saldırganlar tarafından kötüye kullanılabilir.
NetBIOS over TCP/IP Nedir?
NetBIOS over TCP/IP, eski Windows ağlarında bilgisayar adlarının bulunması ve bazı oturum iletişimlerinin sağlanması için kullanılan bir mekanizmadır. Microsoft dokümantasyonuna göre NetbiosOptions değeri NetBIOS over TCP/IP çalışma modunu belirler; 0 DHCP ayarını kullanır, 1 NetBIOS’u etkinleştirir, 2 ise NetBIOS’u devre dışı bırakır.
Modern Active Directory yapılarında isim çözümleme için DNS kullanıldığından NetBIOS çoğu ortamda artık zorunlu değildir. Buna rağmen bazı eski uygulamalar, eski yazıcı sistemleri, legacy dosya paylaşım yapıları veya eski domain trust senaryoları hâlâ NetBIOS’a ihtiyaç duyabilir. Bu nedenle kapatma işlemi tüm domain’e uygulanmadan önce test edilmelidir.
LLMNR Nedir?
LLMNR, yani Link-Local Multicast Name Resolution, DNS’in cevap veremediği durumlarda aynı yerel ağ segmentindeki cihazlara multicast sorgu göndererek isim çözümlemeye çalışan ikincil bir protokoldür. CIS/Tenable açıklamasına göre LLMNR, DNS sunucusu veya DNS istemci yapılandırması gerektirmeden aynı subnet üzerindeki istemciler arasında isim çözümleme sağlayabilir.
Sorun şu ki, bu sorgular yerel ağda yayınlandığı için aynı subnet üzerindeki kötü niyetli bir cihaz bu sorgulara sahte cevap verebilir. Bu durum credential capture, NTLM relay veya name resolution poisoning gibi saldırı senaryolarına zemin hazırlayabilir.
LMHOSTS Nedir?
LMHOSTS, NetBIOS isimlerini IP adreslerine eşlemek için kullanılan eski tip bir hosts dosyasıdır. Microsoft dokümantasyonunda EnableLmhosts değerinin Netbt\Parameters altında bulunduğu, REG_DWORD tipinde olduğu ve 0 veya 1 değerlerini alabildiği belirtilir. Varsayılan değer 1, yani etkin durumdur.
Günümüzde çoğu kurumsal ağda LMHOSTS dosyasına ihtiyaç yoktur. Eğer ortamda özel olarak LMHOSTS dosyası kullanılmıyorsa kapatılması önerilir.
WINS Nedir?
WINS, Windows Internet Name Service anlamına gelir. NetBIOS isimlerini merkezi bir veritabanı üzerinden IP adreslerine çözmek için kullanılır. Eski Windows ağlarında yaygın olsa da modern Active Directory ortamlarında yerini DNS’e bırakmıştır.
Microsoft, WINS altyapısı yoksa ve broadcast tabanlı isim çözümleme kullanılmıyorsa NetBT’nin devre dışı bırakılmasını veya uygun node type kullanılmasını belirtir.
Bu Özellikler Neden Kapatılmalı?
Kurumsal ağlarda temel hedef, istemcilerin isim çözümleme için yalnızca güvenilir DNS sunucularını kullanmasını sağlamaktır. LLMNR ve NetBIOS gibi protokoller ise DNS başarısız olduğunda yerel ağa sorgu yayabilir. Bu davranış, saldırganın ağ üzerinde sahte cevaplar vererek istemciyi kendi sistemine yönlendirmesine neden olabilir.
MITRE ATT&CK, name resolution poisoning ve SMB relay saldırılarına karşı LLMNR, mDNS ve NetBIOS’un ihtiyaç yoksa yerel güvenlik ayarları veya Group Policy üzerinden devre dışı bırakılmasını önerir. Aynı kaynakta host tabanlı güvenlik yazılımlarıyla bu trafiğin filtrelenmesi ve SMB Signing kullanılması da ek önlem olarak belirtilir.
Bu nedenle aşağıdaki hedefler güvenlik açısından önemlidir:
- DNS dışı gereksiz isim çözümleme mekanizmalarını kapatmak
- Yerel ağda credential capture riskini azaltmak
- NTLM relay saldırı yüzeyini küçültmek
- Domain cihazlarının tutarlı ve merkezi isim çözümleme kullanmasını sağlamak
- Eski protokollere bağımlılığı azaltmak
Kapatılması Önerilen Bileşenler
1. NetBIOS over TCP/IP Kapatma
NetBIOS ayarı her ağ adaptörü için ayrı tutulur. Bu yüzden sadece tek bir global registry değeri ile tüm adaptörleri kapatmak her zaman yeterli olmayabilir. En doğru yöntem, domain cihazlarında tüm adaptörleri dolaşan bir başlangıç betiği kullanmaktır.
İlgili registry yolu genel olarak şu yapıdadır:
HKLM\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\Tcpip_{GUID}
Buradaki NetbiosOptions değeri 2 yapılırsa NetBIOS over TCP/IP devre dışı bırakılır.
NetbiosOptions = 2
Microsoft’un NetbiosOptions açıklamasına göre 2 değeri NetBIOS’un devre dışı bırakıldığını ifade eder.
2. LLMNR Kapatma
LLMNR için önerilen yöntem Group Policy kullanmaktır.
GPO yolu:
Computer Configuration
└─ Policies
└─ Administrative Templates
└─ Network
└─ DNS Client
└─ Turn off multicast name resolution
Bu ayar Enabled yapılmalıdır.
Burada dikkat edilmesi gereken nokta şudur: Ayarın adı “Turn off multicast name resolution” olduğu için Enabled seçildiğinde LLMNR kapatılmış olur.
CIS/Tenable denetim içeriğinde de bu ayarın önerilen durumunun Enabled olduğu ve GPO yolunun Computer Configuration\Policies\Administrative Templates\Network\DNS Client\Turn off multicast name resolution olduğu belirtilir.
3. LMHOSTS Kapatma
LMHOSTS lookup özelliği aşağıdaki registry değeri üzerinden kapatılabilir:
HKLM\SYSTEM\CurrentControlSet\Services\NetBT\Parameters
EnableLMHOSTS = 0
EnableLmhosts değeri 0 yapıldığında LMHOSTS lookup devre dışı kalır. Microsoft dokümantasyonunda bu değerin 0 veya 1 alabildiği ve varsayılan olarak etkin geldiği belirtilmektedir.
4. WINS Adreslerini Temizleme
WINS yalnızca NetBIOS over TCP/IP kullanılan yapılarda anlamlıdır. Eğer kurumda aktif WINS sunucusu kullanılmıyorsa istemci adaptörlerinde statik WINS adresi bırakılmamalıdır.
Kontrol edilmesi gereken alan:
Network Adapter Properties
└─ IPv4 Properties
└─ Advanced
└─ WINS
Burada tanımlı Primary veya Secondary WINS adresleri varsa kaldırılmalıdır. DHCP üzerinden WINS dağıtılıyorsa DHCP scope options tarafı da ayrıca kontrol edilmelidir.
Domain Genelinde Önerilen Uygulama Yöntemi
Domain ortamlarında bu ayarların elle tek tek yapılması pratik değildir. En doğru yaklaşım, merkezi GPO ve startup script kombinasyonudur.
Önerilen yapı şu şekildedir:
- LLMNR kapatma işlemi GPO ile yapılır.
- NetBIOS ve LMHOSTS ayarları startup PowerShell script ile uygulanır.
- WINS adresleri DHCP ve adapter ayarları üzerinden temizlenir.
- Pilot OU üzerinde test yapılır.
- Sorun görülmezse tüm workstation OU’larına yayılır.
- Sunucular için ayrı değerlendirme yapılır.
- Değişiklik sonrası reboot ve doğrulama yapılır.
Örnek PowerShell Startup Script
Aşağıdaki script, domain cihazlarında başlangıç betiği olarak kullanılabilir. Script, tüm NetBT interface anahtarlarını dolaşarak NetbiosOptions değerini 2 yapar ve LMHOSTS lookup özelliğini kapatır.
# Disable-NetBIOS-LMHOSTS.ps1
# Purpose: Disable NetBIOS over TCP/IP on all adapters and disable LMHOSTS lookup.
# Recommended usage: Deploy as a Computer Startup Script via Group Policy.
$ErrorActionPreference = "SilentlyContinue"
# Disable NetBIOS over TCP/IP on all network interfaces
$netbtInterfacesPath = "HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces"
if (Test-Path $netbtInterfacesPath) {
Get-ChildItem $netbtInterfacesPath | ForEach-Object {
Set-ItemProperty -Path $_.PSPath -Name "NetbiosOptions" -Type DWord -Value 2
}
}
# Disable LMHOSTS lookup
$netbtParametersPath = "HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters"
if (Test-Path $netbtParametersPath) {
Set-ItemProperty -Path $netbtParametersPath -Name "EnableLMHOSTS" -Type DWord -Value 0
}
Write-Output "NetBIOS over TCP/IP and LMHOSTS lookup have been disabled. A reboot may be required."
Bu script GPO üzerinden şu alana eklenebilir:
Computer Configuration
└─ Policies
└─ Windows Settings
└─ Scripts (Startup/Shutdown)
└─ Startup
Script bilgisayar açılışında çalışacağı için kullanıcı oturumu açılmadan önce sistem seviyesinde uygulanır. Değişikliklerin sağlıklı şekilde aktif olması için istemcilerin yeniden başlatılması önerilir.
LLMNR İçin Registry Kontrolü
GPO uygulandıktan sonra istemcilerde aşağıdaki registry yolu kontrol edilebilir:
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient
Burada aşağıdaki değerin oluşması beklenir:
EnableMulticast = 0
PowerShell ile kontrol etmek için:
Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" |
Select-Object EnableMulticast
Eğer değer 0 ise LLMNR kapatma politikası uygulanmış demektir.
NetBIOS Kontrolü Nasıl Yapılır?
İstemci üzerinde aşağıdaki komut çalıştırılabilir:
ipconfig /all
Çıktıda ilgili adaptör altında şu satır kontrol edilir:
NetBIOS over Tcpip . . . . . . . : Disabled
PowerShell ile registry üzerinden kontrol etmek için:
Get-ChildItem "HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces" |
ForEach-Object {
Get-ItemProperty $_.PSPath | Select-Object PSChildName, NetbiosOptions
}
Beklenen değer:
NetbiosOptions : 2
LMHOSTS Kontrolü Nasıl Yapılır?
PowerShell ile aşağıdaki komut çalıştırılabilir:
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters" |
Select-Object EnableLMHOSTS
Beklenen değer:
EnableLMHOSTS : 0
GPO Uygulamasını Kontrol Etme
İstemci üzerinde aşağıdaki komutlarla GPO’nun uygulanıp uygulanmadığı kontrol edilebilir:
gpupdate /force
gpresult /r
Daha detaylı rapor almak için:
gpresult /h C:\Temp\gpo-report.html
Bu raporda ilgili bilgisayar GPO’sunun uygulanıp uygulanmadığı kontrol edilmelidir.
Uygulama Öncesi Dikkat Edilmesi Gerekenler
Bu ayarları doğrudan tüm domain’e uygulamak yerine önce küçük bir pilot grupta test etmek daha sağlıklı olacaktır. Çünkü bazı eski sistemler veya uygulamalar hâlâ NetBIOS, WINS veya LMHOSTS bağımlılığına sahip olabilir.
Özellikle şu sistemler kontrol edilmelidir:
- Eski Windows Server sürümleri
- Legacy ERP veya üretim uygulamaları
- Eski yazıcı ve tarayıcı sistemleri
- IP yerine NetBIOS adı kullanan eski uygulamalar
- Eski dosya paylaşım sistemleri
- Eski domain trust yapıları
- WINS kullanan lokasyonlar
- Statik LMHOSTS dosyası kullanılan özel sistemler
Pilot testte sorun yaşanmazsa ayarlar kademeli olarak workstation OU’larına uygulanabilir. Sunucu tarafında ise daha kontrollü ilerlemek gerekir.
Güvenlik Açısından Ek Öneriler
NetBIOS, LLMNR ve LMHOSTS kapatmak önemli bir adımdır; ancak tek başına yeterli değildir. İç ağ güvenliği için aşağıdaki kontroller de değerlendirilmelidir:
- SMB Signing etkinleştirilmelidir.
- NTLM kullanımı mümkün olduğunca azaltılmalıdır.
- Zorunlu olmayan yerlerde NTLM devre dışı bırakılmalıdır.
- DNS altyapısı sağlıklı ve erişilebilir olmalıdır.
- Client DNS ayarları yalnızca kurum DNS sunucularını göstermelidir.
- WPAD kullanımı kontrol edilmeli veya gerekmiyorsa kapatılmalıdır.
- Segmentasyon uygulanmalıdır.
- EDR veya NDR ürünleri ile LLMNR/NBT-NS trafiği izlenmelidir.
- Domain Admin hesapları istemci makinelerde kullanılmamalıdır.
- Yerel yönetici parolaları LAPS veya Windows LAPS ile yönetilmelidir.
MITRE, bu saldırı sınıfı için LLMNR, mDNS ve NetBIOS’un ihtiyaç yoksa kapatılmasını, ilgili trafiğin filtrelenmesini ve SMB Signing kullanımını azaltıcı önlem olarak belirtmektedir.
Önerilen Kademeli Geçiş Planı
Kurumsal yapılarda aşağıdaki geçiş planı uygulanabilir:
1. Envanter Çıkarın
Öncelikle hangi sistemlerin NetBIOS, WINS veya LMHOSTS kullandığı tespit edilmelidir. DNS logları, firewall logları, endpoint logları ve packet capture çıktıları bu aşamada yardımcı olabilir.
2. Pilot OU Belirleyin
İlk aşamada 5-10 test bilgisayarından oluşan bir OU üzerinde politika denenmelidir. Bu cihazlarda farklı departmanlardan kullanıcılar seçilirse uygulama etkisi daha iyi ölçülür.
3. GPO Oluşturun
LLMNR kapatma ayarı ve startup script içeren ayrı bir GPO oluşturulmalıdır. GPO ismi anlaşılır olmalıdır:
GPO - Windows Hardening - Disable NetBIOS LLMNR LMHOSTS
4. Test ve İzleme Yapın
Pilot cihazlarda oturum açma, dosya paylaşımı, yazıcı erişimi, uygulama erişimi ve VPN bağlantıları test edilmelidir.
5. Kademeli Yaygınlaştırın
Önce IT cihazlarına, ardından genel kullanıcı bilgisayarlarına uygulanmalıdır. Sunucular için ayrı bakım zamanı planlanmalıdır.
6. Kalıcı İzleme Ekleyin
Güvenlik ürünlerinde UDP 5355, UDP 137 ve benzeri protokoller için izleme yapılmalıdır. MITRE’nin belirttiği gibi LLMNR/NBT-NS poisoning tespiti için anormal UDP 5355 ve UDP 137 trafiği önemli bir göstergedir.
NetBIOS, LLMNR, LMHOSTS ve WINS gibi eski isim çözümleme mekanizmaları, geçmişte Windows ağlarında pratik çözümler sunmuş olsa da modern Active Directory ortamlarında çoğu zaman gereksiz risk oluşturur. Özellikle DNS altyapısı düzgün çalışan domain ortamlarında istemcilerin bu eski fallback mekanizmalarına ihtiyaç duymaması gerekir.
Bu nedenle domain cihazlarında:
- NetBIOS over TCP/IP kapatılmalı,
- LLMNR Group Policy ile devre dışı bırakılmalı,
- LMHOSTS lookup kapatılmalı,
- WINS adresleri temizlenmeli,
- Değişiklikler pilot test sonrası kademeli uygulanmalıdır.
Bu adımlar, Windows hardening çalışmalarında küçük gibi görünse de iç ağ saldırı yüzeyini azaltmak açısından oldukça etkilidir. Doğru uygulandığında hem credential capture hem de name resolution poisoning riskini önemli ölçüde düşürür.
![[TR] Windows Domain Ortamlarında NetBIOS, LLMNR, LMHOSTS ve WINS Kapatma Rehberi](https://kadirkozan.com/wp-content/uploads/2026/03/windows-server-2025-1024x576.jpeg)
![[EN] Disabling NetBIOS, LLMNR, LMHOSTS and WINS in Windows Domain Environments](https://kadirkozan.com/wp-content/uploads/2026/03/windows-server-2025-150x150.jpeg)