Ubuntu 中已卸载应用程序处理程序的攻击场景

Aqua Security 的研究人员提请注意使用“未找到命令”处理程序的实现功能对 Ubuntu 发行套件的用户进行攻击的可能性,该处理程序会在尝试启动某个程序时提供提示不在系统中。问题是,当评估系统中不存在的要运行的命令时,“command-not-found”不仅使用标准存储库中的包,而且在选择建议时还使用 snapcraft.io 目录中的 snap 包。

当根据 snapcraft.io 目录的内容生成推荐时,“command-not-found”处理程序不会考虑包状态,并且仅涵盖由不受信任的用户添加到该目录的包。因此,攻击者可以在 snapcraft.io 中放置一个包含隐藏恶意内容的包,并且其名称与现有 DEB 包、最初不在存储库中的程序或名称反映典型打字错误和用户输入名称时错误的虚构应用程序重叠。流行的实用程序。

例如,您可以放置​​“tracert”和“tcpdamp”包,期望用户在键入“traceroute”和“tcpdump”实用程序的名称时会犯错误,并且“command-not-found”将推荐安装攻击者从 snapcraft.io 放置的恶意软件包。用户可能没有注意到这个问题,并认为系统只推荐经过验证的软件包。攻击者还可以在snapcraft.io中放置一个与现有deb包名称重叠的包,这种情况下“command-not-found”会给出安装deb和snap的两个建议,用户可以选择snap,认为它更安全或受到新版本的诱惑。

Ubuntu 中已卸载应用程序处理程序的攻击场景

snapcraft.io 允许自动审核的 Snap 应用程序只能在隔离环境中运行(非隔离的 Snap 仅在手动审核后才会发布)。攻击者在可以访问网络的隔离环境中执行操作可能就足够了,例如挖掘加密货币、执行 DDoS 攻击或发送垃圾邮件。

攻击者还可以在恶意包中使用隔离绕过技术,例如利用内核和隔离机制中未修补的漏洞,使用snap接口访问外部资源(用于隐藏音频和视频录制),或者在使用X11协议时捕获键盘输入(用于创建在沙箱环境中工作的键盘记录器)。

来源: opennet.ru

添加评论