Aqua Security 研究人员透露 最近,通过一篇博客文章, 针对 Ubuntu 用户的攻击的可能性,利用最著名的功能之一以及用户的无知或粗心。
对于一般的 Linux 用户来说, 最常见的消息之一 当我们在航站楼时,我们通常会发现著名的 “命令未找到。” 这条著名的消息告诉我们,我们所请求的内容不在系统中(在大多数情况下),或者我们输入了错误的内容。
没有人会让我撒谎,这发生在我们所有人身上,要么是因为我们相信并确信我们将在终端中使用的软件包或应用程序在我们的系统中,要么只是因为我们无意中输入了一些字母错误并且在那一刻我们得到了“命令未找到”。众所周知,当这条消息出现时,我们通常会提出安装建议 未找到所述包。该消息的一个实际示例如下所示:
Command 'Firefox' not found, but can be installed with: sudo apt install "paquete 1 recomendado" sudo snap install "paquete malicioso"
因此,当尝试启动系统上不存在的程序时,该驱动程序会提供提示。
回到文章的重点,我Aqua Security 研究人员发现了一个问题 多么激进啊a 以命令的评估方式 运行系统上不存在的软件包,因为它不仅建议从标准存储库安装软件包,而且在提供建议时还从 snapcraft.io 目录安装快照软件包。
此外,我们的研究表明,高达 26% 的与高级软件包工具 (APT) 软件包相关的命令容易受到恶意攻击者的欺骗。此问题可能为影响运行 WSL 的 Linux 和 Windows 用户的供应链攻击铺平道路。该博客深入探讨了 command-not-found 的操作细节、与安装受损的 snap 包相关的风险以及可能被利用的各种攻击媒介。
当提出建议时 根据snapcraft.io目录的内容,驱动程序 因此,它不会评估包状态,仅涵盖添加到目录中的包 由未经验证的用户。因此,攻击者可以在 snapcraft.io 上放置一个隐藏恶意内容的包,其名称与现有 DEB 包、最初不在存储库中的程序或名称反映拼写错误和典型错误的虚构应用程序重叠。流行实用程序的名称。
例如: 攻击者可以丢弃诸如“Firefox-123”之类的数据包 预计用户在输入实用程序名称时会犯错误,在这种情况下,“command-not-found”将建议安装攻击者从 snapcraft.io 放置的恶意软件包。
用户可能没有意识到这个问题 并认为系统只推荐经过测试的包。除了, 攻击者可以在 snapcraft.io 上放置一个名称与现有 DEB 包重叠的包 或者名字中带有一些吸引力。在这种情况下,“command-not-found”会给出安装DEB和snap的两个建议,用户可以选择snap,考虑到它更安全或者受到新版本的诱惑。
snapcraft.io 允许自动审核的 Snap 应用程序只能在隔离环境中运行。但是,攻击者可以利用此沙箱来挖掘加密货币、进行 DDoS 攻击或发送垃圾邮件。
另外, 攻击者可以对恶意数据包使用隔离旁路技术。 这包括利用内核和隔离机制中未修补的漏洞,使用 snap 接口访问外部资源(例如隐藏的音频和视频记录),或者在使用 X11 协议时捕获键盘输入(以创建在沙箱环境中工作的键盘记录器)。
Aqua Security 研究人员建议,为了防范此类威胁,请采取多种预防措施:
- 用户应在安装前验证软件包的来源,检查维护者的可信度和推荐的平台(snap 或 APT)。
- 拥有别名的 Snap 开发人员应立即注册相应的名称(如果该名称与其应用程序一致),以防止滥用。
- 我们鼓励 APT 包开发人员注册与其命令关联的 snap 名称,以预防攻击者可能进行的欺骗。
最后,如果您有兴趣能够了解更多,可以在 以下链接。