NTP 中“MONLIST”命令的用途是什么?

信息安全 ntp
2021-08-13 21:41:53

浏览了多个关于 NTP 的 RFC 文档但没有成功(找到答案),以及大量的博客文章说明这个命令是多么危险、邪恶和无用,但没有解释它为什么存在或真正目的是什么,我开始想知道:

为什么MONSLISTNTP中存在该命令?(作者无法预见这个“特征”会被用来做什么,但它是一个特征并且有存在的理由)

MONLISTNTP中命令的目的是什么?

1个回答

monlist是一个调试命令,允许从监控设施中检索与 NTP 服务相关的流量信息。

NTP 的参考实现 [...] 允许用户请求 NTP 守护进程 ntpd 最近与之通信的主机列表。名为“monlist”的列表的大小限制为 600 个条目,并包含实例与之通信的最后一个 NTP 客户端或服务器的 IP 地址。

(来源)

您在任何 RFC 中都没有明确提到它,因为它是 NTP模式 7请求。RFC 1305解释了实现可以使用“保留模式 7 用于特殊目的,例如远程控制和监视”。

ntp-monlistNSE 脚本也有一些信息

监控数据是与目标具有 NTP 关联的最近使用 (MRU) 的列表。每条记录都包含有关主机发送到目标的最新 NTP 数据包的信息,包括源地址和目标地址以及数据包的 NTP 版本和模式。有了这些信息,就可以将关联的主机分类为服务器、对等方和客户端。

除了信息泄露问题,monlist还有CVE-2013-5211monlist等漏洞的历史,该漏洞允许通过伪造源地址的查询通过流量放大进行 DoS 攻击。