在局域网内经常无原无故的蓝屏死机。我想到了设备名称解析漏洞。有部分局域网攻击软件则是运用这个原理。该漏洞存在于windows 9x系统,用户输入一段命令就可以使开着共享的远程计算机或本地计算机系统崩溃,请求访问系统上一些包含设备名的非法路径,这将导致windows9x崩溃。当windows解析这些路径时,内核的溢出导致整个系统出错。这时你只有重新启动系统才能恢复正常,没有其它的选择。发现有五个设备或设备驱动程序可以使系统崩溃。它们是:CON、NUL、AUX、CLOCK$、CONFIG$,其它的设备都不行。
把这些组合起来形成一个路径,如: CON\NUL, NUL\CON, AUX\NUL,只要请求成功,windows系统将崩溃,在IO.SYS 里是这样定义这些设备的:
DEVICE DRIVERS
--------------
These are specified in IO.SYS and date back from the early Ms Dos
days. Here is what I have found. Here is a brief list;
CLOCK$ - System clock
CON - Console; combination of keyboard and screen to
handle input and output
AUX or COM1 - First serial communicationport
NUL - Dummy port, or the "null device" which we all
know under Linux as /dev/null.
CONFIG$ - Unknown
只要能对这些路径进行请求,不管是远程,还是本地,都可以令系统崩溃。
漏洞的利用
利用这个漏洞的方法很多,通常为以下几种:
一、 远程攻击。
这个方法在局域网内成功率高。为什么呢?因为局域网里大多数都开着共享,以方便文件的传送。先找到一台机子,知不知道IP无所谓,你打开网上邻居,可以看到在局域网内的用户的机器名称,假设为“A1”打开“A1”那台机子,得知他共享了d:那么我们可以在开始菜单的运行里输入
\\a1\d\con\con
那台机子就蓝屏了,假设你知道“A1”的IP为"192.168.0.1",那就在运行里输入\\192.168.0.1\d\con\con
回车。A1照死不误。格式是
\\计算机名或IP地址\共享名\con\con
如果“A1”只开了打印机的共享,照样受此漏洞的影响,和上面所说的一样在运行里输入\\192.168.0.1\printer$\con\con
\\A1\printer$\con\con
对方就要重启了。如果对方的共享设置了密码,只要知道密码还是轻而易举当掉对方,破解对方的密码不在此文讨论范围,请参阅相关文章。如果对方计算机上安装了web server,如Microsoft Person web server,或者Frontpage Extention Server,用“Get /con/con” 或者“Get nul/nul”的请求,就可以远程当掉 windows 系统例如下面的命令:
http://xxx.xxx.xxx.xxx/nul/nul
如果目标上安装了FTP server,也可以使用上述 GET 命令来达到目的。
二、 本地攻击。
如果是windows 9x系统,那么在运行对话框里输入
c:\con\con
自己的计算机就会当掉,利用这个原理,可以通过修改注册表,在注册表的HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\_项,用
c:\con\con "%1" %* or c:\nul\nul "%1" %*的值,也可以使系统当机。这是宏病毒的一种常用攻击方式。下面的HTML代码也可以达到目的:
这种情况常用在网页中,不少恶意网站就防有这种代码,访问者打开这个页面计算机就蓝屏,万花谷就是这样,但这代码只对IE有效。
漏洞的防范
只要关闭所有的共享就可以防范远程攻击,如果要更好的防范请下载微软发布的补丁。
Win95/97
http://download.microsoft.com/download/win95/Update/6467/W95/EN-US/256015USA5.EXE
Win98
http://download.microsoft.com/download/win98SE/Update/6467/W98/EN-US/256015USA8.EXE |