NETBIOS協(xié)議是由IBM公司開發(fā),主要用于數(shù)十臺計算機的小型局域網(wǎng)。該協(xié)議是一種在局域網(wǎng)上的程序可以使用的
應(yīng)用程序編程接口(API),為程序提供了請求低級服務(wù)的統(tǒng)一的命令集,作用是為了給局域網(wǎng)提供網(wǎng)絡(luò)以及其他特殊功能,系統(tǒng)可以利用WINS服務(wù)、廣播及Lmhost文件等多種模式將NetBIOS名解析為相應(yīng)IP地址,實現(xiàn)信息通訊,所以在局域網(wǎng)內(nèi)部使用
NetBIOS協(xié)議可以方便地實現(xiàn)消息通信及資源的共享。因為它占用
系統(tǒng)資源少、傳輸效率高,所以幾乎所有的局域網(wǎng)都是在NetBIOS協(xié)議的基礎(chǔ)上工作的。
目錄
NetBIOS的應(yīng)用NetBIOS:網(wǎng)絡(luò)基本輸入輸出系統(tǒng)NETBIOS協(xié)議結(jié)構(gòu)因NETBIOS給用戶帶來的潛在危害簡介1.利用軟件查找共享資源2. 用PQwak破解共享密碼1. 解開文件和打印機共享綁定2. 利用TCP/IP篩選3. 使用IPSec安全策略4. 停止Server服務(wù)5. 使用防火墻防范攻擊非局域網(wǎng)用戶如何防范NETBIOS漏洞攻擊NetBIOS的應(yīng)用NetBIOS:網(wǎng)絡(luò)基本輸入輸出系統(tǒng)NETBIOS協(xié)議結(jié)構(gòu)因NETBIOS給用戶帶來的潛在危害簡介1.利用軟件查找共享資源2. 用PQwak破解共享密碼1. 解開文件和打印機共享綁定2. 利用TCP/IP篩選3. 使用IPSec安全策略4. 停止Server服務(wù)5. 使用防火墻防范攻擊NetBIOS的應(yīng)用
英文原義:NetBIOS Services Protocols
中文釋義:(RFC-1001,1002)網(wǎng)絡(luò)基本輸入/輸出系統(tǒng)協(xié)議
應(yīng) 用:在Windows
操作系統(tǒng)中,默認情況下在安裝
TCP/IP協(xié)議后會自動安裝NetBIOS。比如在Windows 2000/XP中,當選擇“自動獲得IP”后會啟用
DHCP服務(wù)器,從該服務(wù)器使用NetBIOS設(shè)置;如果使用
靜態(tài)IP地址或DHCP服務(wù)器不提供NetBIOS設(shè)置,則啟用TCP/IP上的NetBIOS。具體的設(shè)置方法如下:首先打開“控制面板”,雙擊“網(wǎng)絡(luò)連接”圖標,打開本地連接屬性。接著,在屬性窗口的“常規(guī)”選項卡中選擇“Internet協(xié)議(TCP/IP)”,單擊“屬性”按鈕。然后在打開的窗口中,單擊“高級”按鈕;在“高級TCP/IP設(shè)置”窗口中選擇“WINS”選項卡,在“NetBIOS設(shè)置”區(qū)域中就可以相應(yīng)的NetBIOS設(shè)置。
NetBIOS:網(wǎng)絡(luò)基本輸入輸出系統(tǒng)
(NetBIOS:Network Basic Input Output System)
NetBIOS 定義了一種
軟件接口以及在應(yīng)用程序和連接介質(zhì)之間提供通信接口的標準方法。NetBIOS 是一種會話層協(xié)議,應(yīng)用于各種 LAN (Ethernet、Token Ring 等)和 WAN 環(huán)境,諸如 TCP/IP、PPP 和 X.25 網(wǎng)絡(luò)。
NetBIOS 使得應(yīng)用程序無需了解包括差錯恢復(會話模式)在內(nèi)的網(wǎng)絡(luò)細節(jié)。NetBIOS 請求以
網(wǎng)絡(luò)控制塊(NCB:Network Control Block)的形式提供,NCB 中包含了信息存放位置和目標名稱等信息。
NetBIOS 提供
開放系統(tǒng)互聯(lián)(OSI)模型中的會話層和傳輸層服務(wù),但不支持標準幀或數(shù)據(jù)格式的傳輸。NetBIOS 擴展用戶接口(NetBEUI)支持標準幀格式,它為 NetBIOS 提供網(wǎng)絡(luò)層和傳輸層服務(wù)支持。
NetBIOS 支持兩種通信模式:會話(session)或數(shù)據(jù)報(datagram)。會話模式是指兩臺計算機為“對話”建立一個連接,允許處理大量信息,并支持差錯監(jiān)測和恢復功能。數(shù)據(jù)報模式面向“無連接”(信息獨立發(fā)送)操作,發(fā)送的信息較小,由應(yīng)用程序提供差錯監(jiān)測和恢復功能。此外數(shù)據(jù)報模式也支持將信息廣播到局域網(wǎng)中的每臺計算機上。
NetBIOS 名稱為 16 字節(jié)長(必要情況下使用填充位填滿),對使用的字節(jié)值幾乎沒有限制。對于不執(zhí)行路由的小型網(wǎng)絡(luò),將 NetBIOS 名稱映射到 IP 地址上有三種方法:
1. IP 廣播 - 當目標地址不在本地 cache 上時,廣播一個 包含目標計算機 NetBIOS 名稱的數(shù)據(jù)包。目標計算機返回其 IP 地址。
2. lmhosts 文件 - 這是一個負責映射 IP 地址和 NetBIOS 計算機名稱的文件。
3. NBNS - NetBIOS 命名服務(wù)器負責 將 NetBIOS 名稱映射到 IP 地址上。該服務(wù)由 Linux 環(huán)境下的后臺程序(nmbd daemon)執(zhí)行。
NETBIOS協(xié)議結(jié)構(gòu)
NetBIOS 數(shù)據(jù)包有很多不同格式,主要取決于服務(wù)和信息類型,以及用以傳送 NetBIOS 數(shù)據(jù)包的傳輸協(xié)議。 NetBIOS 包含三種基本服務(wù): NAME、SESSION 和 DATAGRAM。作為例子,我們提供 TCP/IP 環(huán)境中的 NetBIOS 名稱數(shù)據(jù)包格式:
Header (12 bytes)
Question Entry (variable)
Answer Resource Records (variable)
Authority Resource Records (variable)
Additional Resource Records (variable)
NBTSTAT命令可以用來查詢涉及到NetBIOS信息的網(wǎng)絡(luò)機器。另外,它還可以用來消除NetBIOS高速緩存器和預加載LMHOSTS文件。這個命令在進行安全檢查時非常有用。
用法:nbtstat [-a RemoteName] [-A IP_address] [-c] [-n] [-R] [-r] [-S] [-s]
參數(shù) :-a列出為其
主機名提供的遠程計算機名字表。
-A列出為其IP地址提供的遠程計算機名字表。
-c列出包括了IP地址的遠程名字高速緩存器。
-n列出本地NetBIOS名字。
-r列出通過廣播和
WINS解析的名字。
-R消除和重新加載遠程高速緩存器名字表。
-S列出有目的地IP地址的會話表。
-s列出會話表對話。
NBTSTAT生成的列標題具有以下含義:
Input :接收到的字節(jié)數(shù)。
Output :發(fā)出的字節(jié)數(shù)。
In/Out :無論是從計算機(出站)還是從另一個系統(tǒng)連接到本地計算機(入站)。
Life :在計算機消除名字表高速緩存表目前“度過”的時間。
Local Name :為連接提供的本地NetBIOS名字。
Remote Host :遠程主機的名字或IP地址。
Type :一個名字可以具備兩個類型之一:unique or group
在16個字符的NetBIOS名中,最后一個字節(jié)往往有具體含義,因為同一個名可以在同一臺計算機上出現(xiàn)多次。這表明該名字的最后一個字節(jié)被轉(zhuǎn)換成了16進制。
State
NetBIOS連接將在下列“狀態(tài)”(任何一個)中顯示:
狀態(tài)含義:
Accepting: 進入連接正在進行中。
Associated: 連接的端點已經(jīng)建立,計算機已經(jīng)與IP地址聯(lián)系起來。
Connected: 這是一個好的狀態(tài)!它表明您被連接到遠程資源上。
Connecting: 您的會話試著解析目的地資源的名字-IP地址映射。
Disconnected: 您的計算機請求斷開,并等待遠程計算機作出這樣的反應(yīng)。
Disconnecting: 您的連接正在結(jié)束。
Idle: 遠程計算機在當前會話中已經(jīng)打開,但現(xiàn)在沒有接受連接。
Inbound: 入站會話試著連接。
Listening: 遠程計算機可用。
Outbound: 您的會話正在建立TCP連接。
Reconnecting: 如果第一次連接失敗,就會顯示這個狀態(tài),表示試著重新連接
下面是一臺機器的NBTSTAT反應(yīng)樣本:
C:\>nbtstat CA x.x.x.x
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
DATARAT <00> UNIQUE Registered
R9LABS <00> GROUP Registered
DATARAT <20> UNIQUE Registered
DATARAT <03> UNIQUE Registered
GHOST <03> UNIFQUE Registered
DATARAT <01> UNIQUE Registered
MAC Address = 00-00-00-00-00-00
您通過下表能掌握有關(guān)該機器的哪些知識呢?
名稱編號類型的使用:
00 U 工作站服務(wù)
01 U 郵件服務(wù)
\\_MSBROWSE_ 01 G 主
瀏覽器03 U 郵件服務(wù)
06 U RAS服務(wù)器服務(wù)
1F U NetDDE服務(wù)
20 U 文件服務(wù)器服務(wù)
21 U RAS客戶機服務(wù)
22 U Exchange Interchange
23 U Exchange Store
24 U Exchange Directory
30 U 調(diào)制解調(diào)器共享服務(wù)器服務(wù)
31 U 調(diào)制解調(diào)器共享客戶機服務(wù)
43 U SMS客戶機
遠程控制44 U SMS管理遠程控制工具
45 U SMS客戶機遠程聊天
46 U SMS客戶機遠程傳輸
4C U DEC Pathworks TCP/IP服務(wù)
52 U DEC Pathworks TCP/IP服務(wù)
87 U Exchange MTA
6A U Exchange IMC
BE U網(wǎng)絡(luò)監(jiān)控代理
BF U網(wǎng)絡(luò)監(jiān)控應(yīng)用
03 U郵件服務(wù)
00 G域名
1B U域主瀏覽器
1C G域控制器
1D U主瀏覽器
1E G瀏覽器服務(wù)選擇
1C G Internet信息服務(wù)器
00 U Internet信息服務(wù)器
[2B] U Lotus Notes服務(wù)器
IRISMULTICAST [2F] G Lotus Notes
IRISNAMESERVER [33] G Lotus Notes
Forte_$ND800ZA [20] U DCA Irmalan
網(wǎng)關(guān)服務(wù)
Unique (U): 該名字可能只有一個分配給它的IP地址。在網(wǎng)絡(luò)設(shè)備上,一個要注冊的名字
可以出現(xiàn)多次,但其后綴是唯一的,從而使整個名字是唯一的。
Group (G): 一個正常的群;一個名字可以有很多個IP地址。
Multihomed (M): 該名字是唯一的,但由于在同一臺計算機上有多個網(wǎng)絡(luò)接口,
這個配置可允許注冊。這些地址的最大編號是25。
Internet Group (I): 這是用來管理WinNT域名的組名字的特殊配置。
Domain Name (D): NT 4.0提供的新內(nèi)容。
因NETBIOS給用戶帶來的潛在危害
簡介
當安裝TCP/IP協(xié) 議時,NetBIOS 也被Windows作為默認設(shè)置載入,我們的計算機也具有了NetBIOS本身的開放性。某些別有用心的人就利用這個功能來攻擊服務(wù)器,使
管理員不能放心使用文件和打印機共享。
利用NETBIOS漏洞進行攻擊的端口分別為:
135端口開放實際上是一個WINNT漏洞,開放的135的端口情況容易引起自外部的“Snort”攻擊?。?!
對于135端口開放的問題,可以在你的
防火墻上,增加一條規(guī)則:拒絕所有的這類進入的UDP包,目的端口是135,源端口是7,19,或者135,這樣可以保護內(nèi)部的系統(tǒng),防止來自外部的攻擊。大多數(shù)防火墻或者包過濾器已經(jīng)設(shè)置了很多嚴格的規(guī)則,已覆蓋了這條過濾規(guī)則,但仍需注意:有一些NT的應(yīng)用程序,它們依靠UDP135端口進行合法的通訊,而打開你135的端口與NT的RPC服務(wù)進行通訊。如果真是這樣,你一定要在那些原始地址的系統(tǒng)上(需要135口通訊),實施上述的規(guī)則,指定來自這些系統(tǒng)的通訊可以通過防火墻,或者,可以被攻擊檢測系統(tǒng)所忽略,以便維持那些應(yīng)用程序的正常連接。為了保護你的信息安全,強烈建議你安裝
微軟的最新補丁包。
上面我們說到Netbios(NETwork Basic Input/Output System)網(wǎng)絡(luò)
基本輸入輸出系統(tǒng)。是1983年IBM開發(fā)的一套
網(wǎng)絡(luò)標準,微軟在這基礎(chǔ)上繼續(xù)開發(fā)。微軟的客戶機/服務(wù)器網(wǎng)絡(luò)系統(tǒng)都是基于NetBIOS的。在利用Windows NT4.0 構(gòu)建的網(wǎng)絡(luò)系統(tǒng)中,對每一臺主機的唯一標識信息是它的NetBIOS名。系統(tǒng)可以利用WINS服務(wù)、廣播及Lmhost文件等多種模式通過139端口將NetBIOS名解析為相應(yīng)IP地址,從而實現(xiàn)信息通訊。在這樣的網(wǎng)絡(luò)系統(tǒng)內(nèi)部,利用NetBIOS名實現(xiàn)信息通訊是非常方便、快捷的。但是在Internet上,它就和一個后門程序差不多了。因此,我們很有必要堵上這個可怕的漏洞。
——利用NetBIOS漏洞攻擊1.利用軟件查找共享資源
利用NetBrute Scanner
軟件掃描一段IP地址(如10.0.13.1~10.0.13.254)內(nèi)的共享資源,就會掃描出默認共享2. 用PQwak破解共享密碼
雙擊掃描到的共享文件夾,如果沒有密碼,便可直接打開。當然也可以在IE的地址欄直接輸入掃描到的帶上共享文件夾的IP地址,如“\\10.0.13.191”(或帶C$,D$等查看默認共享)。如果設(shè)有共享密碼,會要求輸入共享用戶名和密碼,這時可利用破解網(wǎng)絡(luò)鄰居密碼的
工具軟件,如PQwak,破解后即可進入相應(yīng)文件夾。
——關(guān)閉NetBIOS漏洞1. 解開文件和打印機共享綁定
鼠標右擊桌面上[網(wǎng)絡(luò)鄰居]→[屬性] →[本地連接] →[屬性],去掉“Microsoft網(wǎng)絡(luò)的文件和打印機共享”前面的勾,解開文件和打印機共享綁定。這樣就會禁止所有從139和445端口來的請求,別人也就看不到本機的共享了。2. 利用TCP/IP篩選
鼠標右擊桌面上[網(wǎng)絡(luò)鄰居] →[屬性]→[本地連接] →[屬性],打開“本地連接屬性”對話框。選擇[Internet協(xié)議(TCP/IP)]→[屬性]→[高級]→[選項], 在列表中單擊選中“TCP/IP篩選”選項。單擊[屬性]按鈕,選擇“只允許”,再單擊[添加]按鈕(如圖2),填入除了139和445之外要用到的端口。這樣別人使用掃描器對139和445兩個端口進行掃描時,將不會有任何回應(yīng)。3. 使用IPSec安全策略
3. 使用IPSec安全策略阻止對端口139和445的訪問
選擇[我的電腦]→[控制面板]→[管理工具]→[本地安全策略]→[IP安全策略,在本地機器],在這里定義一條阻止任何IP地址從TCP139和TCP445端口訪問IP地址的IPSec安全策略規(guī)則,這樣別人使用掃描器掃描時,本機的139和445兩個端口也不會給予任何回應(yīng)。4. 停止Server服務(wù)
選擇[我的電腦]→[控制面板]→[管理工具]→[服務(wù)],進入服務(wù)管理器,關(guān)閉Server服務(wù)。這樣雖然不會關(guān)閉端口,但可以中止本機對其他機器的服務(wù),當然也就中止了對其他機器的共享。但是關(guān)閉了該服務(wù)會導致很多相關(guān)的服務(wù)無法啟動,如機器中如果有IIS服務(wù),則不能采用這種方法。5. 使用防火墻防范攻擊
在防火墻中也可以設(shè)置阻止其他機器使用本機共享。如在“天網(wǎng)個人防火墻”中,選擇一條空規(guī)則,設(shè)置數(shù)據(jù)包方向為“接收”,對方IP地址選“任何地址”,協(xié)議設(shè)定為“TCP”,本地端口設(shè)置為“139到139”,對方端口設(shè)置為“0到0”,設(shè)置標志位為“SYN”,動作設(shè)置為“攔截”,最后單擊[確定]按鈕,并在“自定義IP規(guī)則”列表中勾選此規(guī)則即可啟動攔截139端口攻擊了。
非局域網(wǎng)用戶如何防范NETBIOS漏洞攻擊
在windows9x下如果你是個撥號用戶。完全不需要登陸到nt局域網(wǎng)絡(luò)環(huán)境的話。只需要在控制面板→網(wǎng)絡(luò)→刪除microsoft網(wǎng)絡(luò)用戶,使用microsoft友好登陸就可以了。但是如果你需要登陸到nt網(wǎng)絡(luò)的話。那這一項就不能去處。因為nt網(wǎng)里需要使用netbios。
在windowsNT下你可以取消netbios與TCP/IP協(xié)議的綁定??刂泼姘?#8594;網(wǎng)絡(luò)→Netbios接口→WINS客戶(tcp/ip)→禁用。確定。重啟。這樣nt的計算機名和工作組名也隱藏了,不過會造成基于netbios的一些命令無法使用。如net等。
在windowsNT下你可以選中網(wǎng)絡(luò)鄰居→右鍵→本地連接→INTERNET協(xié)議(TCP/IP)→屬性→高級→選項→TCP/IP篩選→在“只允許”中填入除了137,138,139只外的端口。如果你在局域網(wǎng)中,會影響局域網(wǎng)的使用
在windowsXP下你可以在控制面板上點擊管理工具-本地安全策略,右擊"IP安全策略,在本地計算機"選擇"管理IP篩選器表和篩選器操作",點添加,在對話框里填,隨便寫.只要你記得住.最好還是寫"禁用135/139端口"比較看的懂.點右邊的添加->下一步->源地址為"任何地址"->目的地址"我的地址"->協(xié)儀為TCP->在到此端口里填135或139就可以.
還有一個辦法就是TCP/IP協(xié)儀里禁用NETBIOS.[1]