Bir önceki yazımda belirttiğim gibi Conficker adlı solucanın DHCP client ve server servisleri dışında NetBT (NetBIOS over TCP/IP) ile ilgili yaşattığı sorunlar ile ilgili Destek ekibimize ulaşan problemler ile ilgili bilgi vermek isterim.

İstemcilerin domaine katılamaması ile ilgili problem üzerinde çalışırken farkettiğim NetBIOS over TCP/IP etkinleştirilmiş olduğu halde, Ağ kartı ayarlarında, ipconfig /all çıktısı aldığımda “disabled” (Devre dışı) görünüyordu. Sorunu incelemek için NetDIAG çıktısı aldım ve NetBT ile ilgili sorunlar burada da loglanmıştı:

NetBT transports test. . . . . . . : Failed
List of NetBt transports currently configured:
[FATAL] Unable to retrieve transport list from Redir. [ERROR_NETWORK_UNREACHABLE]

DC üzerinde ki paylaşımlara erişilmek istendiğinde "Network Location Cannot be Reached" hatasını alıyorduk. Dolayısıyla istemcilerde SYSVOL paylaşımına erişemiyorlardı. NetDIAG çıktısında belirtilen hata mesajı “Unable to retrieve transport list from Redir”, öncelikle Transport listesinin doğru tanımlanmış olup, olmadığı sorusunu getiriyordu. Ayrıca Network trace yardımıyla baktığımızda ise TCP session kurmaya çalışan istemciye sunucu direkt olarak RESET (RST) gönderiyordu; bu de demek ki sunucu SMB protokolü üzerinden iletişim için kullanacağı TCP 445 portunu dinlemiyordu.

Önce NetBT değerlerini inceledim:

Olması gereken değer: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\TransportBindName = \Device\

Görünen değer: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\TransportBindName = Device

İlk bakışta olması gereken değer gibi görünse de “\” işaretinin silinmesi NetBT transport listesinin doğru ağ kartından yüklenemeyeceği anlamına geliyor. Transport listesini almak için HKLM\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces anahtarı altında yer alan GUID numaraları ile belirtilen ağ kartı özelliklerinden DhcpNameServerList, NameServerList, NetbiosOptions listesini alması gerekir. Ayrıca yine NetBT\Parameters altında yer alan SMBDeviceEnabled registry anahtarının değeri “0” olarak değişitirilmişti, yani SMB protokolü devre dışı bırakılmıştı.

Olması gereken değer: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\SMBDeviceEnabled = 0x0

Görünen değer: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\SMBDeviceEnabled = 0x1

Her iki anahtarın değerini değiştirip sistemi yeniden başlattığımızda SMB protokolü ile erişim sağlanabildiğinden Domain’e alınacak istemciler SYSVOL paylaşımına ulaşabildiler ve sorun çözüşmüş oldu. Müşterilerimize bu problem ile ilgili bilgi vermek adına aşağıdaki makaleyi yayınladık:

"Network Location Cannot be Reached" when accessing shares

Sistem üzerinde AntiVirus programı yardımıyla bir tarama yaptığımızda sisteme Conficker solucanının bulaştığını ve kontrol altına alındığıını gördüm. Kesin olarak söyleyemesemde, büyük ihtimalle registry değerleri bu solucan tarafından değiştirilmişti. Değerlerin eski haline getirilmesi için böyle bir çalışma yapmak gerekti.

Okan Çetinim