儘管盤古團隊還沒釋出iOS10越獄工具,不過最近也並沒有閒下來,參與由韓國POC(Power of Community)主辦黑客破解大賽PwnFest榮獲佳績,短時間內就透過漏洞成功駭入macOS Sierra的Safari,並獲取Root權限,在這次競賽中也成功獲得10萬元獎金(基本獎金+額外獎金),又再次替蘋果找出了一個安全漏洞。
MacOS攻擊方式
在這次黑客破解大賽PwnFest中,並非單獨由盤古團隊所破解macOS Sierra的Safari漏洞,根據盤古核心成員徐昊替我們說明如下
他們是透過與韓國天才駭客Lokihardt聯合透過四個漏洞進行攻擊,其中兩個是來自於Lokihardt的Safari漏洞,利用Safari 的一個漏洞,我們迫使它洩露了核心模塊的地址,而根據暴露的核心模塊,我們可以構建ROP 代碼,再通過另一個UAF 漏洞,可以獲得代碼執行。
而以上所有的操作,僅僅是取得遠程訪問的權限,我們還需要突破沙盒和取得系統權限。我們掌握的漏洞,可以在Safari 裡面直接觸發,因為它處在沙盒的攻擊面以內。
這樣的漏洞比較稀少。 原理方面,我們同樣先是利用一個漏洞計算出內核的加載地址,進而構建了內核的ROP 代碼。通過另一個未初始化變量的漏洞獲得了內核的執行權限。
以上複雜的攻擊過程,需要進行一下簡單的解釋。徐昊在進攻內核的路上,要翻過如下幾座大山:
- 由於Safari的安全機制限制,並不能隨意執行遠程的代碼,要想破壞這個機制,必須要找到構建這個機制的引擎——Safari核心模塊。而蘋果經過長期進化的安全機制,會把關鍵模塊地址隨機隱藏。迫使模塊地址洩露,就是第一個漏洞的作用所在。
- 有了核心模塊地址,就可以構建攻擊代碼了,但是此時,攻擊代碼仍然需要一個漏洞才能進入核心模塊,這就是徐昊說的第二個漏洞作用所在。
- 經過前兩個漏洞的攻擊,Safari終於被“催眠”,可以執行遠方傳來的任意代碼。但是,此刻MacOS還有另一重機制來保障安全,那就是“沙盒”。簡單來說,沙盒的作用就是通過隔離來限制各個應用的權限。理論上來說,即使Safari被黑客“策反”,仍舊沒有能力接觸到內核層面的代碼。此時,一般攻擊者會開始尋找繞過沙盒的漏洞。但根據盤古的研究,雖然身處沙盒,仍舊有一個非常小的攻擊面,可以直接攻擊內核。但是,“狡猾”的蘋果,把內核地址也做了隨機化處理。於是第三個漏洞此刻產生作用,迫使內核加載地址洩露在了黑客面前。
- 最後一個漏洞,當然是為了直擊內核。此刻內核已經變得非常脆弱,只需要最後一擊就會投降。於是,我們看到了文章開頭的那一幕,MacOS根據遠程黑客的指令,彈出了Terminal命令行程序。這意味著,系統已經順從地臣服於新主人。
當初為何要選擇與Lokihardt合作?
徐昊在訪問中透露,實際上我們在比賽前一周才臨時決定嘗試攻擊Safari+MacOS 的,因為我們和Loki 有一些交流,他告訴我們他手上有一套Safari 遠程代碼執行的漏洞,而我們的強項恰恰在內核漏洞方面。我們決定合作,各自編寫攻擊代碼,然後由我們整合攻擊,於是我們在報名截止前最後一天報名。
就這樣,全世界兩組最強大的MacOS 黑客,組合成了無敵戰隊。這次攻擊,也是一次完美的“中韓合作”。
為什麼去破解MacOS?
iOS 和MacOS 有很多相通的代碼,所以相互切換研究很容易上手。相比iOS,MacOS 的符號多一些,也可以進行內核調製,尋找MacOS 漏洞,是很好的鍛煉新人的方法。在這個過程中,有一些成果,我們就來參加比賽了。
實際上,這次攻擊用到的內核漏洞,正是盤古團隊核心成員帶領盤古新人搞出來的。
盤古團隊從來以“碾壓”的方式出現在世人面前,從歷次發布的越獄產品可以看出,他們想做的事情,無一失敗。實際上,在盤古團隊手裡,仍然保有著超過兩套越獄最新iOS 的方法。徐昊另外還透露,在他們手中還握有其他的MacOS漏洞。
文章內容部分引言轉貼至雷鋒網
喜歡這篇文章教學,後續想了解更多Apple資訊、iPhone、Mac、3C隱藏技巧,歡迎追蹤 瘋先生FB粉絲團、瘋先生LINE@、訂閱瘋先生Google新聞、Telegram、Instagram以及 訂閱YouTube頻道,將會有更多非常實用的技巧教學分享給大家。