DCE SMB 检查器概述
类型 |
检查器(服务) |
使用方式 |
检测 |
实例类型 |
多实例 |
所需其他检查器 |
无 |
已启用 |
|
DCE/RPC 协议使不同网络主机上的进程可以像在同一主机上一样进行通信。这些进程间通信一般通过 TCP 和 UDP 在主机之间传输。在 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,如 SMB。
dce_smb
检查器检测 SMB 协议中面向连接的 DCE/RPC,并使用协议特定特征(包括信头长度和数据分段顺序)来:
-
检测封装在 SMB 传输中的 DCE/RPC 请求和响应。
-
分析 DCE/RPC 数据流并检测 DCE/RPC 流量中的异常行为和逃避技术。
-
分析 SMB 数据流并检测异常 SMB 行为和逃避技术。
-
对 SMB 进行分片,对 DCE/RPC 进行分片重组。
-
规范化 DCE/RPC 流量,以便规则引擎进行处理。
下图说明了 DCE SMB 检查器开始为不同传输处理 SMB 流量的点。

dce_smb
检查器通常接收适用于 NetBIOS 会话服务的已知 TCP 端口 139 或以类似方式实现的已知 Windows 端口 445 上的 SMB 流量。由于 SMB 具有除传输 DCE/RPC 以外的许多功能,因此,检查器会首先测试 SMB 流量是否携带
DCE/RPC 流量,如果不是则停止处理,如果是则继续处理。
对 dce_smb
检查器参数和功能的描述包括 DCE/RPC 的 Microsoft 实施,包括 Microsoft 远程过程调用 (MSRPC),以及 SMB 和 Samba。
基于目标的策略
Windows 和 Samba DCE/RPC 的实现有很大不同。例如,在对 DCE/RPC 流量进行分片重组时,所有 Windows 版本都在第一个分片中使用 DCE/RPC 上下文 ID,而所有 Samba 版本都在最后一个分片中使用上下文
ID。再如,Windows Vista 在第一个分片中使用操作编号
报头字段来识别特定函数调用,而 Samba 及其他所有 Windows 版本都在最后一个分片中使用操作编号
字段。
Windows 和 Samba SMB 的实现有很大不同。例如,Windows 在与命名管道配合使用时可识别 SMB OPEN 和 READ 命令,而 Samba 不能识别这些命令。
因此, dce_smb
检查器使用基于目标的方法。配置 dce_smb
检查器实例时, policy
参数指定 DCE/RPC SMB 协议的实施。将此信息与主机信息相结合,建立默认的基于目标的服务器策略或者,您可以配置以其他主机和 DCE/RPC SMB 实施为目标的其他检查器。默认的基于目标的服务器策略指定的 DCE/RPC SMB 实施适用于另一个
dce_smb
检查器实例没有作为目标的任何主机。
dce_smb
检查器可以使用 policy
参数定位的 DCE/RPC SMB 实施包括:
-
WinXP(默认)
-
Win2000
-
WinVista
-
Win2003
-
Win2008
-
Win7
-
Samba
-
Samba-3.0.37
-
Samba-3.0.22
-
Samba-3.0.20
文件检查
dce_smb
检查器支持 SMB 版本 1、2 和 3 的文件检查。
dce_smb
检查器检查正常的 SMB 文件传输。这包括通过文件处理检查文件类型和签名,以及为 file_data
规则选项设置指针。 dce_smb
检查器支持与 file_id
检查器配合使用时检查 SMB 版本 1、2 和 3 的正常 SMB 文件传输(详见 Snort 3 开源文档,可从 https://www.snort.org/snort3获取)。要启用文件检测,请根据需要配置 file_id
检查器,并设置 dce_smb
、smb_file_inspection
和 smb_file_length
参数。smb_file_length
参数表示 file_id
检查器检查的文件数据字节数(从 file_data
IPS 规则选项指示的指针开始)。有关详细信息,请参阅 Snort 3 开源文档,网址为 https://www.snort.org/snort3)。
解除分区
dce_smb
检查器支持重组分片的数据包。此功能在内联模式下非常有用,可以在完整的分片重组完成之前于检测流程的早期阶段捕获漏洞攻击,或捕获利用分段隐藏自身的漏洞攻击。请注意,禁用分片重组可能会导致大量的漏报。