DCE TCP 检查器概述
类型 |
检查器(服务) |
使用方式 |
检测 |
实例类型 |
多实例 |
所需其他检查器 |
无 |
已启用 |
|
DCE/RPC 协议使不同网络主机上的进程可以像在同一主机上一样进行通信。这些进程间通信一般通过 TCP 在主机之间传输。在 TCP 传输中,DCE/RPC 也可以进一步封装在 Windows 服务器消息块 (SMB) 协议或 Samba 中;Samba 是一种在由 Windows 和类似 UNIX 或 Linux 操作系统组成的混合环境中用于进程间通信的开源 SMB 实现。
虽然大多数 DCE/RPC 漏洞出现在针对 DCE/RPC 服务器(实际上可能是网络上运行 Windows 或 Samba 的任何主机)的 DCE/RPC 客户端请求中,但在服务器响应中也可能出现漏洞。
IP 封装所有 DCE/RPC 传输。TCP 传输所有面向连接 DCE/RPC。DCE TCP 检查器检测面向连接的 DCE/RPC,并使用协议特定的特征(例如,报头长度和数据分片顺序)来:
-
检测封装在 TCP 传输(包括使用版本 1 RPC over HTTP 的 TCP 传输 DCE/RPC)中的 DCE/RPC 请求和响应。
-
分析 DCE/RPC 数据流并检测 DCE/RPC 流量中的异常行为和逃避技术。
-
对 DCE/RPC 进行分片重组。
-
规范化 DCE/RPC 流量,以便规则引擎进行处理。
下图说明了 DCE TCP 检查器开始为不同传输处理 TCP 流量的点。

已知 TCP 端口 135 识别 TCP 传输中的 DCE/RPC 流量。图中未包含 RPC over HTTP。对于 RPC over HTTP,面向连接 DCE/RPC 在完成 HTTP 初始设置序列后直接通过 TCP 传输(如图所示)。
基于目标的策略
Windows 和 Samba DCE/RPC 的实现有很大不同。例如,在对 DCE/RPC 流量进行分片重组时,所有 Windows 版本都在第一个分片中使用 DCE/RPC 上下文 ID,而所有 Samba 版本都在最后一个分片中使用上下文 ID。再如,Windows Vista 在第一个分片中使用操作编号报头字段来识别特定函数调用,而 Samba 及其他所有 Windows 版本都在最后一个分片中使用操作编号字段。
因此, dce_tcp
检查器使用基于目标的方法。在配置 dce_tcp
检查器实例时, policy
参数指定 DCE/RPC TCP 协议的特定实施。将此信息与主机信息相结合,建立默认的基于目标的服务器策略或者,您可以配置以其他主机和 DCE/RPC TCP 实施为目标的其他检查器。由默认的基于目标的服务器策略指定的 DCE/RPC TCP
实施适用于其他 dce_tcp
检查器实例不作为目标的任何主机。
DCE TCP 检查器可以使用 policy
参数确定的 DCE/RPC 实现包括:
-
WinXP(默认)
-
Win2000
-
WinVista
-
Win2003
-
Win2008
-
Win7
-
Samba
-
Samba-3.0.37
-
Samba-3.0.22
-
Samba-3.0.20
解除分区
DCE TCP 检查器支持在将分片的数据包发送到检测引擎之前对其进行重组。此功能在内联模式下非常有用,可以在完整的分片重组完成之前于检测流程的早期阶段捕获漏洞攻击,或捕获利用分段隐藏自身的漏洞攻击。请注意,禁用分片重组可能会导致大量的漏报。