util-linux 软件包 wall 中的漏洞允许在其他终端上放置任意文本

漏洞

如果被利用,这些漏洞可能允许攻击者未经授权访问敏感信息或通常会导致问题

最近发现一个 漏洞 (已编入 CVE-2024-28085 下)非常特别,并且发现了错误util-linux 软件包的 wall 实用程序中的一个, 允许攻击者操纵转义序列来影响其他用户的终端。

该漏洞引起了很多人的关注,因为它基本上允许网络钓鱼,由于该实用程序旨在向终端发送消息,因此该漏洞用于欺骗并从其他终端获取信息。

问题是实用程序 wall 阻止输入流中的转义序列,但是 不在命令行参数中,这使得攻击者可以在其他用户的终端上使用转义序列。

例如: 跑墙时 使用转义序列允许您移动光标、删除和替换屏幕上的内容, 攻击者可以在另一个用户的终端上模拟 sudo 密码请求。 如果用户没有检测到此操作并提供了密码,则该密码将作为不存在的命令显示在命令历史记录中(因为密码是直接在命令行上输入的,而不是有效的命令)。

当发出未找到输入的命令的警告时,许多发行版都会运行 /usr/lib/command-not-found 驱动程序。此驱动程序尝试识别包含缺少命令的包,并提供是否可以安装它的线索。然而, 有一个问题:启动命令未找到处理程序时,一个不存在的命令作为命令行参数传递给它。 查看系统上的进程时可以看到这一点,攻击者可以利用它来监视正在运行的进程并确定受害者在命令行上输入的密码。

诱导用户输入密码 为了响应虚假的 sudo 消息,有人提出了一种破解方案。这招 涉及跟踪进程列表中 sudo 实用程序的实际启动,等待其完成并立即进行墙壁攻击。通过操纵转义序列,攻击者可以在实际 sudo 执行后用伪造的密码重新输入消息替换该消息。受害者可能认为他们在输入密码时犯了错误并重新输入,从而在“command-not-found”处理程序参数中泄露了密码。

有些人误解了在哪些情况下可以使用它来攻击其他用户。我们不需要攻击 sudo,我们可以攻击用户输入密码的任何地方,一个基本的例子是 用户使用 OpenSSH 登录后。

P要进行成功的攻击,需要将“mesg”模式设置为“y”, 在 Ubuntu、Debian 和 CentOS/RHEL 等系统上默认配置。 该攻击已在 Ubuntu 22.04 上使用 gnome-terminal 成功演示 en 你的默认设置。然而,在 Debian 上,攻击更加困难,因为默认情况下未启用“command-not-found”驱动程序。对于 CentOS/RHEL,攻击不起作用,因为 wall 实用程序是在没有 setgid 标志的情况下安装的,并且无法访问其他用户的终端。如果使用Windows终端,则可以修改攻击以更改剪贴板的内容。

该漏洞自 2013 年以来一直存在于 util-linux 软件包中,在 2.24 版本引入了在 wall 命令行上指定消息的功能之后,却忘记了清理转义序列。昨天发布的最新版本 util-linux 2.40 中已修复此漏洞。值得一提的是,在尝试修复 util-linux 2.39 版本中的漏洞时,发现了另一个类似的漏洞,该漏洞允许通过操纵区域设置来替换控制字符。

如果您有兴趣了解更多,可以咨询 以下链接中提供了详细信息。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。