为了保护您的环境免受 SIGRed 漏洞的侵害,我们建议使用诸如 Endpoint Security、Winlogbeat、Packetbeat 或 网络安全监控 (NSM) 平台(如 Zeek 或 Suricata)之类的技术,将下面包含的检测逻辑实施到您的环境中。
概要
2020 年 7 月 14 日,微软发布了与 Windows DNS 服务器 (2003 - 2019) 中的远程代码执行 (RCE) 和拒绝服务 (DoS) 漏洞 (CVE-2020-1350) 相关的安全更新。
概述
- 美国国家标准与技术研究院 (NIST) 根据未经身份验证的远程代码执行以及在没有用户交互的情况下自我复制的可能性,分配了 10 分(满分 10 分)的严重CVSS 评分
- 据估计,该漏洞已有 17 年的历史,会影响较旧的操作系统 (Windows 2003+),这些操作系统可能不再受支持
- 必须启用 DNS 角色才能受到影响,该角色在大多数环境中都已启用,并且是 Active Directory 和 Kerberos 服务所必需的
- 该漏洞由 Check Point Research 报告,并命名为“SIGRed”
事件时间表
- 2020 年 5 月 19 日 - Check Point 向微软发送初始披露信息
- 2020 年 6 月 18 日 - 向漏洞颁发 CVE-2020-1350
- 2020 年 7 月 14 日 - 微软发布补丁
- 2020 年 7 月 16 日 - 第一个公共 DoS 概念验证发布
- 2020 年 7 月 17 日 - Elastic 发布 SIGRed 公共检测逻辑
影响
所有利用 Windows DNS 服务器服务的系统都会受到影响 (Windows 2003+)。这包括利用 Active Directory/Kerberos 的域控制器/成员服务器等计算机,因为这些服务依赖于 Windows DNS 服务。
值得注意的是,这是 Windows DNS 服务器不正确处理格式错误的请求所产生的影响,而不是 DNS 协议本身的底层问题。
SIGRed 漏洞利用利用 MITRE ATT&CK® 框架分类的多种策略和技术
策略
技术
检测
检测逻辑
2020 年 6 月 30 日,Elastic 安全情报与分析团队发布了我们的检测规则存储库供公众使用。为了扩展该帖子发布的规则,我们还在公共存储库中加入了针对 CVE-2020-1350 (SIGRed) 的网络和端点规则
dns.exe 的异常子进程 - Kibana 查询语言 (KQL)
图 1(下文)中的检测逻辑可识别从 Windows DNS 服务 (dns.exe) 衍生出的可疑或意外子进程。此活动可能表示与远程代码执行 (RCE) 或其他形式的漏洞利用相关的活动。
event.category:process and event.type:start and process.parent.name:dns.exe and not process.name:conhost.exe
图 1 - dns.exe 的异常子进程
dns.exe 的异常文件操作 (KQL)
图 2(下文)中的检测逻辑可识别 Windows DNS 服务 (dns.exe) 正在修改的可疑或意外文件。这不仅表明存在潜在的 RCE 或漏洞利用,还可能表明正在为后期入侵活动做准备。例如,此服务以 SYSTEM 特权运行,可用于将 DLL 静默写入 Windows 系统文件夹,从而通过已知的 DLL 侧加载向量设置可能的执行。
event.category:file and process.name:dns.exe and not file.name:dns.log
图 2 - dns.exe 的异常文件修改
网络(具有 Zeek 或 Suricata 模块的 Packetbeat 和 Filebeat)
正如Check Point SIGRed 研究中所详述的那样,异常大的 DNS 响应可能会导致基于堆的缓冲区溢出情况。图 3(下文)中的逻辑使用 Packetbeat 或 Filebeat(启用 Zeek 或 Suricata 模块)来识别大的 DNS 响应。
event.category:(network or network_traffic) and destination.port:53 and (event.dataset:zeek.dns or type:dns or event.type:connection) and network.bytes>60000
图 3 - 异常大的 DNS 响应 (KQL)
防御建议
- 使用诸如 Endpoint Security、Winlogbeat、Packetbeat 或 网络安全监控 (NSM) 平台(如 Zeek 或 Suricata)之类的技术,在您的环境中审查和实施上述检测逻辑。
- 使用包含的网络规则来识别来自内部和外部人群的大型 DNS 查询和响应。
- 确保您已部署最新的 Microsoft 安全更新(每月汇总或仅安全更新)并重新启动已修补的计算机。如果无法立即修补:Microsoft 发布了基于注册表且无需重新启动的解决方法。这可用作应用补丁之前的临时解决方案。
- 维护关键系统的备份以帮助快速恢复。
- 对系统执行例行漏洞扫描并修补已识别的漏洞。