缓冲区溢出:实战Dcom Rpc漏洞
因为种种原因,很多计算机都开放了远程管理功能。特别是一些局域网内的计算机,更是喜欢使用此项功能对计算机进行管理。下面系统之家将为读者们剖析此功能引发的安全溝洞,以及相应的攻防知识。
操作方法
- 01
1、入侵实战撕 什么是DCOM?DCOM全称为“DistributedComponentObjectModel”,即分布式COM。该协议的前身是OSFRPC协议,但是增加了斂软自己的一些扩展。它扩展了组件对象模型技术(COM),使其能够支持在局域网、广域网甚至Internet上不同计算机的对象之间的通汛——从以下网站中可以査阅详细信息:
- 02
因为DCOM可以远程操作其他电脑中的DCOM应用程序,所以利用这个漏洞攻击者只需发送特殊形式的清求到远程计算机上的135端口,轻则会造成拒绝服务攻击,严重的甚至可以让远程攻击者以本地管理员权限执行任何操作。 什么是PRC?RPC的全称是“RemoteProcedureCall”,这是Windows系统使用的一种远程过程调用协议,提供进程间通信。RPC服务作为操作系统中极为重要的一个服务,其描述为“提供终结点映射程序(endpointmapper)以及其他RPC服务”。win7系统太多的功能和服务都依赖于它。 在了解了什么是DCOM和PRC后,再来简单说一下什么是“溢出人侵”。长期以来,缓冲区溢出已经成为操作系统的一个典型安全问题了。溢出人侵作为目前入侵的一个重要手段,对其进行必要的了解显然十分有必要。缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里……一旦该容器放满了,多出的糖自然就会溢出来到容器外,弄得一团糟。由于计算机程序的编写者写了一些编码,但是这些编码没有对目的区域或缓冲区——五磅的容器——败适当的检查,看它们是否够大,能否完全装人新的内容——十磅的糖,结果可能造成缓冲区溢出的产生。如果打算被放进新地方的数据不适合,溢得到处都是,该数据也会制造很多麻烦——比方说当缓冲区溢出时,过剩的信息覆盖的是计算机内存中以前的内容。除非这些被覆盖的内容被保存或能够恢复,否则就会永远丢失。由于缓冲区溢出是一个编程问题,所以只能通过修复被破坏的程序的代码而解决问题。如果没有源代码,那么也可以通过以下简单处理原则来操作: >操作系统开放的端口越少,人侵者进入的机会就越少; >使用检查堆栈溢出的编译器或者在程序中加人某些记号,以便程序运行时确认禁止黑客有意造成的溢出。问题是无法针对已有程序,对新程序来讲,需要修改编译器; >经常检查操作系统和应用程序提供商的站点,一旦发现有提供的补丁程序,就马上下载并且应用在系统上。 DCOMRPC接口漏洞对Windows操行系统乃至整个网络安全的影响,可以说是超过了以往任何一个系统漏洞。其主要的原因就是因为DCOM是目前几乎所有Windows系统的基础组件,因此DCOMRPC溝洞广泛存在于目前几乎所有的主流Windows操作系统当中,而不像以前的IIS漏洞那样仅存在于Server版本。比方说以下版本的系统均受此漏洞的影响: >WindowsServer2003(所有版本) >WindowsXP(所有版本) >Windows2000(所有版本) >WindowsNT4.0(所有版本) 目前,已知的DCOMRPC接口溝洞有MS03-026(DCOMRPC接口堆栈缓冲区溢出漏洞)、MS03-039(堆溢出漏洞)和一个RPC包长度域造成的堆溢出漏洞和另外几个拒绝服务漏洞。下面以DCOMRPC接口漏洞的溢出为例,来看看一次典型的溢出人侵的过程: (1)win7系统下载X-scan(扫描器)和该程序的DCOMRPC接口漏洞扫描插件。 (2)在为X-scan设置好DCOMRPC接口漏洞扫描插件,以及选定扫描的IP范围后,依次单击“设置”—“扫描模块”菜单,在弹出的“扫描模块”窗口中勾选“Dcomrpc溢出漏洞”选项,如图所示。
- 03
(3)使用X-scan扫描到具有DCOMRPC接口漏洞的主机时,可以看到在X-scan中有明显的提示信息,如图所示。
- 04
(4)此时就可以使用DCOMRPC溢出工具进行溢出操作了,对于一些没有成功打好补丁的系统,溢出成功率将会非常的高!如图所示。
- 05
从上图中可以看出,溢出操作使我们立即得到了被人侵主机的系统管理员权限了。到了这一步,还有什么不能完成的昵?比方说使用“Netuser”命令添加一个用户什么的...... 2、漏洞修补 要对此漏洞进行修补,需要至“http://support.microsoft.com/kb/823980/zh-cn”下载此漏洞的补丁。下载时需要注意不同版本的Windows补丁程序是不一样的,如图所示。 在完成补丁的下载后,双击并根据提示完成安装后,重启计算机即可解决这个漏洞带来的危险了。