如果仅使用公共密钥,SSH客户端login(或已经login到)受感染的SSH服务器,SSH客户端是否也处于危险之中?

攻击者是否有控制服务器的条件可以访问并启动客户端的操作? 我意识到攻击者可能会在服务器上植入木马程序,希望SSH客户端背后的用户(手动或通过脚本)拖动一个木马,但是还有其他的攻击媒介吗?

我特别感兴趣的是不涉及密码的情况,只使用公共密钥authentication,可能在连接的两端使用相同的用户凭证。

本质上,这不会构成任何安全威胁(除非您使用受损机器除外),除非您也使用X转发(X窗口不是沙盒)。

但是,如果有人通过连接到的服务器的操作,有人利用SSH客户端中的某个漏洞进行攻击,则可能会以某种方式受到攻击。 例如,攻击可能会利用密钥协商过程中的缓冲区溢出等等。

这种事情纯粹是理论上的。 虽然这样的事情确实存在,但我从来没有听说过。

纯SSH客户端通常是安全的,至less在服务器上没有任何安全漏洞。 但是下面的SSHfunction会带来安全问题:

  1. 远程端口转发 (使用-R )。 远程系统上的个人/恶意软件将访问本地端口。
  2. 隧道设备转发 (带-w )。 远程系统上的人员/恶意软件将能够通过隧道发送stream量。
  3. 身份validation代理连接转发-A )。 远程系统上的个人/恶意软件将能够使用您的ssh-agent密钥环来与其他有密钥的SSH服务器进行身份validation。
  4. X11转发-X-Y )。 正如其他人所指出的那样,X11协议是为可信赖的客户devise的。 恶意软件可能会读取其他窗口的内容,发送击键或只是显示一个窗口要求input密码。

另一个要考虑的是你正在使用的terminal仿真器。 很可能它是一个像konsole或GNOME的terminal一样的GUI。 如果存在漏洞,也可以利用受感染服务器上的程序利用该漏洞(例如,远程服务器可能发送导致缓冲区溢出的字符序列,并允许攻击者在客户端计算机上执行代码)。

我从来没有听说过蠕虫或自动攻击软件使用这些攻击媒介,但是如果这是一个有针对性的攻击,这些(特别是代理转发)可能会被用来对付你。

有(我只相信)使用X转发的理论攻击可以做到这一点。

X本质上要求完全信任所有客户端(应用程序),并可以使用不可见的窗口从客户端中删除数据。

另外,如果启用向该主机的代理转发,攻击者可以将其与已经在受感染的主机上的任何“已知主机”文件结合使用,以便可能扩展其范围。

我不确定你的问题到底是什么,所以如果这不是你正在寻找的答案,随时更新它。

如果您询问是否使用公钥login到受损服务器中,客户端上的私钥将被泄露,则答案为否:私钥始终保留在您的计算机上,并且仅用于签署您发送的身份validation令牌到服务器。

但这并不意味着它没有任何后果,一旦login到受损机器中,在本次会话期间所做的一切都可能受到影响。 例如,如果您使用该服务器上存储的私钥来访问另一台服务器,则该密钥可能会被泄漏。 实际上,如果您在SSH会话中执行任何其他types的login,那么使用的凭证可能会受到影响。