已知的 ssh-hostkey 会导致什么样的漏洞?

信息安全 SSH 地图 脆弱性
2021-08-23 08:39:59

我看到有一个 NSE 脚本nmap可以从目标主机检索ssh-hostkeyRSA 或 DSA)。

例如:

22/tcp open  ssh
|  ssh-hostkey: 2048 f0:58:ce:f4:aa:a4:59:1c:8e:dd:4d:07:44:c8:25:11 (RSA)

谁能解释如果我们能得到会发生什么ssh-hostkey这是SSH的一种错误配置吗?

2个回答

此脚本仅检索公钥的指纹(如您的问题所示)并根据请求检索公钥本身。

显示目标 SSH 服务器的密钥指纹和(具有足够高的详细级别)公钥本身。它将发现的主机密钥记录在 nmap.registry 中以供其他脚本使用。可以使用 ssh_hostkey 脚本参数控制输出。

来源 nmap.org

由于根据定义,公钥是公开的,这仅用于客户端的信息目的,根本不构成漏洞/安全威胁。

我提到的信息目的可能是:

  • 预填充 SSH/SCP 客户端的已知主机密钥列表
  • 检查服务器的主机密钥是否已更改(例如,触发有关原因的调查)

公钥的指纹用于识别该密钥(使其更容易识别),因为可能很难看到完整的密钥(2048 位 = 256 个字符)何时被更改。即使仅更改了一位,指纹(通常称为哈希)也会完全不同。

获取主机密钥没有任何问题。如果您提供 SSH 服务并且客户端连接,那么主机无论如何都会告诉它。这只是信息性的。偶尔会发现一些主机共享相同的主机密钥(nmap 会告诉你),这可能是需要考虑的事情。