普通 OS X 桌面是否面临 bash“shellshock”错误 (CVE-2014-6271) 的风险?

信息安全 苹果系统 脆弱性 重击 炮击
2021-08-26 18:15:41

我最近通过 Twitter 听说了 CVE-2014-6271。

不充当 Web 服务器的普通 OS X 桌面是否存在接收可利用此漏洞的攻击的风险?

3个回答

定义“风险”。

这种攻击的核心是创建一个看起来像 Bash 脚本函数但以程序调用结束的环境变量,然后导致 Bash 运行。Bash 会看到环境变量,解析它,然后继续解析到函数的末尾并运行程序。

使用至少一个攻击者控制的环境变量触发 Bash 执行的任何方法都可以使用。Web 服务器 CGI 攻击现在引起了人们的注意,但是通过 SSH 登录的用户可以做到这一点(但是,登录失败则不能)。某些 FTP 服务器可能会触发它(例如,通过运行上传后脚本)。基于 PackageMaker 的安装程序可能会触发它,但如果您正在运行恶意安装程序,您将遇到比这更大的问题。可能还有很多其他的方法。

进行普通桌面用户活动的普通桌面用户不太可能拥有可用于触发此错误的开放攻击向量,但 Bash 出现在很多意想不到的地方,无法确定。

您需要做的是确定哪些进程正在运行 bash。在 Linux 系统上,一个漏洞似乎可能在于 DHCP 请求的处理方式。

您可以查看使用 execsnoop 来发现运行 bash 的内容,然后尝试做一些正常的事情 - 例如连接到 wifi 网络或浏览需要外部帮助程序的网页(比如 iTunes)。查看是否运行了 bash,然后使用其他一些 dtrace 工具查看是否可以检查环境。

但是,老实说,只要有可用的修复程序就更新您的机器会更有意义。我还没有看到 OS X 的版本(但已经找了几个小时了),但我会留意并在发生这种情况时更新。

不,据我所知,普通的 OS X 桌面不是。

OS X DHCP 不易受到攻击。现在它甚至根本不调用 shell,而且在使用 bootpd 调用 shell 的版本中那个 shell 不是 Bash。一些网站建议执行 tcsh ,但我认为实际上应该是/bin/sh,在旧版本的 OS X 上(从内存中)是 BSD 对 Bourne shell 的实现,而不是Bash。

如果您正在运行 Apache 并且您正在使用带有 Bash 的 vanilla CGI(这对于 OS X 桌面来说是不正常的),那么您很容易受到攻击。

同样,如果您使用 OS X 机器使用 ForceCommand 运行受限制的 SSH 服务器,您也很容易受到攻击。同样,这对于 OS X 桌面来说是不正常的。

至于 Apple 的各种服务器进程,虽然我没有检查所有这些进程,但从记忆中他们倾向于使用 Twisted,然后使用 Apache 反向代理它们。这不涉及 CGI,也不容易受到攻击。