当Dropbox雇佣了一家安全公司模拟成红方对他们的服务进行网络攻击时,他们完全不知道他们会发现苹果产品中的0day漏洞,这些漏洞可能比他们的公司影响更大。
在Dropbox的博客文章中,他们解释了如何例行地模拟攻击,以测试他们的安全系统和策略的有效性。在最近的测试中,Dropbox的目标是检测他们的系统是否能够探测到违规行为的。
“我们在Dropbox的强化、检测、警报和响应能力上投入了大量资金,”Dropbox的安全主管Chris Evans在博客中表示。即使攻击者在不触发警报的情况下入侵我们产品环境中的各种系统,我们也有很多手段来跟踪后渗透阶段的各种活动。那我们怎么知道我们做的好不好呢?这就是我们最近进行的攻击模拟测试的目的。我们的测试目标包括测量检测报警程序的稳定性,以及测量我们的团队在发现违规行为时响应。捕捉到入侵Dropbox的新手段是这项工作的任务之一,但是即使没有发现这方面的任何漏洞,我们也要通过自己植入恶意软件来模拟漏洞的影响(当然,要谨慎,以免检测和响应团队警觉)。
然而,他们没有想到的是,他们的外部安全伙伴Syndis会发现苹果软件中的多个0day漏洞。当这些漏洞联合在一起时,就可以通过受害者访问恶意网站在存在漏洞的MacOS计算机上远程执行命令。
Syndis和Dropbox在2月19日向苹果公司披露了这些漏洞,并在2018年3月29日发布安全更新中修复了这些漏洞。
3个苹果0day漏洞导致的远程代码执行
远程代码执行漏洞被分类为“致命”,因为它们可以允许攻击者从远程在有漏洞的计算机上运行他们想运行的的任何命令。
当Syndis执行测试时,他们发现三个以前未知的漏洞可以联合到一起,形成一个两阶段漏洞,在有漏洞的MacOS计算机上执行远程代码。
第一个漏洞是在记录了在Safari可以安全打开的项目的macOS CoreTypes.bundle。在错误的情况下,.smi文件被错误地分配给CoreTypes,因此允许Safari打开它。同时这也代表通过访问恶意网页,可在访问者的macOS计算机上安装磁盘镜像。
第二个漏洞是有关磁盘镜像是如何安装在macOS中的。当创建自挂载镜像时,攻击者可以利用名为bless的引导卷特性,使用--openfolder指定某个文件夹,以便在安装卷时打开特定文件夹。这时如果指定.bundle文件(被打包成目录的应用),那它将运行那个应用程序。
当这两个漏洞联合在一起,攻击者现在可以自动挂载镜像并自启动应用程序,但是Gatekeeper仍然会阻止它执行。
最后一个漏洞也是最后一个难题是关于LaunchServices中的Gatekeeper的绕过。使用一个合法签名的app去修改其Info.plist,以注册新的相关文件扩展名,而当脚本使用这个新扩展名时,应用程序的运行能够绕过Gatekeeper。
在下面显示的演示中,您可以看到Syndis创建的两阶段攻击,该攻击最终导致计算器应用程序仅仅在访问恶意网站后就打开。
“Syndis成功将这些漏洞放一起制造出可利用脚本,从而对访问使用Safari了访问特殊网页的用户实现任意代码执行,”博客文章继续说道。“第一阶段包括一个被修改了版本的临时app,它注册了一个新的文件扩展名(.workingpoc)。另外还包含一个名为“Test.Band”的空白文件夹,该文件夹通过参数“openfolder”指定,它将自动运行/Applications/Terminal.App而无任何提示。第二阶段则包括一个带有扩展名“.workingpoc”的未签名的脚本,并最终它将被运行而无任何提示。”
由于这些漏洞的安全更新是在2018年3月发布的,所以大多数用户都应该已经安装安全补丁,得到了保护。如果没有,您应该确保安装所有每个月的安全更新,以便防止出现此类漏洞。
原文链接:https://www.bleepingcomputer.com/news/security/how-a-security-test-for-dropbox-revealed-3-apple-zero-day-vulnerabilities/