浏览了多个关于 NTP 的 RFC 文档但没有成功(找到答案),以及大量的博客文章说明这个命令是多么危险、邪恶和无用,但没有解释它为什么存在或真正目的是什么,我开始想知道:
为什么MONSLIST
NTP中存在该命令?(作者无法预见这个“特征”会被用来做什么,但它是一个特征并且有存在的理由)
MONLIST
NTP中命令的目的是什么?
浏览了多个关于 NTP 的 RFC 文档但没有成功(找到答案),以及大量的博客文章说明这个命令是多么危险、邪恶和无用,但没有解释它为什么存在或真正目的是什么,我开始想知道:
为什么MONSLIST
NTP中存在该命令?(作者无法预见这个“特征”会被用来做什么,但它是一个特征并且有存在的理由)
MONLIST
NTP中命令的目的是什么?
monlist
是一个调试命令,允许从监控设施中检索与 NTP 服务相关的流量信息。
NTP 的参考实现 [...] 允许用户请求 NTP 守护进程 ntpd 最近与之通信的主机列表。名为“monlist”的列表的大小限制为 600 个条目,并包含实例与之通信的最后一个 NTP 客户端或服务器的 IP 地址。
您在任何 RFC 中都没有明确提到它,因为它是 NTP模式 7请求。RFC 1305解释了实现可以使用“保留模式 7 用于特殊目的,例如远程控制和监视”。
ntp-monlist
NSE 脚本也有一些信息:
监控数据是与目标具有 NTP 关联的最近使用 (MRU) 的列表。每条记录都包含有关主机发送到目标的最新 NTP 数据包的信息,包括源地址和目标地址以及数据包的 NTP 版本和模式。有了这些信息,就可以将关联的主机分类为服务器、对等方和客户端。
除了信息泄露问题,monlist
还有CVE-2013-5211monlist
等漏洞的历史,该漏洞允许通过伪造源地址的查询通过流量放大进行 DoS 攻击。