2023年11月24日发(作者:)

NETBIOS 百科名片

NETBIOS协议是由IBM公司开发,主要用于数十台计算机的小型局域网。该协议是一种在

局域网上的程序可以使用的应用程序编程接口(API,为程序提供了请求低级服务的统一

的命令集,作用是为了给局域网提供网络以及其他特殊功能,系统可以利用WINS服务、

广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,实现信息通讯,所以在

局域网内部使用NetBIOS协议可以方便地实现消息通信及资源的共享。因为它占用系统资

源少、传输效率高,所以几乎所有的局域网都是在NetBIOS协议的基础上工作的。

目录[隐藏]

NetBIOS的应用

NetBIOS:网络基本输入输出系统

NETBIOS协议结构

NETBIOS给用户带来的潜在危害

非局域网用户如何防范NETBIOS漏洞攻击

[编辑本段]NetBIOS的应用

英文原义:NetBIOS Services Protocols 中文释义:RFC-10011002)网络基本输

/输出系统协议 用:在Windows操作系统中,默认情况下在安装TCP/IP协议后

会自动安装NetBIOS。比如在Windows 2000/XP中,当选择自动获得IP”后会启用DHCP

服务器,从该服务器使用NetBIOS设置;如果使用静态IP地址或DHCP服务器不提供

NetBIOS设置,则启用TCP/IP上的NetBIOS。具体的设置方法如下:首先打开控制面板

双击网络连接图标,打开本地连接属性。接着,在属性窗口的常规选项卡中选择“Internet

协议TCP/IP单击属性按钮。然后在打开的窗口中,单击高级按钮;高级TCP/IP

设置窗口中选择“WINS”选项卡,在“NetBIOS设置区域中就可以相应的NetBIOS设置。

[编辑本段]NetBIOS:网络基本输入输出系统

NetBIOSNetwork Basic Input Output System NetBIOS 定义了一种软件接口以

及在应用程序和连接介质之间提供通信接口的标准方法。NetBIOS 是一种会话层协议,应

用于各种 LAN EthernetToken Ring 等) WAN 环境,诸如 TCP/IPPPP X.25

络。 NetBIOS 使得应用程序无需了解包括差错恢复(会话模式)在内的网络细节。

NetBIOS 请求以网络控制块(NCBNetwork Control Block)的形式提供,NCB 中包含了

信息存放位置和目标名称等信息。 NetBIOS 提供开放系统互联(OSI)模型中的会话

层和传输层服务,但不支持标准帧或数据格式的传输。NetBIOS 扩展用户接口(NetBEUI

支持标准帧格式,它为 NetBIOS 提供网络层和传输层服务支持。 NetBIOS 支持两种

通信模式:会话(session)或数据报(datagram。会话模式是指两台计算机为对话建立一

个连接,允许处理大量信息,并支持差错监测和恢复功能。数据报模式面向无连接(信息

独立发送)操作,发送的信息较小,由应用程序提供差错监测和恢复功能。此外数据报模式

也支持将信息广播到局域网中的每台计算机上。 NetBIOS 名称为 16 字节长(必要情

况下使用填充位填满),对使用的字节值几乎没有限制。对于不执行路由的小型网络,将

NetBIOS 名称映射到 IP 地址上有三种方法: 1. IP 广播 当目标地址不在本地

cache 上时,广播一个 包含目标计算机 NetBIOS 名称的数据包。目标计算机返回其 IP

址。 2. lmhosts 文件 这是一个负责映射 IP 地址和 NetBIOS 计算机名称的文件。

3. NBNS NetBIOS 命名服务器负责 NetBIOS 名称映射到 IP 地址上。该服务由

Linux 环境下的后台程序(nmbd daemon)执行。

[编辑本段]NETBIOS协议结构

NetBIOS 数据包有很多不同格式,主要取决于服务和信息类型,以及用以传送 NetBIOS

数据包的传输协议。 NetBIOS 包含三种基本服务: NAMESESSION DATAGRAM

作为例子,我们提供 TCP/IP 环境中的 NetBIOS 名称数据包格式: Header 12 bytes

Question Entry variable Answer Resource Records variable Authority Resource

Records variable Additional Resource Records variable NBTSTAT命令可以

用来查询涉及到NetBIOS信息的网络机器。另外,它还可以用来消除NetBIOS高速缓存器

和预加载LMHOSTS文件。这个命令在进行安全检查时非常有用。 用法:nbtstat [-a

RemoteName] [-A IP_address] [-c] [-n] [-R] [-r] [-S] [-s] 参数 -a列出为其主机名提供的

远程计算机名字表。 -A列出为其IP地址提供的远程计算机名字表。 -c列出包括

IP地址的远程名字高速缓存器。 -n列出本地NetBIOS名字。 -r列出通过广播

WINS解析的名字。 -R消除和重新加载远程高速缓存器名字表。 -S列出有目

的地IP地址的会话表。 -s列出会话表对话。 NBTSTAT生成的列标题具有以下含

义: Input :接收到的字节数。 Output :发出的字节数。 In/Out :无论是

从计算机(出站)还是从另一个系统连接到本地计算机(入站) Life :在计算机消

除名字表高速缓存表目前度过的时间。 Local Name :为连接提供的本地NetBIOS

名字。 Remote Host :远程主机的名字或IP地址。 Type :一个名字可以具备两

个类型之一:unique or group 16个字符的NetBIOS名中,最后一个字节往往有具体

含义,因为同一个名可以在同一台计算机上出现多次。这表明该名字的最后一个字节被转换

成了16进制。 State NetBIOS连接将在下列状态(任何一个)中显示:

态含义: Accepting: 进入连接正在进行中。 Associated: 连接的端点已经建立,

计算机已经与IP地址联系起来。 Connected: 这是一个好的状态!它表明您被连接到远

Connecting: -IP

Disconnected: 您的计算机请求断开,并等待远程计算机作出这样的反应。 Disconnecting:

您的连接正在结束。 Idle: 远程计算机在当前会话中已经打开,但现在没有接受连接。

Inbound: 入站会话试着连接。 Listening: 远程计算机可用。 Outbound: 您的会话

正在建立TCP连接。 Reconnecting: 如果第一次连接失败,就会显示这个状态,表示

试着重新连接 下面是一台机器的NBTSTAT反应样本: C:>nbtstat CA

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 您通过下表能掌握有关该机器的哪

些知识呢? 名称编号类型的使用: 00 U 工作站服务 01 U 邮件服务

_MSBROWSE_ 01 G 主浏览器 03 U 邮件服务 06 U RAS服务器服务 1F U

NetDDE服务 20 U 文件服务器服务 21 U RAS客户机服务 22 U Exchange

Interchange 23 U Exchange Store 24 U Exchange Directory 30 U 调制解调器共

享服务器服务 31 U 调制解调器共享客户机服务 43 U SMS客户机远程控制

44 U SMS管理远程控制工具 45 U SMS客户机远程聊天 46 U SMS客户机远程传

4C U DEC Pathworks TCP/IP服务 52 U DEC Pathworks TCP/IP服务 87 U

Exchange MTA 6A U Exchange IMC BE U网络监控代理 BF U网络监控应用

03 U邮件服务 00 G域名 1B U域主浏览器 1C G域控制器 1D U主浏览

1E G浏览器服务选择 1C G Internet信息服务器 00 U Internet信息服务器

[2B] U Lotus Notes IRISMULTICAST [2F] G Lotus Notes

IRISNAMESERVER [33] G Lotus Notes Forte_$ND800ZA [20] U DCA Irmalan网关服务

Unique (U): 该名字可能只有一个分配给它的IP地址。在网络设备上,一个要注册的名字

可以出现多次,但其后缀是唯一的,从而使整个名字是唯一的。 Group (G): 一个正常

的群;一个名字可以有很多个IP地址。 Multihomed (M): 该名字是唯一的,但由于在

同一台计算机上有多个网络接口, 这个配置可允许注册。这些地址的最大编号是25

Internet Group (I): 这是用来管理WinNT域名的组名字的特殊配置。 Domain Name (D):

NT 4.0提供的新内容。

[编辑本段]NETBIOS给用户带来的潜在危害

当安装TCP/IP 议时,NetBIOS 也被Windows作为默认设置载入,我们的计算机也

具有了NetBIOS本身的开放性。某些别有用心的人就利用这个功能来攻击服务器,使管理

员不能放心使用文件和打印机共享。 利用NETBIOS漏洞进行攻击的端口分别为:

135端口开放实际上是一个WINNT漏洞,开放的135的端口情况容易引起自外部的“Snort”

攻击! 对于135端口开放的问题,可以在你的防火墙上,增加一条规则:拒绝所有

的这类进入的UDP包,目的端口是135,源端口是719,或者135,这样可以保护内部的

系统,防止来自外部的攻击。大多数防火墙或者包过滤器已经设置了很多严格的规则,已覆

盖了这条过滤规则,但仍需注意:有一些NT的应用程序,它们依靠UDP135端口进行合法

的通讯,而打开你135的端口与NTRPC服务进行通讯。如果真是这样,你一定要在那

些原始地址的系统上(需要135口通讯),实施上述的规则,指定来自这些系统的通讯可以

通过防火墙,或者,可以被攻击检测系统所忽略,以便维持那些应用程序的正常连接。为了

保护你的信息安全,强烈建议你安装微软的最新补丁包。 上面我们说到Netbios

NETwork Basic Input/Output System网络基本输入输出系统。1983IBM开发的一套

网络标准,微软在这基础上继续开发。微软的客户机/服务器网络系统都是基于NetBIOS

的。在利用Windows NT4.0 构建的网络系统中,对每一台主机的唯一标识信息是它的

NetBIOS名。系统可以利用WINS服务、广播及Lmhost文件等多种模式通过139端口将

NetBIOS名解析为相应IP地址,从而实现信息通讯。在这样的网络系统内部,利用NetBIOS

名实现信息通讯是非常方便、快捷的。但是在Internet上,它就和一个后门程序差不多了。

因此,我们很有必要堵上这个可怕的漏洞。 ——利用NetBIOS漏洞攻击 1.利用软

NetBrute Scanner IP

10.0.13.1~10.0.13.254)内的共享资源,就会扫描出默认共享 2. PQwak破解共享密

双击扫描到的共享文件夹,如果没有密码,便可直接打开。当然也可以在IE的地址

栏直接输入扫描到的带上共享文件夹的IP地址,如10.0.13.191”(或带C$,D$等查看

默认共享)。如果设有共享密码,会要求输入共享用户名和密码,这时可利用破解网络邻居

密码的工具软件,如PQwak,破解后即可进入相应文件夹。 ——关闭NetBIOS漏洞

1. 解开文件和打印机共享绑定 鼠标右击桌面上[网络邻居]→[属性] →[本地连接]

→[属性]去掉“Microsoft网络的文件和打印机共享前面的勾,解开文件和打印机共享绑定。

这样就会禁止所有从139445端口来的请求,别人也就看不到本机的共享了。 2.

TCP/IP筛选 鼠标右击桌面上[网络邻居] →[属性]→[本地连接] →[属性],打开本地

连接属性对话框。选择[Internet协议(TCP/IP)]→[属性]→[高级]→[选项] 在列表中单击选

“TCP/IP筛选选项。单击[属性]按钮,选择只允许,再单击[添加]按钮(如图2),填入除

139445之外要用到的端口。这样别人使用扫描器对139445两个端口进行扫描时,

将不会有任何回应。 3. 使用IPSec安全策略阻止对端口139445的访问 选择[

的电脑]→[控制面板]→[管理工具]→[本地安全策略]→[IP安全策略,在本地机器],在这里

定义一条阻止任何IP地址从TCP139TCP445端口访问IP地址的IPSec安全策略规则,

这样别人使用扫描器扫描时,本机的139445两个端口也不会给予任何回应。 4.

Server服务 选择[我的电脑]→[控制面板]→[管理工具]→[服务],进入服务管理器,

关闭Server服务。这样虽然不会关闭端口,但可以中止本机对其他机器的服务,当然也就

中止了对其他机器的共享。但是关闭了该服务会导致很多相关的服务无法启动,如机器中如

果有IIS服务,则不能采用这种方法。 5. 使用防火墙防范攻击 在防火墙中也可以

设置阻止其他机器使用本机共享。如在天网个人防火墙中,选择一条空规则,设置数据包

方向为接收对方IP地址选任何地址协议设定为“TCP”本地端口设置为“139139”

对方端口设置为“00”,设置标志位为“SYN”,动作设置为拦截,最后单击[确定]按钮,

并在自定义IP规则列表中勾选此规则即可启动拦截139端口攻击了。

[编辑本段]非局域网用户如何防范NETBIOS漏洞攻击

windows9x下如果你是个拨号用户。完全不需要登陆到nt局域网络环境的话。只需

要在控制面板网络删除microsoft网络用户,使用microsoft友好登陆就可以了。但是如

果你需要登陆到nt网络的话。那这一项就不能去处。因为nt网里需要使用netbios

windowsNT下你可以取消netbiosTCP/IP协议的绑定。控制面板网络→Netbios接口

→WINS客户(tcp/ip禁用。确定。重启。这样nt的计算机名和工作组名也隐藏了,不

过会造成基于netbios的一些命令无法使用。如net等。 windowsNT下你可以选中

网络邻居右键本地连接→INTERNET协议(TCP/IP属性高级选项→TCP/IP

只允许中填入除了137138139只外的端口。如果你在局域网中,会影响局域网

的使用 windowsXP下你可以在控制面板上点击管理工具-本地安全策略,右击"IP

全策略,在本地计算机"选择"管理IP筛选器表和筛选器操作",点添加,在对话框里填,随便写.

只要你记得住.最好还是写"禁用135/139端口"比较看的懂.点右边的添加->下一步->源地址

"任何地址"->目的地址"我的地址"->协仪为TCP->在到此端口里填135139就可以.

还有一个办法就是TCP/IP协仪里禁用NETBIOS.[1]