零单击Apple麦克斯邮件中的漏洞

2021-04-02 04:40:36

我发现Apple Mail中的零单击漏洞,允许我在邮件的沙箱环境中添加或修改任意文件。这可能导致许多坏事,包括对第三方的敏感信息的未经授权披露。攻击者可以修改受害者的邮件配置,包括邮件重定向,可通过密码重置接管受害者的其他帐户。此漏洞可用于更改受害者的配置,使受害者将以蠕虫的方式将攻击传播到他们的信函。苹果在2020-07修补了这个漏洞。

我正在搜索另一个漏洞的情况(我发现这个问题时会稍后写一下)。我正在阅读Apple的Bug Bounty类别,并开始思考任何攻击向量可能会在没有用户动作的情况下触发什么。显然是野生动物园的第一个想法。我用safari玩了一点,但找不到有趣的领导。我心中的下一件事是邮件或局部。我专注于邮件是因为亨希关于悬浮在较旧的Codebase中的遗产功能。我开始用邮件播放,并在与正常电子邮件发送和接收中找到异常的想法,发送测试消息和附件。我发送了这些测试消息并遵循邮件过程Syscalls以了解在收到电子邮件时会在引擎盖下发生的情况,这是我找到的。

邮件有一个功能,使其能够自动解压缩另一个邮件用户自动压缩的附件。

在有效用例中,如果用户创建电子邮件并将文件夹添加为附件,则它将自动使用zip和x-mac-auto-archive自动压缩=是;添加到MIME标题中。当另一个邮件用户收到此电子邮件时,压缩附件数据会自动解压缩。

在我的研究期间,我发现没有从临时目录中清除未压缩数据的部分,并且该目录在邮件的上下文中不是唯一的,这可以利用来获取对〜/ library / mail的未经授权的写访问以及使用符号内部的$ tmpdir那些压缩文件。

攻击者发送电子邮件漏洞利用,其中包括两个zip文件作为对受害者的附件。当用户收到电子邮件时,请立即解析邮件以找出具有X-Mac-Auto-Archive = YES标题的任何附件。邮件将自动解压缩这些文件。

第一个zip包括一个名为mail的符号链接,它指向受害者“$ home / library / mail”和文件1.txt。 zip未压缩到“$ tmpdir / com.apple.mail / bom /”。基于“filename = 1.txt.zip”标题,1.txt被复制到邮件dir,一切都按预期工作。但是,清除不是正确的方式,符号链接留在适当位置。

第二个附加的zip包括您要对“$ HOME / LIBRARY / MAIL”执行的更改。这将为库/邮件提供任意文件写入权限。

在我的示例案例中,我为邮件应用程序写了新的邮件规则。有了它可以向受害者的邮件应用程序添加自动转发规则。

文件可以覆盖,这就是CirousActivestate.Plist和SyncedRules.plist文件会发生什么。

SyncedRules.Plist包含一个规则,以匹配“AnyMessage”,并在此PoC中设置邮件应用程序在收到任何消息时播放Morse声音。

这可能是泄漏敏感电子邮件数据的转发规则而不是播放Morse声音。

此任意写入访问允许攻击者操纵$ HOME / LIBRARY / MAIL中的所有文件。如图所示,通过操纵邮件应用程序的配置将曝光敏感数据曝光至第三方。其中一个可用的配置选项是用户的签名,可用于使此漏洞令人讨厌。

还有可能导致远程代码执行(RCE)漏洞,但我没有走得太远。

感谢同类研究人员,他们分享了他们的发现和知识,并感谢Apple的快速修复。 感谢我的同事们帮助了我这个写作! :)