黑雲壓城城欲摧,黑雲壓城

來源:互聯網
上載者:User

黑雲壓城城欲摧,黑雲壓城

黑雲壓城城欲摧 - 2016年iOS公開可利用漏洞總結

作者:蒸米,耀刺,黑雪 @ Team OverSky

 

 

0x00 序

iOS的安全性遠比大家的想象中脆弱,除了沒有公開的漏洞以外,還有很多已經公開並且可被利用的漏洞,本報告總結了2016年比較嚴重的iOS漏洞(可用於遠程代碼執行或越獄),希望能夠對大家Mobile Security方面的工作和研究帶來一些協助。

 

0x01 iOS 10.1.1 公開的可利用漏洞

1. mach_portal攻擊鏈:該攻擊鏈是由Google Project Zero的Ian Beer公布的。整個攻擊鏈由三個漏洞組成:損壞的核心port的uref可導致任意進程的port被越權替換(CVE-2016-7637),powerd任意port替換可導致DoS(CVE-2016-7661),因為set_dp_control_port沒有上鎖導致的XNU核心UaF(CVE-2016-7644)。

攻擊者先使用CVE-2016-7637將launchd與”com.apple.iohideventsystem”系統服務具有發送許可權的port替換成自己控制的進程的port,並攻擊者還具有該port的接收許可權。然後,攻擊者利用CVE-2016-7661對powerd這個進程進行DoS,使其重啟。在啟動過程中,因為powerd的啟動需要用到”com.apple.iohideventsystem”系統服務,於是將task port發送給了這個系統服務。但因為攻擊者利用之前的CVE-2016-7637漏洞擷取了”com.apple.iohideventsystem”系統服務port的接收許可權,因此攻擊者獲得了powerd的task port,從而控制了具有root許可權並且在沙箱外的powerd進程。攻擊者隨後利用powerd進程的task port擷取到了host_priv port,然後利用host_priv port觸發因set_dp_control_port沒有上鎖而導致的XNU核心UaF(CVE-2016-7644)漏洞,從而控制了kernel task port。攻擊者在擷取了kernel task以後,就可以利用系統提供的mach_vm_read()和mach_vm_write()去進行任意核心讀寫了。

2016年12月22日,qwertyoruiop在Ian Beer公布的mach_portal攻擊鏈的基礎上,加入了KPP的繞過、核心patch和cydia的安裝,並在自己的twitter上發布了iOS 10.1.*的越獄。

 

0x02 iOS 9.3.4 公開的可利用漏洞

1. PEGASUS 三叉戟攻擊鏈:該攻擊鏈是在對阿聯酋的一位人權活動家進行apt攻擊的時候被發現。整個攻擊鏈由三個漏洞組成:JSC遠程代碼執行(CVE-2016-4657),核心資訊泄露(CVE-2016-4655),核心UAF代碼執行(CVE-2016-4656)。

在瀏覽器漏洞方面,由於iOS系統的JavaScriptCore庫的MarkedArgumentBuffer類在記憶體回收的時候可能會造成記憶體堆破壞,導致駭客可以使用該漏洞泄露對象地址以及執行任意指令。在核心漏洞方面,由於XNU核心的OSUnserializeBinary()函數在還原序列化使用者態傳入的資料時沒有對OSNumber的長度進行校正,導致可以泄露核心的棧資訊。利用精心構造的OSString對象,還可以觸發UAF漏洞並導致核心代碼執行(具體的分析可以參考我們之前的文章:基於PEGASUS的OS X 10.11.6本地提權:https://jaq.alibaba.com/community/art/show?articleid=531)。利用該攻擊鏈可以做到iOS上的遠程完美越獄,可以說是近幾年來影響最大的iOS漏洞之一了。並且在未來,極有可能出現利用該漏洞的iOS大面積掛馬事件。

 

0x03 iOS 9.3.3 公開的可利用漏洞

1. IOMobileFramebuffer Heapoverflow 核心漏洞: 該漏洞存在於IOMobileFramebuffer這個核心服務中。在IOMobileFramebuffer::swap_submit(IOMFBSwap *)這個函數中,因為沒有對使用者態傳入的IOMFBSwap資料進行校正,從而導致核心堆溢出。利用該漏洞可以在沙箱內(不需要沙箱逃逸)直接對核心進行攻擊,並完成非完美越獄。該漏洞在iOS 9.3.3Apsara Distributed File System越獄(女媧石)中被使用。

 

0x04 iOS 9.3.2 公開的可利用漏洞

1. WebKit RCE heapPopMin 遠程代碼執行漏洞: 因為Webkit模組中的WebCore ::TimerBase::heapPopMin()存在記憶體破壞漏洞,利用該漏洞可以對iOS裝置進行遠程攻擊。當用mobile safari瀏覽有惡意攻擊代碼的網頁的時候,safari將會被駭客控制。但要注意的事,被控制的僅僅是safari,想要擷取使用者資料還需要進行沙箱逃逸,想要控制手機還需要對核心進行攻擊。另外,因為webkit不光存在於iOS中,因此該漏洞還被用於PS4,Kindle等裝置的越獄。

2. GasGauge 條件競爭核心漏洞: 該漏洞存在於GasGauge這個核心服務中,因為在free記憶體的時候沒有進行加鎖操作,駭客可以開多個線程進行free操作,當競爭成功的時候可以造成double free的漏洞,隨後可以轉化為任意zone的UAF並控制核心,並完成非完美越獄。需要注意的是,該核心服務並不能在沙箱內直接存取,所以想要利用該漏洞,需要先做到沙箱逃逸。

 

0x05 iOS 9.3.1 公開的可利用漏洞

 

1. inpuTbag Heapoverflow 核心漏洞: 該漏洞是阿里Mobile Security的OverSky團隊發現並公布的,該漏洞存在於IOHIDDevice這個核心服務中,因為沒有對Input report的szie做檢測從而造成核心堆溢出。利用該漏洞可以對核心進行攻擊,並完成非完美越獄。需要注意的是,該核心服務需要在沙箱外並擁有"com.apple.hid.manager.user-access-device"這個entilement才能訪問,所以想要利用該漏洞,需要先做到沙箱逃逸,然後繞過entilement的檢測才能利用。

 

0x06 iOS 9.1 公開的可利用漏洞

1. CVE-2015-7037 Photos 沙箱逃逸漏洞: 該漏洞存在於com.apple.PersistentURLTranslator.Gatekeeper這個系統服務中,在Apsara Distributed File System越獄中被使用,通過利用改漏洞,一個在沙箱內的app可以做到mobile許可權的沙箱外任意檔案讀寫,配合dyld的漏洞可以做到沙箱外的任意代碼執行。

2. CVE-2015-7084 IORegistryIterator 核心漏洞: 該核心漏洞存在於IOKit中,因為IORegistryIterator對象沒有線程互斥的保護,導致對成員進行操作的時候可能出現錯誤。該漏洞可以在沙箱內直接通過race condition觸發, 隨後轉化為核心資訊泄露以及核心的代碼執行,並做到非完美越獄。

 

0x07 iOS 9.0 公開的可利用漏洞

1. CVE-2015-6974 IOHIDFamily 核心漏洞:該漏洞存在於IOHIDResource這個核心服務中,在terminateDevice後,系統沒有將device設定為NULL, 從而造成UAF漏洞。該漏洞在Apsara Distributed File SystemiOS 9.0越獄中被使用,利用該漏洞可以做到核心的任意讀寫,並完成非完美越獄。需要注意的是,該核心服務並不能在沙箱內直接存取,所以想要利用該漏洞,需要先做到沙箱逃逸。

 

0x08 總結

可以看到2016年的公開可利用的漏洞數量是非常巨大的,相對2015年可以說是有了一個指數級的增長。雖然蘋果更新系統的速度非常快並且無法降級,但隨著老裝置(iPhone 4s及以下已無法升級iOS 10)越來越多,並且使用者對新系統期望越來越低,iOS裝置的更新率已經變得非常緩慢。

 

根據某專業移動分析平台2016年12月的資料可以看到,僅有3.28%的裝置更新了最新版的iOS 10.2。這意味著96.72%的裝置都有被最近剛發布的mach_portal漏洞攻擊的風險。我們相信,在新的一年,iOS的漏洞數量還會持續增加,並且隨著漏洞利用技術的公開,黑灰產也極有可能利用漏洞對使用者進行攻擊,希望廣大使用者一定要注意自己iOS裝置的安全。

最後,對本文提到的漏洞感興趣的同學可以在我們的github上學習相關的資料:https://github.com/zhengmin1989/GreatiOSJailbreakMaterial

 

更多阿里安全類技術文章及報告,請訪問阿里聚安全部落格

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.