如果您通过 SSH 连接到另一台计算机,如何访问其他 X 显示器?

Ash*_*ing 3 security ssh xorg gentoo x11

这是基于个人使用的查询。我们本地网络中的一个巨魔下载了关键事件模拟​​器Crikey。他用它来模拟其他计算机上的事件,从而导致不需要的东西。例如,一个人正在玩流行的 FPS Urban Terror。攻击者使用 Crikey 更改玩家的昵称 ( /nick trollface)。据我们所知,攻击者通过 ssh 进入我们的计算机,然后以某种方式切换 X 窗口,并模仿我们的事件。我想知道是否有人知道他是如何切换 X Windows 并做到这一点的。

Gil*_*il' 6

这不应该是可能的;要么您正在运行某些软件的易受攻击版本,要么您配置错误。

在正常配置下,连接到 X 服务器需要一种称为“X cookie”的密码。cookie 是 X 服务器启动时随机生成的,并保存在一个文件中。通常,只有启动 X 服务器的用户才能读取此文件,其他用户无法获取 cookie。有关如何在 cookie 的位置不明显时访问 X 显示的详细说明,例如通过 SSH 连接访问远程计算机的显示时,请参阅在远程 X 显示上打开窗口(为什么“无法打开显示")?另请参阅是否可以通过桌面与某人进行通信?并且我可以其他用户的桌面上用root启动图形程序?关于访问另一个用户的 X 显示。

请注意,Crikey 在这里没有错。Crikey 无论如何都不是攻击程序。本质上,Crikey 写入文件,如果该文件没有足够的限制权限,这不是 Crikey 的错。

可能的攻击途径包括:

  • X cookie 存储在权限不足的文件中。检查~/.Xauthority或的权限$XAUTHORITY;如果除了所有者之外的任何人都可以读取此文件,则说明配置错误。
  • X cookie 通过网络以明文传输。使用 SSH。
  • X cookie 以明文形式提供,因为它们存储在 NFS 文件系统上,任何对网络有物理访问权限的人都可以挂载。如果您不信任对网络上的机器具有 root 访问权限的所有用户,请不要使用 NFS(至少不是这种方式)。
  • 目标用户跑了xhost +。不要那样做。