自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2014SyScan360--盤古如何實(shí)現(xiàn)完美越獄

原創(chuàng)
安全
導(dǎo)語(yǔ):2014年7月16日,由SyScan主辦,360公司承辦的SyScan360國(guó)際前瞻信息安全會(huì)議隆重召開(kāi)。本次會(huì)議上匯集了來(lái)自美、意、西、葡等9個(gè)地區(qū)的18名頂級(jí)安全專家,向與會(huì)者分享安全領(lǐng)域最新的科研成果,議題涵蓋Window、ios、Android系統(tǒng)安全,汽車攻擊、云服務(wù)攻擊等諸多領(lǐng)域。

作為中國(guó)本土技術(shù)團(tuán)隊(duì),時(shí)隔半年后,6月24日,盤古團(tuán)隊(duì)發(fā)布了iOS7.1.1完美越獄工具,這款工具在一片質(zhì)疑聲中得到了國(guó)外知名的越獄大神iH8sn0w的中肯評(píng)價(jià):“除了帶有盜版商店的可選安裝之外以及企業(yè)認(rèn)證之外,Pangu并沒(méi)有附帶任何惡意軟件。也就是說(shuō),用戶在安裝之后不會(huì)有安全方面的問(wèn)題,盤古是一個(gè)非常成熟的越獄工具。”

而根據(jù)來(lái)自盤古數(shù)據(jù)的統(tǒng)計(jì),從完美越獄工具發(fā)布到上周六,這短短的18天,盤古網(wǎng)站瀏覽量達(dá)到500萬(wàn),后成功越獄的設(shè)備數(shù)量達(dá)到300萬(wàn),來(lái)自中國(guó)與美國(guó)的iPhone是真正的主力。

盤古數(shù)據(jù)

來(lái)自盤古團(tuán)隊(duì)的獨(dú)立安全研究員Windknown與我們分享盤古團(tuán)隊(duì)如何發(fā)現(xiàn)并用來(lái)實(shí)現(xiàn)完美越獄的漏洞。Windknown介紹了代碼簽名繞過(guò)、內(nèi)核信息泄漏、內(nèi)核內(nèi)存覆蓋三個(gè)漏洞的細(xì)節(jié),并且演示如何針對(duì)這些漏洞編寫溢出,從而使得盤古越獄能在iOS設(shè)備上存活。

代碼簽名繞過(guò)

繞過(guò)代碼簽名的思路很簡(jiǎn)單,這是蘋果的特性,可以利用其重新導(dǎo)出而迫使它加載。完美越獄,希望能夠在手機(jī)重啟過(guò)程當(dāng)中,找到機(jī)會(huì)執(zhí)行盤古的代碼,然后去溢出內(nèi)核,把內(nèi)核當(dāng)中的簽名、檢查、沙盒等保護(hù)去掉。這當(dāng)中我們要做到兩點(diǎn),一個(gè)要有內(nèi)核的漏洞,并且在比較早的時(shí)候觸發(fā)這個(gè)漏洞。第二是找到未簽名的代碼,我們要繞過(guò)未簽名的漏洞。

盤古通過(guò)Launchd的代碼加載所有的Plist配置服務(wù)的。它通過(guò)這個(gè)文件定位文件當(dāng)中的XPCD文件,這里面需要注意XPCD是需要認(rèn)證的。蘋果把所有的DYLIB放在緩存文件中,這可以通過(guò)這個(gè)標(biāo)志位,構(gòu)造的一個(gè)加載但仍然需要有簽名檢查的,還是需要繞過(guò)它簽名檢查的機(jī)制。

內(nèi)核信息泄漏

Early_random對(duì)于64位的,它通過(guò)簡(jiǎn)單的暴力猜解就可以獲取所有的值。對(duì)于32位,需要知道一個(gè)輸入值才可以恢復(fù)剩余的值。32位的Output中返回32個(gè)指針,62位的Output中返回16個(gè)指針,這是非常簡(jiǎn)單的代碼。

這里面關(guān)鍵的一個(gè)東西就是這個(gè)參數(shù),叫OutputCount。真正功能的處理調(diào)用,是在對(duì)應(yīng)的ExternalMethod時(shí),你會(huì)重寫ExternalMethod。在調(diào)用ExternalMethod的時(shí)候,它首先在站中準(zhǔn)備了一個(gè)OutputCount,準(zhǔn)備了16個(gè)數(shù)據(jù)的長(zhǎng)度,然后它把這個(gè)參數(shù)再傳遞給,反映給上層,這就是一個(gè)正常的行為。

可以看到如果大家通過(guò)ID一分析的話,可以看到ID驅(qū)動(dòng)在重載externalMethod的話有兩種方式。一種方式是它在自己類的成員中有一個(gè)對(duì)象,有一個(gè)成員是method的數(shù)組。如果不這樣調(diào)用的情況下,在代碼實(shí)現(xiàn)的過(guò)程中,他可能根本沒(méi)有關(guān)心需要設(shè)置初參,就像Outputcount,Outputcount里面,給了16個(gè)數(shù)據(jù)的長(zhǎng)度,并告知16個(gè)數(shù)據(jù)長(zhǎng)度,如果沒(méi)有做,那就是零,它在調(diào)用數(shù)據(jù)過(guò)程當(dāng)中會(huì)把這16個(gè)數(shù)據(jù)調(diào)用給用戶。到目前為止,盤古在使用的數(shù)據(jù),可以把那些所有的隨機(jī)值全部的恢復(fù)。

內(nèi)核內(nèi)存覆蓋

最后的漏洞,可以利用它來(lái)達(dá)到寫任何內(nèi)核內(nèi)存的目的。首先要觸發(fā)漏洞,打開(kāi)一個(gè)IOHIDEventService服務(wù),設(shè)置一個(gè)通知端口,映射隊(duì)列內(nèi)存,在映射隊(duì)列內(nèi)存的結(jié)尾可以找到mach-msg-header-t結(jié)構(gòu),修改mach-msg-header-t指向我們的虛假port,等待隊(duì)列有數(shù)據(jù)后向虛假port發(fā)送消息。

代碼執(zhí)行其實(shí)有很多種不同的思路,一個(gè)最簡(jiǎn)單的思路就是覆蓋一個(gè)內(nèi)核對(duì)象的指針,這個(gè)很簡(jiǎn)單,首先你有任意讀,我可以就把整個(gè)內(nèi)核對(duì)象的內(nèi)容讀出來(lái),然后僅僅修改vtable指針,再覆蓋整個(gè)內(nèi)核對(duì)象,將對(duì)象放在連續(xù)的代碼之間。

最后,Windknown表示“三個(gè)漏洞都是目前都沒(méi)有被修補(bǔ)的,完美越獄至少4-5個(gè)漏洞,exploit對(duì)兼容性要求比較高,任何正常軟件都很難做到一夜之間下載到百萬(wàn),而越獄就可以,這也就是它的魅力所在。”我們也希望作為中國(guó)最頂尖的技術(shù)團(tuán)隊(duì)之一,盤古能繼續(xù)保持佳績(jī),并在國(guó)際上打開(kāi)影響力!

責(zé)任編輯:林琳 來(lái)源: 51CTO.com
相關(guān)推薦

2014-07-16 18:22:43

2014-07-16 10:42:35

2014-06-25 09:47:59

2014-07-17 10:11:40

反匯編引擎CapstoneSyScan360

2014-07-17 11:33:47

2014-07-16 14:24:07

2014-07-16 17:01:16

2014-07-17 15:16:18

2014-07-17 11:54:37

2014-07-17 21:22:39

2014-07-07 10:12:59

SyScan360

2014-07-16 12:03:34

2014-07-18 09:18:58

2014-07-16 18:47:05

2014-07-16 12:06:26

SyScan360

2014-07-17 15:43:35

2014-07-16 16:14:13

2014-06-20 15:02:46

2014-07-16 09:45:58

2014-07-17 08:52:15

手機(jī)越獄
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)