远程溢出入侵漏洞 (Remote Buffer Overflow Vulnerability) 是远程直接入侵被黑
电脑或服务器最典型、最常见的漏洞,原因无它,只要溢出成功并运行 ShellCode 程序
就可以直接进入被黑电脑中,而且几乎都有最高权限,算是最简单、快速的一步到位入侵
法,因此近年来许多黑客乐此不疲的查找这类漏洞 ,而不论是利用那个漏洞,入侵的操作
与行为几乎都是一样的,因此在本问题中选择 UPnP 这个漏洞 (微软编号 MS05-039) 来作
为典型入侵的实做说明,让你充分了解黑客的一举一动,然后找出应对的防护之道。
◎原理与说明
这是一个出现在 Windows 系统即插即用 (Plug and Play) 的功能中,只要送出一个
特别的要求就会让系统无法进行适当的处理而造成缓冲区溢出 (Buffer Overflow),而对
于不同的 Windows 系统影响也不尽相同,说明如下。
.具有此漏洞的 Win2K 电脑将可能会被 Internet 上任何黑客入侵。
.具有此漏洞的 WinXP (含 SP1) 电脑只会被可登录这台电脑的帐户入侵。
.具有此漏洞的 WinXP SP2 与 Windows Server 2003 电脑只会被可登录这台电脑而且具
有最高权限的帐户入侵。
由上面的说明可以看出 Win2K 电脑有此漏洞是非常危险的,而 WinXP 与 Windows
Server 2003 的电脑似乎就就安全许多,另外由于远程入侵是利用 SMB,因此有此漏洞的
电脑必需要打开
NetBIOS Over TCP/IP (端口 139) 与
资源共享,如此才有被黑客从远程
入侵的机会。
◎典型远程溢出入侵漏洞实作
不管黑客是利用那一种远程溢出漏洞入侵,通常都是依照下面的步骤来进行,不过在
利用 MS05-039 漏洞进行前与进行时必须实现下面两件事。
.由于这个漏洞与端口 445 有关,因此黑客自己的电脑也必须启用 NetBIOS Over TCP/IP
(也就是要打开端口 139),而且必须直接与 Internet 连接不能使用虚拟 IP 上网 (也表
示无法利用无线上网方式来隐藏 IP),否则将无法成功入侵。
.进行漏洞扫描时最好不要同时进行其他网络连接操作 (例如:浏览网页、下载或上传文件
、使用 Telnet、使用 MSN、QQ…等),关闭所有网络相关的程序更佳。
步骤 1 获取工具
要利用漏洞当然要先获取适当的工具才行 (除非黑客自己写),这个 MS05-039 的工具
可以到我们网站下载 ( [url]http://www.faqdiy.cn/[/url])。
步骤 2 查看下手目标
有了工具之后黑客首先当然就是先查看目标服务器 (一般电脑也行) 是否有 MS05-039
漏洞,若是随意查找下手目标则会扫描许多 IP 地址或 IP 范围来找出那些电脑或服务器有
此漏洞,操作如下。
Note:若黑客已有特定下手目标则是否用扫描器查看并不是很重要,直接使用入侵工具也行
,行就行,不成就不成,也可省一个步骤。
这个扫描工具速度还算快,扫描 65535 个 IP 大概约 2~2.5 小时,由于此漏洞已经出
来一段时间,因此要找到具有此漏洞的电脑或服务器并不是很容易,有时还要靠些运气才行
,上述的操作中在 65535 个 IP 中找到 2 个算正常,所以若黑客是随意查找下手目标的话
,可能需要很大的耐心与毅力,再加上一些运气,才可能有所收获,然而即使找到了几个
具有此漏洞的 IP,也不表示就一定可以入侵成功,请继续看下去就可了解。
Tips:若是扫描一个大范围的 IP 地址,则有经验的黑客会尽可能选择扫描固定 IP 而非动
态 IP,否则扫描完毕可能已过数个小时,即使找到有漏洞的那个动态 IP 电脑可能在
已不网上或是变成其他上网电脑使用,所以找到可能也没用;当然黑客也可以一找到
有漏洞的 IP 就立刻依照下面的步骤进行入侵,但这样就要一直坐在电脑前等待,若运
气不好可能枯坐好几个小时都没找到有漏洞的 IP…因此如何取舍就由黑客自己决定了。
步骤 3 进行入侵
在进行入侵之前黑客会再确定下手目标是否在网上,例如使用 Angry IP Scanner 来查
看,操作如下。
现在黑客就会使用入侵工具对目标下手,此工具的参数配置如下:
由于这是 DOS 程序所以必须先运行 cmd.exe 然后才可进入 DOS 环境中进行,另外若成功
利用漏洞溢出后必须要使用 Telnet 进入被黑电脑,所以要再打开一个 DOS 窗口,也就是
要先打开两个 DOS 窗口,然后进行如下操作。
问题与解决
如果扫描工具找出被黑电脑有此漏洞,但却无法成功入侵,则可能是下面几种原因造成
的 (这些原因也适用于使用其他漏洞入侵不成功的情况)。
.黑客电脑的防火墙必须要让攻击程序 (MS05-039.exe) 通过,否则当然不可能进行入侵。
.被黑电脑的防火墙阻挡连接,若入侵的电脑是网络服务器则这是很常见的,下面 ◎讨论与
研究有更深入的说明。
.扫描工具判断错误,这个工具并不是 100% 判断正确,因此有可能下手的目标电脑并没有
此漏洞,而是扫描工具判断错误而误认为有此漏洞,这肯定是失败。
.如果之前都可以成功进入被黑电脑,但现在却不行,则很可能是被黑电脑已修补此漏洞,
因此以后就不能再用此方法入侵了。
.由于许多漏洞 (特别是缓冲区溢出漏洞) 同时具有入侵与 DoS 攻击的效果,因此有可能
在扫描工具查看漏洞时将被黑电脑打挂了 (即 DoS 攻击),因此无法连接入侵,面对这样
的情况黑客只好等 1~2 小时或半天后直接使用入侵工具可能就成功了。
.此工具只能使用于某些 Windows 版本 (就像此例中的 ms05-039.exe 只能用于入侵英文版
或中文版,若被黑电脑是日文或韩文 Windows 可能就不行),这在许多漏洞工具中是很常见
的 (特别是溢出漏洞,因为溢出或跳跃 jmp 的地址会因版本不同而异),因此黑客只好再去
查找可用于被黑电脑 Windows 版本的工具,或获取某个程序码后自行修改溢出或跳跃地址。
.入侵程序本身设计不良或有问题,这是很常见的,由于大多数工具都是一些有兴趣的编程师
或学生所写的,通常考虑不是很周到 (是懒的想太多,又没钱可赚),因此许多工具都只能算
是半成品或使用上有许多限制,所以使用这些工具不成功也不算意外,不过本例中的
ms05-039.exe 是经过小榕修改测试过的,应该不太会有这样的情况。
◎讨论与研究
经过测试内地、中国台湾、美国、约 60 万个 IP 地址后,小弟得出下列三项重要的心得
与你共享。
.虽然这个 MS05-039 漏洞也存在于 WinXP 与 Windows Server 2003,不过在实验中成功入
侵的几乎都是 Win2K (各版本,含 SP4) 的电脑,因此对于任意查找下手目标的黑客而言,
使用 X-Scan 找出 Win2K 的电脑再使用入侵工具可能比较有效率,只要扫描 NetBios-Info
模块,并将 Netbios 中所有项目打勾即可进行。
.在我们的测试中发现 Internet 世界中使用 Win2K 的电脑仍然不少,许多都是网络服务器
,而其中约有 5%~10% 具有 MS05-039 这个漏洞 (比例算相当高),但在入侵工具成功溢出
后却不可用 Telnet 连接进入,如下图所示。
这样的情况很明显示被防火墙阻挡而无法进入,而有经验的黑客会更改使用入侵工具时的
端口为较常见的 21、23…等,或许就不会被防火墙阻挡,不过在我们的测试中这样成功的
概率仍不高。其实面对这样的情况,黑客最好的方法就是使用具有反向连接的入侵工具,
如此就可由被黑电脑主动连接到黑客电脑,成功概率会提高许多,而在本例中的入侵工具
是小榕修改自 houseofdabus 的原始程序,没有反向连接的功能,所以只会用工具的黑客
只好认命。不过从安全防护而言,防火墙的确是一个不错的工具,像这样即使没有修补也
能防止黑客利用此漏洞入侵,因此不论是网络服务器或一般上网电脑最好都要安装防火墙。
.由于被黑电脑必须要打开 Micorsoft 网络的文件和打印机共享 与端口 139 而且具有
MS05-039 漏洞才可能被黑客入侵,不过具有这样条件的电脑 (或服务器) 在 Internet 中
很有限,但是在局域网中却很多 (因为单位、公司、学校或家庭内部许多电脑都会共享资源)
,因此若黑客是随意查找下手目标,则查找局域网中的电脑来入侵成功概率会高许多,也因
此网管人员就要尽快修补各种漏洞,以避免被有心人利用。
◎漏洞修补
你也可以使用此漏洞的扫描工具 (MS05051Scan.exe) 输入自己的上网 IP 地址查看是否有
此漏洞,如果有的话就可以到微软的网页中 下载补丁程序,操作的过程很简单,这里不再说明。
●●●●●本文取自於 黑客任务大作战 ●●●●●