5
本文作者: 史中 | 2016-11-11 15:28 |
開(kāi)始了嗎?
已經(jīng)結(jié)束了。
全場(chǎng)掌聲如潮水一般奔涌不息。盤(pán)古團(tuán)隊(duì)成員徐昊站在臺(tái)上,把手中的 MacBook 屏幕緩緩轉(zhuǎn)向人潮。
就在剛才,僅僅用了秒針跳動(dòng)五次的時(shí)間,他就完成了從遠(yuǎn)程服務(wù)器突破,攻擊 Safari,越過(guò)沙箱直擊 MacOS 內(nèi)核的全過(guò)程。
這樣的進(jìn)攻,只能用震撼來(lái)形容。
【徐昊 盤(pán)古團(tuán)隊(duì)核心成員】
這就是在 PwnFest 黑客大賽上剛剛發(fā)生的一幕。在這五秒之內(nèi),究竟發(fā)生了什么?盤(pán)古團(tuán)隊(duì)究竟使用了什么漏洞,瞬間遠(yuǎn)程黑掉一臺(tái) Macbook?
雷鋒網(wǎng)宅科頻道(微信 ID:letshome)在第一時(shí)間采訪到了盤(pán)古團(tuán)隊(duì)核心成員徐昊,他為我們揭秘了這五秒之內(nèi)賽博世界發(fā)生的洪荒巨變。
整個(gè)攻擊過(guò)程中,黑客不用,也不允許接觸目標(biāo)電腦。當(dāng)裁判用一臺(tái) MacBook 連接黑客的特定網(wǎng)址時(shí),攻擊就已經(jīng)被觸發(fā)。
徐昊為雷鋒網(wǎng)詳解了攻擊的全過(guò)程。
這次攻擊,我們用到了四個(gè)漏洞。其中兩個(gè) Safari 漏洞,兩個(gè)內(nèi)核漏洞。
利用 Safari 的一個(gè)漏洞,我們迫使它泄露了核心模塊的地址;而根據(jù)暴露的核心模塊,我們可以構(gòu)建 ROP 代碼,再通過(guò)另一個(gè) UAF 漏洞,可以獲得代碼執(zhí)行。
而以上所有的操作,僅僅是取得遠(yuǎn)程訪問(wèn)的權(quán)限,我們還需要突破沙盒和取得系統(tǒng)權(quán)限。我們掌握的漏洞,可以在 Safari 里面直接觸發(fā),因?yàn)樗幵谏澈械墓裘嬉詢?nèi)。這樣的漏洞比較稀少。
原理方面,我們同樣先是利用一個(gè)漏洞計(jì)算出內(nèi)核的加載地址,進(jìn)而構(gòu)建了內(nèi)核的 ROP 代碼。通過(guò)另一個(gè)未初始化變量的漏洞獲得了內(nèi)核的執(zhí)行權(quán)限。
以上復(fù)雜的攻擊過(guò)程,需要進(jìn)行一下簡(jiǎn)單的解釋。徐昊在進(jìn)攻內(nèi)核的路上,要翻過(guò)如下幾座大山:
1、由于 Safari 的安全機(jī)制限制,并不能隨意執(zhí)行遠(yuǎn)程的代碼,要想破壞這個(gè)機(jī)制,必須要找到構(gòu)建這個(gè)機(jī)制的引擎——Safari 核心模塊。而蘋(píng)果經(jīng)過(guò)長(zhǎng)期進(jìn)化的安全機(jī)制,會(huì)把關(guān)鍵模塊地址隨機(jī)隱藏。迫使模塊地址泄露,就是第一個(gè)漏洞的作用所在。
2、有了核心模塊地址,就可以構(gòu)建攻擊代碼了,但是此時(shí),攻擊代碼仍然需要一個(gè)漏洞才能進(jìn)入核心模塊,這就是徐昊說(shuō)的第二個(gè)漏洞作用所在。
3、經(jīng)過(guò)前兩個(gè)漏洞的攻擊,Safari 終于被“催眠”,可以執(zhí)行遠(yuǎn)方傳來(lái)的任意代碼。但是,此刻 MacOS 還有另一重機(jī)制來(lái)保障安全,那就是“沙盒”。簡(jiǎn)單來(lái)說(shuō),沙盒的作用就是通過(guò)隔離來(lái)限制各個(gè)應(yīng)用的權(quán)限。理論上來(lái)說(shuō),即使 Safari 被黑客“策反”,仍舊沒(méi)有能力接觸到內(nèi)核層面的代碼。此時(shí),一般攻擊者會(huì)開(kāi)始尋找繞過(guò)沙盒的漏洞。但根據(jù)盤(pán)古的研究,雖然身處沙盒,仍舊有一個(gè)非常小的攻擊面,可以直接攻擊內(nèi)核。但是,“狡猾”的蘋(píng)果,把內(nèi)核地址也做了隨機(jī)化處理。于是第三個(gè)漏洞此刻產(chǎn)生作用,迫使內(nèi)核加載地址泄露在了黑客面前。
4、最后一個(gè)漏洞,當(dāng)然是為了直擊內(nèi)核。此刻內(nèi)核已經(jīng)變得非常脆弱,只需要最后一擊就會(huì)投降。于是,我們看到了文章開(kāi)頭的那一幕,MacOS 根據(jù)遠(yuǎn)程黑客的指令,彈出了 Terminal 命令行程序。這意味著,系統(tǒng)已經(jīng)順從地臣服于新主人。
實(shí)際上,在這四個(gè)用到的漏洞中,前兩個(gè) Safari 遠(yuǎn)程代碼執(zhí)行漏洞并不來(lái)自盤(pán)古團(tuán)隊(duì)的研究,而是來(lái)自韓國(guó)黑客神童 Lokihardt。
提到 Loki,在韓國(guó)可謂無(wú)人不知無(wú)人不曉。他經(jīng)常單槍匹馬和全世界黑客捉對(duì)廝殺,憑借著極高的顏值和頂尖的技術(shù)成為很多人心中的戰(zhàn)神。在這次 PwnFest 上,他剛剛以一己之力攻破了 微軟的 Edge 瀏覽器拿下 Windows 最高權(quán)限,攻破了 VMware 的虛擬機(jī)程序 Workstation。
他最擅長(zhǎng)的部分,恰恰是遠(yuǎn)程進(jìn)攻。
【韓國(guó)神童 Lokihardt】
徐昊告訴雷鋒網(wǎng):
實(shí)際上我們?cè)诒荣惽耙恢懿排R時(shí)決定嘗試攻擊 Safari+MacOS 的,因?yàn)槲覀兒?Loki 有一些交流,他告訴我們他手上有一套 Safari 遠(yuǎn)程代碼執(zhí)行的漏洞,而我們的強(qiáng)項(xiàng)恰恰在內(nèi)核漏洞方面。我們決定合作,各自編寫(xiě)攻擊代碼,然后由我們整合攻擊,于是我們?cè)趫?bào)名截止前最后一天報(bào)了名。
就這樣,全世界兩組最強(qiáng)大的 MacOS 黑客,組合成了無(wú)敵戰(zhàn)隊(duì)。這次攻擊,也是一次完美的“中韓合作”。
說(shuō)到這里,你也許還有一個(gè)疑問(wèn)。盤(pán)古團(tuán)隊(duì)是著名的 iOS 越獄大神,為什么會(huì)去破解 MacOS呢?
MacOS 的安全性一直為人稱道。但是,一個(gè)系統(tǒng)是否無(wú)懈可擊,要看從誰(shuí)的角度來(lái)觀察。對(duì)于 iOS 越獄大神盤(pán)古來(lái)說(shuō)。尋找 MacOS 漏洞,是進(jìn)階 iOS 研究的途徑之一。實(shí)際上,這個(gè)可以越獄目前世界上最新的 iOS 10.1.1 的大神團(tuán)隊(duì),正在用尋找 MacOS 漏洞的方法來(lái)培養(yǎng)后備力量。
iOS 和 MacOS 有很多相通的代碼,所以相互切換研究很容易上手。相比 iOS,MacOS 的符號(hào)多一些,也可以進(jìn)行內(nèi)核調(diào)制,尋找 MacOS 漏洞,是很好的鍛煉新人的方法。在這個(gè)過(guò)程中,有一些成果,我們就來(lái)參加比賽了。
徐昊對(duì)雷鋒網(wǎng)宅客頻道(微信ID:letshome)說(shuō)。
實(shí)際上,這次攻擊用到的內(nèi)核漏洞,正是盤(pán)古團(tuán)隊(duì)核心成員帶領(lǐng)盤(pán)古新人搞出來(lái)的。
盤(pán)古團(tuán)隊(duì)從來(lái)以“碾壓”的方式出現(xiàn)在世人面前,從歷次發(fā)布的越獄產(chǎn)品可以看出,他們想做的事情,無(wú)一失敗。實(shí)際上,在盤(pán)古團(tuán)隊(duì)手里,仍然保有著超過(guò)兩套越獄最新 iOS 的方法。而對(duì)于 MacOS,他們?nèi)匀弧鞍詺鈧?cè)漏”。
徐昊低調(diào)地告訴雷鋒網(wǎng),
這樣級(jí)別的 MacOS 漏洞,團(tuán)隊(duì)手里還有一些。
文/史中(微信:Fungungun 歡迎講述你的黑客故事)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。