Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/advanced-threat-research/cve-2020-16898
漏洞分析漏洞利用网络安全入侵检测
GitHubadvanced-threat-research/cve-2020-16898

CVE-2020-16898

CVE-2020-16898 (Bad Neighbor) 微软Windows TCP/IP漏洞检测逻辑与规则

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
网站
20930135年前Kitploit 审核通过
分享

CVE-2020-16898: “坏邻居”

CVSS 评分: 8.8

CVSS 向量: CVSS3.0/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H/E:P/RL:O/RC:C

概述

10月13日,微软宣布 Windows IPv6 协议栈中存在一个极其严重的漏洞,该漏洞允许攻击者发送特制数据包,从而可能在远程系统上执行任意代码。分享给 MAPP 成员的概念验证代码既极其简单又完全可靠。它会立即导致蓝屏死机(BSOD),但更重要的是,对于那些能够绕过 Windows 10 和 Windows Server 2019 缓解措施的人来说,这预示着被利用的可能性。如果被利用以实现远程代码执行,其影响将广泛且严重,因为这种类型的漏洞可能被制作成蠕虫。为便于参考,我们将该漏洞命名为“坏邻居”,因为它位于 ICMPv6 邻居发现“协议”中,使用了路由器通告类型。

本文档由 McAfee 高级威胁研究团队编写。旨在为网络管理员和安全人员提供有价值的见解,帮助他们进一步了解此漏洞并防御利用。此处生成的签名应在生产环境使用前,在预发布环境中仔细考虑和审查,并可能受益于针对目标部署的特定调整。

本文所提供的信息如有变更,恕不另行通知,且按“原样”提供,包含所有缺陷,不保证或担保信息对任何特定情况或环境的准确性或适用性,使用风险自负。此外,我们无法保证任何签名的性能或有效性基准。

签名

针对此漏洞的 Suricata 签名位于 cve-2020-16898.rules 中,包含以下逻辑:

alert icmp any any -> any any (msg:"潜在 CVE-2020-16898 利用"; lua:cve-2020-16898.lua; sid:202016898; rev:1;)

对应的 Lua 脚本可在 cve-2020-16898.lua 中找到。它包含正确解析 ICMPv6 层并识别潜在的坏邻居利用所需的逻辑,如下所示:

一旦我们定位到 ICMPv6 层的起始位置,我们测试该层的第一个字节,以确保它是一个路由器通告 ICMPv6 数据包(Type = 134)——如果不是,则退出。

由于 Suricata 原语尚未更新以解析 ICMPv6 选项,我们直接跳转到 ICMPv6 层的第 17 个字节,因为如果存在选项,那就是选项应该开始的位置(前 16 个字节是固定长度字段,根据 RFC 4443)。从那里,我们遍历每个选项,直到数据包中的字节用完。对于每个选项,我们只关心前两个字节:选项类型和长度字段。虽然我们忽略所有非 RDNSS 的选项,但对于选项类型 = 25(RDNSS),我们检查长度(选项的第二个字节)是否为偶数。如果是,则标记;如果不是,则继续。由于长度是以 8 字节为增量计数的,我们将长度乘以 8 并向前跳转那么多字节,以到达下一个选项的开始(减去 1 以考虑我们已经消耗的长度字节)。

通过此规则,我们还检查以确保长度至少为 3,因为 RFC 8106 要求如此,但最终此检查可能多余,因为我们只关心长度是否为偶数。

下载工具