一、NetBIOS及其危险小谈
“网络基本输入/输出系统”(Network Basic Input/Output System,NetBIOS)是一种标准的应用程序编程接口(API),1983年由Sytek公司专为IBM开发成功。NetBIOS为网络通信定义了一种编程接口,但却没有详细定义物理性的“帧”如何在网上传输。1985年,IBM创制了NetBIOS扩展用户接口(NetBIOS Extended User Interface,NetBEUI),它同NetBIOS接口集成在一起,终于构成了一套完整的协议。由于NetBIOS接口变得愈来愈流行,所以各大厂商也开始在如TCP/IP和IPX/SPX等协议上实施NetBIOS编程接口。到目前为止,全球已有许多平台和应用程序需要依赖于NetBIOS,其中包括WindowsNT 、Windows2000 、Windows95和Windows98的许多组件。微软的客户机/服务器网络系统都是基于NetBIOS的。在利用Windows NT4.0构建的网络系统中,对每一台主机的唯一标识信息是它的NetBIOS名。系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,从而实现信息通讯。在这样的网络系统内部,利用NetBIOS名实现信息通讯是非常方便、快捷的。要注意的是Windows CE并不支持NetBIOS API,只是用TCP/IP作为其传送协议,并同时支持NetBIOS的名字与名字解析。
在你安装TCP/IP协议时,NetBIOS也被Windows作为默认设置载入了你的电脑,而电脑随即也具有了NetBIOS本身的开放性。换句话讲,在不知不觉间,你的上网电脑已被打开了一个危险的“后门”。这个后门可以泄漏你的信息:你的计算机名和工作组。事实上,有许多人会用自己的真实姓名做计算机名称,还有自己的单位名字作为工作组,这样很容易根据某个人的固定信息找到某个人的IP地址。这类软件有冯志宏先生的月光搜索——追捕版,用它来搜索速度是非常快的。其实,就是用Windows自带的nbtstat命令也能收集到很多信息。
再有,这个后门可能让对方访问到你的计算机里的文件!先说说Win9x。如果你的共享资源没有加上口令的话,那么全世界的人都可以共享了。偏偏有很多人的硬盘都是完全共享一个口令不加的,就算设置为只读也能读取计算机里的pwl密码文件,然后得到你的密码、或你的私人文件。再说说NT,这号称C2级别的操作系统连上网后就不再是C2级别了!虽然NT有安全机制,但是如果管理员有薄弱的密码,通过NetBIOS获得用户名就可以利用IPC$(进程间通信)进行攻击。IPC$共享是NT主机上一个标准的隐藏共享,主要用于服务器到服务器的通信。NT主机用来互相连接并通过这个共享来获得各种必要的信息。通过连接这个共享,就能够实现与NT服务器的有效连接。通过与这个共享的空连接,你就能够在不需要提供任何身份证明的情况下建立这一连接。要与IPC$共享进行空连接,入侵者会在命令提示符下发出如下命令:
c:\>net use\\[目标主机的IP地址]\ipc$ ""/user:"" 如果连接成功,网络入侵者就会有很多事情可做,可不仅仅只是收集用户列表哦,不过他是以收集用户列表开始的。
在互联网上有许多用来寻找这样的“后门”的程序,较有名的有legion 2.1、shed、网络刺客II、SMBScanner等,其实只要有个扫描器,扫描139端口(139端口是"NetBIOS session"端口,用来进行文件和打印共享的,如果你的网络设置有NetBIOS这个协议的话,139端口就会打开)就有可能入侵成功!即使不一定会入侵成功,但利用139这个端口进行IP攻击却是完全可能的,很久以前就有这样的程序了,没有打过补丁的WIN98不出1秒钟保证会蓝屏,在30秒内死机!
二、NetBIOS入侵实例
为了进一步让大家看到NetBIOS服务开放的危险,我们以legion2.1来看看入侵者是如何通过NetBIOS进行入侵的。
Legion是著名的安全组织Rhino9推出的一款针对WIN9X的傻瓜级Hack软件,简单易用。它的出现,使得一个即便是对网络安全知识了解的不多的人也能过一把黑客瘾,可以轻松进入别人的电脑!为了加强大家的网络安全意识,做到知己知彼,今天就为您介绍一下如何利用这个软件来查找共享主机。
从网上下载回来的Legion是ZIP压缩文件,解压后得到主文件legion.exe,文件大小为173K,我手头上的这个是2.1汉化版。运行legion.exe,出现如图所示画面。主窗口中只有两个菜单选项,可以通过它们得到这个软件的帮助和版权信息。Legion的主要功能都在主界面里,在“扫描类型”下有两个单选框,一个是“扫描范围”,用来扫描一段IP地址,Legion v2.1最多一次能扫描64个C类IP地址;另一个是“扫描列表”,可以导入事先准备好的IP地址列表,这个IP地址列表必须是文本文件,且必须一个IP地址占一行。你也可以在主界面右面的“扫描列表”下面的文本框中直接输入IP地址,然后点击“ADD”将这个IP地址加入。如果你想扫描不在一个IP段的几个IP地址,可以采用这种方法,否则不要用这个方法,不然光是手工输入IP地址,就会使一个革命同志累倒的!
在连接速度下面共有“更慢、28.8K、56K、更快”四个单选框。根据你的网速情况选一个吧!怎么选?你的上网速度如果大于56K(羡慕啊),就选择“更快”按钮;如果上网速度小于56K且不小于28.8K(好惨啊),就选28.8K对应的单选框,这也是软件默认的连接速度;什么?你的懒猫速度小于28.8K(两双手紧紧的握在了一起,眼含热泪,哽咽的问候:“哥哥,难为你了,是非洲的吧?”)?那只能选“更慢”了;使用56K小猫的选哪个单选框就不用我说了吧?
在主界面的下面,还有“映射共享”和“保存正文”两个按钮,在没有找到共享主机时,它们都是灰色不可用状态。当你扫描到一个共享资源,Legion v2.1允许你把它映射成一个网络驱动器,你可以像本地硬盘一样使用远程网络驱动器。如果共享资源被设置了密码,那么连接将失败;“保存正文”是用来保存搜索到的结果用的,它将结果保存为一个文本文件。
好了,功能和界面已经给您介绍完了,下面我们开始行动吧(台下掌声雷动,群情激奋)!哦,等等,等等,在开始前我先交待几句(顿时小蓉成为快乐的农民了——台下观众仍给的西红柿、茄子收了整整五大筐!)。
1.在“扫描范围”内填入一段C类地址(192~223)会快一些。如果你非要扫B类(128~191),那我相信也会有结果的——中国男足夺得世界杯的那一天就是你胜利的时刻!
2.如果你所处的地方线路情况不好,尽管你有一个56K的猫,但扫描的速度和选“28.8K”时差别并不会很明显,这时选“28.8K”时的漏网现象会更少一些。
3.在运行Legion的时候,最好不要运行其它的应用程序。
以上三条都是经验之谈,如果你已经用上了宽带,就再赏我一些用来盖房子的东西吧——西红柿、茄子收的太多了。好了,废话不多说了,Let's go!
在“输入开始IP”和“输入结束IP”栏中输入要扫描的IP范围,如:61.159.83.1到61.159.83.255,点击“扫描”按钮,Legion就开始扫描在这个网段上的共享主机了。此时,默念十遍“芝麻,芝麻,开门吧”是非常有必要的,这我的也是不传之秘哦!如果在搜索范围内的某一台机器的硬盘被设置为“共享”的话,Legion便会显示出这台机器的IP地址以及共享资源状况。如果你看到类似
\\123.123.123.123\c或
\\123.123.123.123\d这样的形式,这说明找到的是共享了整个C盘和D盘的主机。在找到的IP列表中任选一个,点击“映射共享”,就会弹出一个窗口,提示你
\\IP\C已经被映射成G或者其他盘符了(就是你系统中最后一个逻辑盘符的下一个盘符)。此时你可以在“我的电脑”中发现这个多出来的盘符,这时你就可以像操作本地硬盘一样来控制这个网络驱动器了,对其中的文件是删除、改名,还是拷贝都随你了。当然这一切的前提是远端共享设备没有密码保护,如果远端共享设备被密码保护,那么便会出现尝试失败的提示。
如果对方是完全共享,假设主机123.123.123.123的C盘是完全共享的,那么你还可以点击“开始”->“运行”,在弹出的运行对话框中输入
\\123.123.123.123\c\,注意,不是“C:”,然后回车,接着是等待,这时就要看你的连接速度了,一般不会超过30秒,完成后将出现一个带共享名的文件夹,打开这个文件夹,进去看看,哇!全是MP3!原来是个歌迷。用这种方法对设置了访问密码的也会出现尝试失败的提示。你也可以在Windows的MS-DOS窗口下输入net view
\\123.123.123.123来试试,看看能看出什么?如果你有所发现,那就可以再用net use G:
\\123.123.123.123\C命令,接着再用net use命令,你会发现你已经把他的C盘映射为自己的G盘了!
对于设置了访问密码的共享主机,其实也是有机会进入的。你可以在MS-DOS下,输入如下的命令: nbtstat -A IP,记住其中的NetBIOS name,然后下载PQwak软件(
http://www.cners.com/tools/PQwak.exe),运行PQwak,出现图示窗口(图7)。在“NBMAME”栏中输入nbtstat命令中显示的NetBIOS name,在“SHARE”栏中输入受密码保护的共享文件夹名,在“IP”栏里输入那个需要访问密码的主机的IP地址,最后设置“DELAY”值,此时就要看你的连接方式了,如果你用的是56k的小猫,那么建议你把DELAY设置在1000-2000之间,如果你用ADSL的话,建议输入800-900之间一值。现在开始祈祷,因为你是要花费一番功夫才有可能破解出密码的,特别是复杂密码更要花费很长时间,如果对方不是专线或长时间上网的用户,在你做了那么多努力后,他却下线了,岂不是很令人恼火?PQwak运算完成后返回到受密码保护的共享文件夹,双击它,当提示要网络密码时,将PQwak里的密码拷贝下来,再粘贴到密码对话框,然后你就可以……注意:如果你运行PQwak后出现“the password is a 'or the password is wrong”,请将DELAY数值调高。
好了,怎样利用Legion搜寻共享主机你已经知道了吧。要说明的是此软件只对WIN9X系统作用,并且远程主机文件系统必须设置成共享且无口令保护。不过千万不可因此小视其危害性,现在一些网吧、单位中为了方便文件的交流,常常会把文件系统设成共享,这就很容易让不法分子找到可乘之机。如果有人利用Legion侵入你的共享主机,并把C:\windows\下的所有pwl文件拷贝到自己的机器上,用pwltools这个软件是很容易看到你的密码的!如果这个入侵者还在系统中放置了一个特洛依木马程序(什么?不是一个,是一群木马!嘿嘿,成养马场了),比如netspy3.0、网络公牛或网络神偷等,那么以后这台机器就会被人玩弄于股掌之间!尤其是网络神偷可是国内第一个“反弹端口”型木马,目前任何杀毒防黑软件都不能查到,中了它你就能领略到目前最新国产木马的厉害了!
三、关闭NetBIOS服务
现在,你应该知道有多么危险了吧?怎么办?当然要堵住这个漏洞!如前所述,在安装TCP/IP协议时,NetBIOS被毫无必要地(对于我们这些一般用户而言)一起装上了,或者说NetBIOS被捆绑在TCP/IP上了。我们要做的就是将NetBIOS从TCP/IP上解下来!
(一)对于最早的Win95用户
如果你使用的是最早版本的Win95,那关闭NetBIOS就是一件非常容易的事:找到系统里名为Vnbt.386 的文件,随便将它改个名,如改为Vnbt.out,这就算大功告成了。
(二)Win95改进版、Win9x或是WinMe用户
对于Win95改进版、Win9x或是WinMe用户可采用下面的方法:
1.检查NetBEUI是否出现在配置栏中。打开控制面版,双击“网络”选项,打开“网络”对话框。在“配置”标签页中检查己安装的网络组件中是否有NetBEUI。如果没有,点击列表下边的添加按钮,选中“网络协议”对话框,在制造商列表中选择微软,在网络协议列表中选择NetBEUI。点击确定,根据提示插入安装盘,安装NetBEUI。
2.回到“网络”对话框,选中“拨号网络适配器”,点击列表右下方“属性”按钮。在打开的“属性”对话框中选择“绑定”标签页,将除“TCP/IP->网络适配器”之外的其它项目前复选框中的对勾都取消!
3.回到“网络”对话框,选中“TCP/IP->拨号网络适配器”点击列表右下方“属性”按钮,不要怕弹出的警告对话框,点击“确定”。在“TCP/IP属性”对话框中选择“绑定”标签页,将列表中所有项目前复选框中的对勾都取消!点击“确定”,这时Windows会警告你“尚未选择绑定的驱动器。现在是否选择驱动器?”点击“否”。之后,系统会提示重新启动计算机,确认。
4.证实己取消绑定。重新进入“TCP/IP->拨号网络适配器”的“TCP/IP属性”对话框,选定“NetBIOS”标签页,看到“通过TCP/IP启用NetBIOS”项被清除了吧!连点两次“取消”退出“网络”对话框(不要点“确认”,免得出现什么意外)。
(三)对于WinNT用户
在WindowsNT下你可以取消NetBIOS与TCP/IP协议的绑定。可以按如下步骤进行:点击“控制面板->网络->NetBIOS接口->WINS客户(TCP/IP)->禁用”,再点“确定”,然后重启,这样NT的计算机名和工作组名也隐藏了,不过会造成基于NetBIOS的一些命令无法使用,如net命令等。
(四)对于Win2000用户
在Win2000下不采用“文件和打印共享”即可,但这样也不能访问别人的NetBIOS了。有没有其他办法呢?
其实你可以这样:在“路由和远程访问”管理工具中,将“IP路由选择”中“本地连接”的属性中的“输入筛选”设置139端口关闭就行了。
以上的方法都是给不需要连接入局域网的计算机的配置方法,如果你是一台拨号上网的单机那么完全可以禁止NetBIOS服务。但是如果你需要接入局域网的话,那你只能注意加密你的共享资源了,一定要加上访问口令!否则任何有点经验的人都可以通过这个Windows的“后门”到你的计算机里“跳舞”了。
以上只是我的抛砖引玉之言,欢迎大家和我交流看法,共同提高。
网友评论