SAY討論區

標題: 走進Evasi0n 越獄黑客如何拿到iOS權限 [打印本頁]

作者: ckpole    時間: 2013-2-8 09:42:27     標題: 走進Evasi0n 越獄黑客如何拿到iOS權限

Evad3rs團隊成員David Wang接受了福佈斯的采訪,為我們講述了整個iOS6的破解歷程。他指出這次破解iOS6至少了利用了5個不同的漏洞。國外許多媒體都用了這樣一句話來形容他們的工作:incredible work(難以置信的工作)下面就給大家詳細的分析Evad3rs如何一步步奪取iOS內核權限的。
蘋果一直在控制著用戶手中的iOS設備,你將一部iPhone購買回家,但是卻發現很多事情你不能做主。你不能隨便安裝第三方應用,不能隨意修改桌面設置。讓人感覺,更像是從蘋果租用硬件。
2013年2月4日,一個自稱是evad3rs的黑客團隊,在其網站evasi0n上,第一次提供了iOS6的完美越獄,它為iPhone5、iPad3、iPad mini和其他iOS設備提供了目前最先進的iOS6.1完美越獄程序,允許用戶從他們的手機、平板電腦中解除掉蘋果加持的各種限制機制。截止目前evasi0n完美越獄工具已有200萬iOS用戶下載,這足以看出全球用戶對於越獄的熱情。用戶可以安裝自定義主題,安裝第三方輸入法,安裝Cydia商店中的MyWi熱點工具。可以說,這次的完美越獄工具的開發幾乎是個奇跡,因為這次的iOS系統破解遠比以往任何時候都要困難。
jxqcikdchwv05.png

難以置信的工作
在iOS6 GM發佈之後,就有不少越獄團隊第一時間嘗試進行越獄。此後iOS6正式版放出,綠毒團隊的領頭人p0sixninja標示,iOS6的防護級別高的令人不可思議,其操作系統的嚴密性超過了以往任何一款OS。因此越獄的難度是前所未有的。但最後他還是放口:黑客不會被任何框架所束縛。
小插曲:去年12月,隨著全球都在“歡度”世界末日的到來。越獄黑客Dream JB表示他會在12月22日放出iOS 6的完美越獄工具。但是到了22日那天,大家才發現他隻是和我們開了一個末日玩笑。
越獄夢之隊:evad3rs
為了達成iOS6完美越獄這個任務,1月25日(大洪水退去人們下船的日子),原Dev Team成員、越獄黑客pod2g在Twitter上宣佈:與紅雪團隊的MuscleNerd(肌肉男)、Chronic-Dev(綠毒)團隊的pimskeks、planetbeing組成了一個新團隊——evad3rs。(@pimskeks @planetbeing @pod2g @MuscleNerd)
隨即evasi0n.com官網上線。每一天,整個團隊都會向外界公佈越獄的最新進度:68%、85%、91%……整個iOS6完美越獄工具的開發過程僅用了10天時間。國外許多媒體都用了這樣一句話來形容他們的工作:incredible work(難以置信的工作)
yp15qzmr0qv05.jpg
@planetbeing真名是Yiduo David Wang,來自俄勒岡的波特蘭,是Evad3rs四人團隊的一員。他近日接受了福佈斯的采訪,為我們講述了整個iOS6的破解歷程。他指出這次破解iOS6至少了利用了5個不同的漏洞。據悉,這次他們使用的手法,比Stuxnet更黑!(Stuxnet蠕蟲是摧毀伊朗和濃縮離心機設施的那個著名病毒)下面寧哥就給大家詳細的分析Evad3rs如何一步步奪取內核權限。
如何破解iOS 6
最初,Evad3rs使用libimobiledevice來代替iTunes,連接到電腦上。它與iTunes一樣使用了相同的設備連接協議。libimobiledevice又稱libiphone,是一個開源包,可以讓Linux支持連接iPhone/iPod Touch等iOS設備。由於蘋果官方並不支持Linux系統,但是Linux上的高手絕對不能忍受因為要連接iOS設備就換用操作系統這個事兒。因此就有人逆向出iOS設備與Windows/Mac Host接口的通訊協議,最終成就了橫跨三大桌面平臺的非官方版本USB接口library。經常用Linux系統的人一定對libimobiledevice不陌生,但是許多Windows和Mac用戶也許就不知道了。事實上,它同iTools一樣,都是可以替代iTunes,進行iOS設備管理的工具。因為源碼是開放的,可以自行編譯,所以對很多開發者而言可以說更為實用。
話說回來Evasi0n利用了iOS系統的一個備份bug獲得了幾項原來無權訪問的設置。如,設置設備時區的權限。正是拿到了這個時區設置文件的權限,Evasi0n在該文件中可以插入一條,Symbolic Link符號連接(又稱軟連接)。這樣就將操作系統中的訪問求情轉移到了其他指定的位置,由此也就能將越獄程序通過Symbolic Link連接到時區設置文件上。
感謝Symbolic Link這個好東西
Symbolic Link相當於Win下的"快捷方式"。Unix文件系統提供了一種將不同文件鏈接至同一個文件的機制,我們稱這種機制為鏈接。它可以使得單個程序對同一文件使用不同的名字。這樣的好處是文件系統隻存在一個文件的副本,系統簡單地通過在目錄中建立一個新的登記項來實現這種連接。軟連接有自己的inode,並在磁盤上有一小片空間存放路徑名。因此,軟鏈接能夠跨文件系統,也可以和目錄鏈接。另外,軟鏈接可以對一個不存在的文件名進行鏈接,但直到這個名字對應的文件被創建後,才能打開其鏈接。
David Wang 把它比喻成“莫斯科紅色專線”。通過Symbolic Link,可以將連接轉到某個特定的socket中,讓不同程序之間可以互通信息。整個iOS系統中的Launch Daemon後臺進程的啟動程序都存放在"/System/Library/LaunchDaemon"目錄下, 就是那些".plist"文件。這些程序會在設備啟動時率先啟動,所以他們具備root權限,可以啟動其他應用。Evasi0n修改了Launch Daemon的socket,這就意味著,當iOS設備進行備份時,就會自動的讓所有程序和文件都能訪問時區設置文件,感謝Symbolic Link這個好東西,讓所有程序可以連接Launch Daemon。
這裡需要提一句為什麼蘋果的啟動服務叫做“Launch Daemon”?從Mac OS 10.4開始,蘋果就采用Launch來管理整個操作系統的services和processes了。傳統的Unix會使用“/etc/rc.*”或者其他機制來管理要啟動的startup services,而此後在Mac OS X則使用Launch來管理,其startup services被叫做Launch Daemon和Launch Agents。前者是開機時載入,而後者是用戶登錄時載入的。
如何繞過Code-signing
在iOS中,還有另一個安全保障——Code-signing。它能夠阻止流氓應用訪問Launch。在iOS設備上運行的代碼都需要通過蘋果的審核,並附帶上有效的簽名。一般開發者開發的程序,在正式發佈到App Store之前是需要使用蘋果頒發的證書進行簽名的之後,再由蘋果進行審核。審核成功之後,蘋果也會對程序進行一次簽名。當iPhone或者iPod Touch從AppStore下載安裝程序的時候會調用系統進程INSTALLD(mobileinstalltion)對應用程序進行證書校驗。所以一般需要安裝破解軟件時,都需要把此文件替換成破解版本。
vghwa2znadh06.jpg
如果你的MobileInstalltion沒有破解的話,那麼在安裝或者運行程序的時候需要對你的數字證書進行檢測,如果發現沒有簽名或者簽名不對,就會自動kill掉程序。那麼在這種情形下,我們可以偽造簽名(當然無法通過AppStore的審核), 騙過MobileInstalltion ,使得可以正常使用。
Evasi0n構建了一枚沒有代碼的應用,當用戶點擊這個應用的時候,它就會利用Unix的“Shebang”命令,調用一個已經簽名的應用代碼,通過Code-signing的審查。此後,它就可以再調用上文提到的Launch執行root級的命令了。Evad3rs要通過這種方式,來對RFS(root文件系統)的隻讀權限使用“remount”命令變為可寫。這就是為什麼,我們在越獄時,要運行一次下面這個LOGO的應用。
5vbhwbubzzm07.png
什麼是Shebang
在計算機科學中,Shebang(也稱為Hashbang)是一個由井號和嘆號構成的字符串行(#!),其出現在文本文件的第一行的前兩個字符。 在文件中存在Shebang的情況下,類Unix操作系統的程序載入器會分析Shebang後的內容,將這些內容作為解釋器指令,並調用該指令,並將載有Shebang的文件路徑作為該解釋器的參數。Shebang這一語法特性由#!開頭,即井號和嘆號。 在開頭字符之後,可以有一個或數個空白字符,後接解釋器的絕對路徑,用於調用解釋器。 在直接調用腳本時,調用者會利用Shebang提供的信息調用相應的解釋器,從而使得腳本文件的調用方式與普通的可執行文件類似。
修改launchd.conf文件
現在RFS已經可寫了,Evasi0n接下來就是先修改launchd.conf文件,當修改了launch配置文件之後,前面的工作就可以保存下來了。這樣每次iOS設備重啟的時候,就不必再連上USB進行越獄操作了。之前,很多iOS系統不完美越獄就是因為沒有拿到修改launchd.conf的權限。造成每次重新開機都要再越獄一次,很麻煩。
破解AMFID防護機制
對於黑客來說,沒有奪取到kernel(內核)權限,都不算作真正把系統征服。在iOS的系統內核中,還有一層叫做AMFID(Apple Mobile File Integrity Daemon)的防護機制,它是用來監測移動文件完整性的守護進程。AMFID會校驗代碼簽名,防止流氓程序運行。Evasi0n利用launchd.conf文件,為AMFID加載一個library,讓每次AMFID在做校驗的時候,都會返回一個“approved”的肯定回答。David Wang在福佈斯記者的采訪中,並沒有給出具體的破解方法,隻是留下一句話:蘋果自己應該明白這一點。
異常向量,萃取內核地址
除了內核級的應用簽名之外,蘋果為了防止黑客在內核級的內存中隨意修改,iOS還有最後一道那就是ASLR(Address Space Layout Randomization)隨機地址空間佈局。當系統加載時,ASLR都會將他們隨機分配到內存的不同位置,防止某些內容總是存儲在內存的特定部分,讓黑客有規律可尋。
聰明的Evad3rs團隊,使用了ARM exception vector(異常處理向量)。exception vector其實經常會用到,處理器異常、出錯時(其實不完全是出錯),它就會抓來這個vector找相應的處理函數。例如,遇到看不懂的指令,它就會抓0x4地址指令。也就是“ldr pc, _undefined_instruction”,接著就會跳到undefined instruction的函數去處理。當程序出現異常時,ARM異常向量就會給出崩潰的內存地址,黑客拿到足夠多的信息,就可以找到內核在內存的分佈范圍,這樣整個內核的內容也就被抓到了。
奪取內核控制權
搞定ASLR之後,Evad3rs利用iOS連接USB的一個漏洞,把內核內存的某個地址傳給一個應用,而應用返回來的內容就可以用來改寫這部分內存地址。由此Evad3rs就可以修改內核任何部分的內容了。據Wang所說,當你拿到了內核的權限時,整個系統就沒有任何“安全機制”能阻止我們了,我們贏了!
2013-2-7 最新更新:
Pod2g在Twitter上稱,evasi0n網站目前獨立IP訪問量超過500萬,PV突破了4000萬,而在整個用戶群中,中國用戶的數量最大。有近300萬的中國用戶訪問了evasi0n網站,占總訪問量的20.12%。美國用戶比例為16.88%,將近250萬用戶。其次是法國、德國、意大利、英國、俄羅斯等地區的用戶。
感謝CSDN張寧投遞稿件
原文鏈接:走進Evasi0n,越獄黑客如何拿到iOS權限

附件: [jxqcikdchwv05.png] jxqcikdchwv05.png (2013-2-8 09:42:27, 0 Bytes) / 下載次數 0
http://say.go2tutor.com/forum.php?mod=attachment&aid=MjYwMzAxfGUwOWY5ZjkxfDE3ODE2MjE1ODJ8MHww

附件: [yp15qzmr0qv05.jpg] yp15qzmr0qv05.jpg (2013-2-8 09:42:27, 0 Bytes) / 下載次數 0
http://say.go2tutor.com/forum.php?mod=attachment&aid=MjYwMzAyfDdjNTJhNTc3fDE3ODE2MjE1ODJ8MHww

附件: [vghwa2znadh06.jpg] vghwa2znadh06.jpg (2013-2-8 09:42:27, 0 Bytes) / 下載次數 0
http://say.go2tutor.com/forum.php?mod=attachment&aid=MjYwMzAzfDdjODRjZjJlfDE3ODE2MjE1ODJ8MHww

附件: [5vbhwbubzzm07.png] 5vbhwbubzzm07.png (2013-2-8 09:42:27, 0 Bytes) / 下載次數 0
http://say.go2tutor.com/forum.php?mod=attachment&aid=MjYwMzA0fDViNGE0MTZkfDE3ODE2MjE1ODJ8MHww
作者: HO0907    時間: 2013-2-8 11:07:57

初來乍到,請多多關照。。。嘿嘿,回個帖表明我來過。
作者: jerrygarry    時間: 2013-2-8 11:09:32

這個貼好像之前沒見過  
作者: 弒殺滅神    時間: 2013-2-8 11:10:35

默默的看完,安靜的回覆
作者: jerrygarry    時間: 2013-2-8 11:14:47

厲害!強~~~~沒的說了!  
作者: bobodragon2001    時間: 2013-2-8 11:26:03

好 好帖 很好帖 確實好帖 少見的好帖
作者: 阿迅    時間: 2013-2-8 11:27:16

頂.支持,路過.
作者: [email protected]    時間: 2013-2-8 11:56:16

我想要`~
作者: 現實999    時間: 2013-2-8 11:56:18

加油啊!!!!頂哦!!!!!
作者: Disy    時間: 2013-2-8 11:57:14

加油啊!!!!頂哦!!!!!  
作者: HO0907    時間: 2013-2-8 12:00:56

一頭霧水…
作者: oh~my~gag    時間: 2013-2-8 12:02:12

老闆付我錢,我上班到尼伊達回帖子
作者: mic167    時間: 2013-2-8 12:09:54

猛力的回覆,潛水值上上上
作者: 底褲超人    時間: 2013-2-8 12:18:36

呵呵,明白了
作者: DiorCherie    時間: 2013-2-9 13:52:43

老大,我好崇拜你喲  
作者: oh~my~gag    時間: 2013-2-10 06:12:12

樓主good
作者: 24gold24    時間: 2013-2-10 17:45:56

這是一個好論壇,應該要多多來
作者: 傻QQ    時間: 2013-2-12 08:12:02

加油啊!!!!頂哦!!!!!
作者: 世界沒日    時間: 2013-2-12 19:09:36

真是有你的!
作者: 鳥不起點算    時間: 2013-2-13 13:08:35

線上等線上等
作者: tamyc002    時間: 2013-2-14 00:56:43

看完了這麼強的文章,我想說點什麼,但是又不知道說什麼好,想來想去只想
作者: naturebeehk    時間: 2013-2-15 01:12:09

好啊,,不錯、
作者: 豪鬼AKUMA    時間: 2013-2-15 01:13:14

一個子 沒看懂




歡迎光臨 SAY討論區 (http://say.go2tutor.com/) Powered by Discuz! X2