Yerel Ağlarda Port 139 ve Saldırı Yöntemi Merhaba arkadaşlar. Gerek kitap hazırlığında olmam, gerekse de işlerimin oldukça yoğun olmasından dolayı, bir süredir makale yayınlayamadım. Bu süre boşluğunu kapatmak için, çokça sorulan ancak sektörde pek makalesi bulunmayan port 139 a yapılacak saldırı yöntemlerinden birini ele alacağım. Birçok arkadaş özellikle çeşitli güvenlik tarayıcıları (Nessus, Nmap v.s) ile taramalar yapmakta ve bu tarama sonuçlarında port 139 un açık olduğunu, bu porttan sistemlere giriş işleminin nasıl yapılacağı ile ilgili çeşitli sorular yöneltmekteler. Port 139 nedir neler yapar? Port 139; Netbios-ssn servisi için Netbios-session oluşturma ve iletme işlemlerini gerçekleştirir. Netbios ise OSI referans modelinde Session ve Transport katmanlarında çalışan bir API dir. Netbios networkte bulunan iki cihaz arasında bir oturum başlatmak, bir oturumu sonlandırmak, verilerin doğru cihaza ulaşmasını kontrol etmek ve bilgisayar adlarının networkte çözümlenmesini sağlamakla görevlidir. Tüm bu işlemler port 139 baz alınarak yapılmaktadır. (Ayrıca bknz. http://www.scribd.com/doc/58525278/54/netbt-nedir S:47,48,49) Örneğin bir networkte dosya paylaşımı ve dosyaya erişim kontrolleri Netbios-ssn tarafından gerçekleştirilir. Hal böyle olunca, bir çok virüs ve exploit temel olarak Netbios-ssn (Port 139) i hedef alır. Saldırı mantığı: Yerel ağda bulunan bir saldırgan, hedef bilgisayarda bulunan Windows kullanıcı kimliklerini (SID) bulabilir, hedef bilgisayarın Windows kullanıcı kimliğinden kullanıcı adını bulabilir, hedef bilgisayarda oturum oluşturabilir ve hedef sistemdeki parola korumalı dizinlere bruteforce (deneme-yanılma) saldırı düzenleyerek şifre kırabilir. Önbilgi: SID: Bir kullanıcı, bilgisayar yada security group oluşturulduğunda atanan eşsiz değere SID(Security identifier) denir. RID: SID güvenliğinin bir parçası olarak account ve group ların domain içersinde eşsiz olmasını sağlar. Örneğin; DOMAINNAME\ADMINISTRATOR S-1-5-21-917267712-1342860078-1792151419-500 (=0x1F4) DOMAINNAME\GUEST S-1-5-21-917267712-1342860078-1792151419-501 (=0x1F5)
Her bir kullanıcı için bir SID ve RID kaydı mevcuttur. Yukarıdaki örnekte Administrator ve Guest için örnek SID ve RID kayıtları bulunmaktadır. Microsoft un SID ve RID mantığını inceleyecek olursak, S-1-5 standart önektir. 21-917267712-1342860078-1792151419, Domain ve ya local grouplar için benzersiz bir kimlik(id)tir. Son kısımda bulunan 500 ve 501 ID leri ise kullanıcı hesabını tanımlayan benzersiz numaralardır. Gereli programlar: Nmap (Zenmap) User2sid NAT (NetBIOS Auditing Tool) Keşif: Port 139 un aktif açık olup olmadığını öğrenmek üzere Nmap (Zenmap) yardımcı aracını kullanacağız. Nmap (Zenmap) kullanımı hakkında bilgi edinmek için aşağıdaki makalelere göz atabilirsiniz. http://www.eyupcelik.com.tr/ceh/nmap-ile-network-teki-mac-adreslerini-ogrenme http://www.eyupcelik.com.tr/ceh/kurumsal-aglarda-stuxnet-virusunu-tespit-etme http://www.eyupcelik.com.tr/ceh/samurai-framework-ile-hacking-1 Zenmap yardımcı aracını çalıştırıp Target kısmına hedef bilgisayarın ip adresini yazın. Profile kısmından Intense Scan i seçin. Ardından Scan diyerek hedef bilgisayar üzerinde bir tarama gerçekleştirip, Port 139 un açık olup olmadığını kontrol edelim.
Resim-01 Tarama sonucu Resim-01 deki gibi olmalıdır. Port 139/tcp portunun open (açık) olduğunu görmemiz gerekir. Ayrıca Zenmap in Ports / Hosts menüsünü açarak da port durumunu kontrol edebilirsiniz.
Resim-02 Ports / Hosts menüsünde Port 139 un sol tarafında yeşil işaret ve State kısmında open olması gerekmektedir. Eğer kırmızı ve State kısmı Filtred ise, hedef bilgisayarda bir güvenlik duvarı yazılımı olduğunu ve port 139 u filtrelemiş olduğunu anlayabilirsiniz. Saldırı: USER2SID ve NAT programlarını indirip, C diskinize ayrı ayrı klasör şeklinde atın. Ardından Başlat\Çalıştır a CMD yazıp komut ekranını açın. Cd\ komutu ile C:\> ekranına geçin. Daha sonra cd USER2SID komutu ile C diskte bulunan USER2SID klasörüne giriş yapıyoruz. Bu işlemi yaptıktan sonra hedef bilgisayarda boş bir Netbios Session(Oturum) ı aşağıdaki komutlarla oluşturuyoruz.
Resim-03 Resim-03 teki gibi Net use \\192.168.2.50 \ipc$ /u: komutu ile hedef bilgisayarda boş bir session oluşturuyoruz. Ardından Başlat\Çalıştır a \\192.168.2.50 ipadresini yazıp gitmeyi deniyoruz. Resim-04 192.168.2.50 ip adresine gitmeye çalıştığımızda Resim-04 teki gibi bir kullanıcı adı ve şifre isteyecektir. Bundan sonraki aşamamız ise bu bilgisayarın SID-RID ID lerini ele geçirmek olacaktır. Bunun için komut ekranımıza geri dönüyoruz.
Resim-05 Resim05 teki gibi user2sid \\192.168.2.50 guest komutu ile, hedef bilgisayarın guest kullanıcısına ait SID-RID bilgilerini aldık. Guest kullanıcısı yerine bir başka kullanıcınında SID-RID bilgilerini alabiliriz. Resim-06 Eyup kullanıcısı için SID-RID bilgileri Resim-06 daki gibidir.
Resim-07 Daha sonra komut ekranına geri dönüyoruz. CD\ komutu ile C:\> ekranına geliyoruz. Cd NAT komutu ile C diskte bulunan NAT klasörüne geçiş yapıyoruz. Nat u isim.txt p sifre.txt 192.168.2.50 komutuyla nat ı çalıştırıyoruz. u kullanıcı isimlerinin bulunduğu text dosyasını belirtir. p komutu denenecek sifrelerin bulunduğu text dosyasını belirtir. Son kısımda ise denemelerin yapılacağı hedef ip adresini belirtiyoruz. Resim-08 Şifre çözüldüğünde Resim-08 deki gibi bir ekran ile karşılaşacağız. Alt kısımda CONNECTED: kısmı şifrenin çözüldüğü belirtir. Username: eyup Password: aaaa ise hedef bilgisayara eyup kullanıcı adı ve aaaa şifresi ile giriş yapılabileceğini belirtir. Not: Bu testler Windows XP Service Pack 2 ve önceki sürümleri, Windows Server 2003 Service Pack 2 ve önceki sürümlerinde çalışmaktadır. Güvenlik: Bu tarz saldırılara maruz kalmamak için Başlat\Çalıştır a firewall.cpl yazıp, Tamam ı tıklayın. Güvenlik duvarının açık olduğuna dikkat edin. Daha sonra Özel Durumlar sekmesini tıklayın. Program ve Hizmetler kısmından Dosya ve yazıcı paylaşımı nı seçip Düzenle yi tıklayın.
Resim-09 Resim-09 daki gibi TCP 139 u pasif olarak işaretleyin. Ardından tüm ekranlardan Tamam ı tıklayarak çıkın. Yardım ve desteklerinden dolayı Serkan KURT a teşekkür ederim.
Referanslar: http://www.cotse.com/tools/netbios.htm http://www.securityfocus.com/tools/543 http://support.microsoft.com/kb/163846/tr http://www.mshowto.org/active-directory-kaynaklari-nelerdir-ve-erisim-nasil-saglanir-bolum-1.html http://nmap.org/download.html http://www.eyupcelik.com.tr/cehlabs/nat.rar http://www.eyupcelik.com.tr/cehlabs/user2sid.rar Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Uzmanı http://www.eyupcelik.com.tr