蘋果macOS Mail零點擊漏洞分析
零點擊Zip
日前安全人員Mikko Kenttälä發(fā)現(xiàn)了Apple Mail中的一個零點擊漏洞,利用該漏洞可以在Mail的沙箱環(huán)境中添加或修改任何文件。 這樣可以導致用戶劫持可以未經(jīng)授權(quán)就將敏感信息泄露給第三方。攻擊者可以修改受害者的郵件配置實現(xiàn)郵件重定向,然后從通過重置密碼來獲取受害者賬戶。還可以用來更改受害者的配置,以其名義用蠕蟲方式將攻擊其他用戶。蘋果修補了此漏洞。
技術(shù)細節(jié)
Mac Mail具備自動解壓縮由另一個用戶自動壓縮的附件的功能。在有效的用例:用戶創(chuàng)建電子郵件并將文件夾添加為附件,它將使用zip和x-mac-auto-archive = yes自動壓縮;并被添加到MIME標頭中。當另一個用戶收到此電子郵件時,壓縮的附件數(shù)據(jù)將自動解壓縮。
在過程中,發(fā)現(xiàn)蘋果Mail處理中未壓縮數(shù)據(jù)的一部分未從臨時目錄中清除,并且該目錄在Mail上下文中不是唯一的,可以利用壓縮文件中內(nèi)部符號鏈接$MPDIR到〜/Library/Mail進行未經(jīng)授權(quán)的寫訪問。
攻擊者發(fā)送電子郵件漏洞利用程序,其中包括兩個zip附件。當用戶收到電子郵件后,Mail會對其進行解析,以找出所有帶有x-mac-auto-archive = yes標頭的附件。 Mail將自動解壓縮這些文件。
第一階段
第一個zip包含一個名為Mail的符號鏈接,指向受害者“$HOME/Library/Mail”和文件1.txt。壓縮文件將解壓縮為“$TMPDIR/com.apple.mail/bom/”。根據(jù)“filename = 1.txt.zip”標頭,將1.txt復制到郵件目錄,一切正常。但是,清理未正確完成,并且符號鏈接保留在原處。
第二階段
第二個附加的zip包含要對“$HOME/Library/Mail”進行的更改,提供Library/Mail的任意文件寫入權(quán)限。
示例案例中為Mail應用程序編寫了一個新的Mail規(guī)則。這樣,就可以向受害者的郵件應用程序添加自動轉(zhuǎn)發(fā)規(guī)則。
- Mail/ZCZPoC
- Mail/V7/MailData/RulesActiveState.plist
- Mail/V7/MailData/SyncedRules.plist
Mail/ZCZPoC僅包含一個純文本文件,該文件將被寫入〜/Library/Mail。
覆蓋郵件規(guī)則列表
然后該目錄下的文件可以被覆蓋,比如RulesActiveState.plist和SyncedRules.plist文件。
RulesActiveState.plist中的主要內(nèi)容是激活SyncedRules.plist中的規(guī)則。
- …
- <dict>
- <key> 0C8B9B35–2F89–418F-913F-A6F5E0C8F445 </key>
- <true/>
- </dict>
- …
SyncedRules.plist包含一個匹配“AnyMessage”的規(guī)則,并且此PoC中的規(guī)則將Mail應用程序設置為在收到任何消息時播放莫爾斯聲音。
- …
- <key>Criteria</key>
- <array>
- <dict>
- <key>CriterionUniqueId</key>
- <string>0C8B9B35–2F89–418F-913F-A6F5E0C8F445</string>
- <key>Header</key>
- <string>AnyMessage</string>
- </dict>
- </array>
- …
- <key>SoundName</key>
- <string>Morse</string>
莫爾斯碼發(fā)聲的代碼也可以修改為其他可以執(zhí)行的操作,比如轉(zhuǎn)發(fā)規(guī)則用來上傳敏感的電子郵件信息。
影響
這種任意的寫訪問權(quán)限使攻擊者可以操縱$HOME/Library/Mail中的所有文件。 如部分圖示,可以用來操縱Mail應用程序的配置將敏感數(shù)據(jù)暴露給第三方。可用的配置選項之一是用戶的簽名,該簽名可用于擴大漏洞的擴散和影響。也有可能導致遠程代碼執(zhí)行(RCE)漏洞。




































