![黑客攻防工具实战从新手到高手(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/760/26793760/b_26793760.jpg)
3.2 RPC服务远程漏洞的防护
RPC协议是Windows操作系统使用的一种协议,提供了系统中进程之间的交互通信,允许在远程主机上运行任意程序。在Windows操作系统中使用的RPC协议,包括Microsoft其他一些特定的扩展,系统大多数的功能和服务都依赖于它,是操作系统中极重要的一个服务。
3.2.1 RPC服务远程漏洞的定义
RPC的全称是“Remote Procedure Call”,在操作系统默认是开启的,它为各种网络通信和管理提供了极大的方便,但也是危害极为严重的漏洞攻击点,曾经的冲击波、震荡波等大规模攻击和蠕虫病毒都是由于Windows系统的RPC服务漏洞造成的。可以说,每次RPC服务漏洞出现且被攻击后,都会给网络系统带来一场灾难。
启动RPC服务的具体操作步骤如下。
Step 01 在Windows操作界面中选择【开始】→【设置】→【控制面板】→【管理工具】菜单项,打开【管理工具】窗口。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P46_5574.jpg?sign=1738855104-OMKkyNSoijJvyTjkCtgt3DoZTEzUDYMG-0-f1e2532d439ee48fbf9cb0b53f648350)
Step 02 在【管理工具】窗口中双击【服务】,打开【服务】窗口。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P46_5587.jpg?sign=1738855104-2qHCcxrJGQzM8HExf04PEQQP6BkOpi8k-0-76eb4e73b14570c27a5d53424be70158)
Step 03 在服务(本地)列表中双击【Remote Procedure Call(RPC)】服务项,打开【Remote Procedure Call(RPC)的属性(本地计算机)】对话框,在【常规】选项卡中可以查看该协议的启动类型。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P46_5600.jpg?sign=1738855104-uViLDOjElsK2v8cPgeo7tkE8x1zMnLJx-0-6bc3d363f0ebacf94f28d077dad16e1f)
Step 04 选择【依存关系】选项卡,在打开的对话框中可以查看一些服务的依赖关系。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P47_5642.jpg?sign=1738855104-6Bq9AaZi70xI6JYFYaDXxDlchzU4uiOZ-0-d0867075226147554488c41b0c09201f)
分析:从上图的显示服务可以看出,受其影响的系统组件有很多,其中包括DCOM接口服务。这个接口用于处理由客户端机器发送给服务器的DCOM对象激活请求(如UNC路径)。攻击者利用此漏洞可以以本地系统权限执行任意指令,还可以在系统上执行任意操作,如安装程序,查看或更改、删除数据,或建立系统管理员权限的账户。
若想对DCOM接口进行相应的配置,其具体操作步骤如下。
Step 01 选择【开始】→【运行】命令,从弹出的【运行】对话框中输入Dcomcnfg命令。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P47_5657.jpg?sign=1738855104-PaEwg06NwBcTtaLBnqO29grlvFcL9EmW-0-e1d9dfdfc9b964de3b6f62ffaeab8e68)
Step 02 单击【确定】按钮,弹出【组件服务】窗口,单击【组件服务】前面的“+”号,依次展开各项,直到出现【DCOM配置】子项,即可查看DCOM中的各个配置对象。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P47_5671.jpg?sign=1738855104-mF0RzepggUhWqoCxBxvVoDYCgf7N5NRa-0-354e8601905e1b099f8a8cdda4daeb11)
Step 03 根据需要选择DCOM配置的对象,如BannerNotificationHandler Class,并右击,从弹出的快捷菜单中选择【属性】命令,打开【BannerNotificationHandler Class属性】对话框,在【身份验证级别】下拉列表中根据需要选择相应的选项。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P47_5684.jpg?sign=1738855104-i9oqzTAmqIA6QbolhbU2q20PtPXGB0IG-0-6a413e17eec01e09d6e754df2b7c702b)
Step 04 选择【位置】选项卡,在打开的设置对话框中对BannerNotificationHandler Class对象进行位置的设置。
Step 05 选择【安全】选项卡,在打开的设置对话框中对BannerNotificationHandler Class对象进行启动和激活权限、访问权限、配置权限的设置。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P48_5736.jpg?sign=1738855104-5BQMLLE5OtpcA4mXpS6mbsEHRrA2kEsg-0-0973965b34eaa3815d3a23ba583f8edd)
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P48_5737.jpg?sign=1738855104-vCxuTUrMx7b1Fcg2amQR30CRg45qP47w-0-891c38fb1b16afddcf8c017b0ed164bc)
Step 06 选择【终结点】选项卡,在打开的设置对话框中对BannerNotificationHandler Class对象进行终结点的设置。
Step 07 选择【标识】选项卡,在打开的设置对话框中对BannerNotificationHandler Class对象进行标识的设置,在其中选择运行此应用程序的用户账户。设置完成后,单击【确定】按钮即可。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P48_5762.jpg?sign=1738855104-XZvNyv5ufci5UUfSzS3VIwLLL0Xjbv8s-0-995038dc7ac4b104faefdea8297890e0)
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P49_5788.jpg?sign=1738855104-UFAZmACa00yH69OITVzxtiG5HqpVFGVY-0-e6a639b22642485d15bc97162824234c)
由于DCOM可以远程操作其他计算机中的DCOM程序,因此,利用这个漏洞,攻击者只需要发送特殊形式的请求到远程计算机上的135端口,轻则可以造成拒绝服务攻击,重则远程攻击者可以以本地管理员权限执行任何操作。
3.2.2 RPC服务远程漏洞入侵演示
DcomRpc接口漏洞对Windows操作系统乃至整个网络安全的影响,可以说超过了以往任何一个系统漏洞。其主要原因是DCOM是目前几乎所有Windows系统的基础组件,应用比较广泛。下面就以DcomRpc接口漏洞的溢出为例,详细讲述溢出的方法,其具体操作步骤如下。
Step 01 将下载好的DcomRpc.xpn插件复制到X-Scan的Plugin文件夹中,作为X-Scan插件。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P49_5803.jpg?sign=1738855104-BBA8iNAVaXxaqxxbunvbfHZeU43zsx9E-0-53a398d22e64ac7f325da4334784ebd6)
Step 02 运行X-Scan扫描工具,选择【设置】→【扫描参数】菜单项,打开【扫描参数】窗口,再选择【全局设置】→【扫描模块】选项,即可看到添加的【DcomRpc溢出漏洞】模块。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P49_5816.jpg?sign=1738855104-3UBSJJ76XiFyHTvzmGaQrnPGgTbBqaXJ-0-0a16b8716cab1a1a02b200e3332a444b)
Step 03 使用X-Scan扫描到具有DcomRpc接口漏洞的主机时,可以看到在X-Scan中有明显的提示信息。如果使用RpcDcom.exe专用DcomRPC溢出漏洞扫描工具,则可先打开【命令提示符】窗口,进入RpcDcom.exe所在文件夹,执行“RpcDcom -d IP地址”命令后开始扫描并看到最终的扫描结果。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P49_5829.jpg?sign=1738855104-IjEQ5VSe6rya7H7EpAjuAtdPE7yo0CfR-0-1feb828bacd42d2b6f3f127f65d8f3be)
3.2.3 RPC服务远程溢出漏洞的防御
RPC服务远程溢出漏洞可以说是Windows系统中最严重的一个系统漏洞。下面介绍几个RPC服务远程溢出漏洞的防御方法。
1.及时为系统打补丁
防止系统出现漏洞最直接、有效的方法是打补丁,对RPC服务远程溢出漏洞的防御也是如此。不过,对系统打补丁时,务必要注意补丁相应的系统版本。
2.关闭RPC服务
关闭RPC服务也是防范DcomRpc漏洞攻击的方法之一,而且效果非常彻底。其具体方法为:选择【开始】→【设置】→【控制面板】→【管理工具】菜单项,在打开的【管理工具】窗口中双击【服务】,打开【服务】窗口。在其中双击【Remote Procedure Call】服务项,打开其属性窗口。在属性窗口中将启动类型设置为【禁用】,这样自下次启动开始,RPC将不再启动。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P50_5859.jpg?sign=1738855104-S6ZUCtdV6qeK0WXYr63qxSCAuLbhnADI-0-43316a3ebdbd02e4f161088754eb5bd4)
另外,还可以在注册表编辑器中将“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs”的“Start”值由0X04改成0X02。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P50_5862.jpg?sign=1738855104-quQElmcOahdFasR7gfLt18otkLRCyQi1-0-68690dd79c5d6896bece6bedea5b2a55)
不过,进行这种设置后,将会给Windows的运行带来很大的影响。如Windows 10从登录到显示桌面画面,要等待相当长的时间。这是因为Windows的很多服务都依赖于RPC,因此,这些服务在将RPC设置为无效后将无法正常启动。这样做的弊端非常大,故一般不建议关闭RPC服务。
3.手动为计算机启用(或禁用)DCOM
针对具体的RPC服务组件,用户还可以采用手动的方法进行设置。例如,禁用RPC服务组件中的DCOM服务。可以采用如下方式进行,这里以Windows 10为例,其具体操作步骤如下。
Step 01 选择【开始】→【运行】菜单项,打开【运行】对话框,在其中的【打开】文本框中输入Dcomcnfg命令,单击【确定】按钮,打开【组件服务】窗口,依次单击【控制台根目录】→【组件服务】→【计算机】→【我的电脑】命令项,进入【我的电脑】子文件夹,若对于本地计算机,则需要右击【我的电脑】子文件夹,从弹出的快捷菜单中选择【属性】菜单项。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P51_5909.jpg?sign=1738855104-hIxFUP15WJOQ860GkVAK9FVvNBpmkGUI-0-b15bd34fc27a65062106c3758d422163)
Step 02 打开【我的电脑 属性】对话框,选择【默认属性】选项卡,进入【默认属性】设置界面,取消【在此计算机上启用分布式COM(E)】复选框,然后单击【确定】按钮。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P51_5922.jpg?sign=1738855104-bCx48t2u98Yx46jZQyrOdwOqstyFiIac-0-5bcdb94677999bd7a1526567ff9ad46a)
Step 03 若对于远程计算机,则需要右击【计算机】文件夹,从弹出的快捷菜单中选择【新建】下的【计算机】子项,打开【添加计算机】对话框。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P51_5935.jpg?sign=1738855104-ZDkAE2WFaK9XncHfAuUGdVu02I4v146C-0-f038a56afd927a79d0a4a04f6cbe5547)
Step 04 在【添加计算机】对话框中直接输入计算机名称或单击右侧的【浏览】按钮搜索计算机。
![](https://epubservercos.yuewen.com/D1D75B/15253388405241006/epubprivate/OEBPS/Images/Figure-P51_5952.jpg?sign=1738855104-FLq6rTMFnYvqnHZT5DeZnSYNiKppiVnv-0-7f466fe77406a49e49da1fc2fc256d17)