大家好,今天沈冠祺想和大家分享一些有關(guān)手機怎么root無需電腦,手機Root的操作與防護的想法,想要學習手機,操作,防護,電腦,權(quán)限的實用技巧和最新干貨分享嗎?在反復嘗試和總結(jié)后,我寫下這篇文章,希望能幫助到你們。
Root,對于任何手機發(fā)燒友、玩機客、從事移動設備研發(fā)的人員來說,并不陌生,它代表絕大部分移動設備的使用者能夠掌握到的最高權(quán)限。
從技術(shù)層次來講,用戶擁有了修改系統(tǒng)文件的權(quán)限,甚至可以控制賬戶、增加或刪除硬件等,但對普通用戶來說,最大的一個用處就是卸載“Root之前無法卸載的軟件”,部分品牌商在手機出廠之前內(nèi)置安裝了一些無法卸載的軟件,這些軟件在手機Root之后,都可以被卸載掉,Root相當于讓用戶擁有了自由增減軟件的權(quán)限。
Root的前世今生
Root一詞起源于Linux/Unix系統(tǒng),眾所周知,Linux/Unix系統(tǒng)的文件系統(tǒng)以根“/”出發(fā)向下形成一個倒置的樹型文件系統(tǒng)結(jié)構(gòu),Root即根的英文釋義,那么Linux/Unix系統(tǒng)就以Root賬號所擁有的權(quán)限作為系統(tǒng)管理員的權(quán)限,口口相傳,Root就代表了Linux/Unix上最高的權(quán)限。
在移動設備發(fā)展的初期,各種移動設備所使用的操作系統(tǒng)各不相同,比較出眾的有塞班、Windows Phone、iOS、安卓。隨著市場的選擇,只有安卓與iOS留存下來,成為普及的手機操作系統(tǒng)。按照POSIX標準協(xié)議和開源協(xié)議的規(guī)定,安卓與iOS都應該保留了Linux/Uinx上的相應的功能。
其中,安卓就是以Linux作為基礎進行構(gòu)建的系統(tǒng),而iOS則是使用了以xnu為內(nèi)核的Darwin(Darwin來自于BSD)。按照開源操作系統(tǒng)而言,安卓和iOS都理應保留所有用戶使用Root賬戶去掌控自己設備的權(quán)限。
但現(xiàn)實情況是,安卓與iOS不允許用戶使用Root權(quán)限,尤其是iOS對于Root權(quán)限的監(jiān)控與封鎖達到了前所未有的地步,以至于對iOS的Root被稱作“越獄”。iOS上的Root過程相對于安卓更為復雜與困難,所以本文主要以安卓系統(tǒng)的Root為主,詳細介紹Root的前世今生。
安卓系統(tǒng)的三大Root方式
相較于封閉生態(tài)的iOS系統(tǒng),安卓的Root方式可謂是從百花齊放到萬物歸一。不同安卓系統(tǒng)版本,獲取Root權(quán)限主流方式不同。
在安卓手機上,獲取Root權(quán)限主要有三種方式:漏洞、OEM官方解鎖、工廠方式。其中通過漏洞方式獲取Root,是開發(fā)者最早的探索;工廠模式獲取Root則是通過如驍龍9008模式通過底層串口將特殊的ROM刷寫入手機進而獲取Root;官方解鎖的方式則是OEM產(chǎn)商提供給一些發(fā)燒友的“通道”,通過解鎖Bootloader鎖獲取刷寫ROM獲取Root。
第一階段:百家漏洞齊爭鳴,先驅(qū)CVE-2009-2692漏洞
在安卓系統(tǒng)早期時忽略了安全性問題,許多在Linux中產(chǎn)生的安全問題,都能在安卓得以復現(xiàn),其中最早有公開記錄并可追溯的是Znix利用Linux漏洞CVE-2009-2692編寫的安卓版本提權(quán)程序,代碼如下:
利用藍牙協(xié)議觸發(fā)sendpage漏洞
權(quán)限提升攻擊載荷
該漏洞的產(chǎn)生主要是sock_sendpage沒有對socket_file_ops數(shù)據(jù)結(jié)構(gòu)的snedpage字段字段做指針檢查,有些模塊不具有sendpage功能,將指針初始化為NULL,此時直接調(diào)用sendpage會導致直接調(diào)用空指針導致報錯并進而進行權(quán)限提升。Znix直接將現(xiàn)有有效用戶id(euig)與有效用戶組(egid)的指針賦值為0即Root用戶與Root用戶組,再將有效用戶與有效用戶組指針賦給真實的用戶指針與真實的用戶組指針,從而達到權(quán)限提升的目的。然后利用藍牙協(xié)議與send_page的漏洞觸發(fā)這一攻擊載荷。
Znix發(fā)布該exploit的時間點在安卓_ndk_r1版本發(fā)布后的兩個月。在該exploit發(fā)布后,人們發(fā)現(xiàn)在安卓上通過漏洞的形式獲取Root權(quán)限方式大為可行,隨即越來越多的安全人員與發(fā)燒友開始在安卓上挖掘系統(tǒng)漏洞,導致安卓的安全問題呈現(xiàn)井噴式的爆發(fā)。不過這場鬧劇隨著Google不斷的修復與SElinux的引入,鬧劇在安卓4.4戛然而止,安卓系統(tǒng)進入了一個穩(wěn)定的時期,安卓的Root也進入了一個新的探索時代。
使用Linux系統(tǒng)的人都知道,在Linux上有一個程序叫/usr/bin/su,用戶可以通過su命令來切換身份,安卓的基礎是Linux,在安卓版本1.0-4.4中,安卓默認安裝了su程序,使用者可以通過使用su進行獲取Root,只需要su程序的權(quán)限為Access: (4755/-rwsr-xr-x) Uid: ( 0/ Root) Gid: ( 0/ Root)。
第二階段:混亂中的探索,supersu與superuser
Google在安卓4.4版本,基本上將Linux中可提權(quán)的漏洞修復并限制利用漏洞進行提權(quán)的方式。安卓4.4及以上,Anroid也不預裝su程序,并且加入SElinux,就算擁有4755權(quán)限的su也無法達到完美Root。開發(fā)者們就嘗試將改造后的su寫入到安卓的/system下,讓需要Root權(quán)限的程序通過/system下的su程序進行執(zhí)行。
而向/system下寫入su需要提前解鎖(unlock)安卓手機,該方式比利用漏洞提權(quán)穩(wěn)定性更高。許多大神都開始編寫不同的su程序,其中比較有名的就是chainsDD的su與chainfire的suspersu,而單有獲取Root權(quán)限的方式仍然不夠,還需要一個分發(fā)Root權(quán)限的管理工具,koush的superuser恰好補齊了這一缺點,讓這一體系得以完善。
不過好景不長,該方法引起了Google的關(guān)注,Google在后續(xù)發(fā)布的版本中對/system等分區(qū)進行完整性校驗,使得修改system分區(qū)變得不可行,在2018年10月,chainfire宣布不再維護supersu。而另一位開發(fā)者則以巧妙的方式,讓Root又變?yōu)榭赡堋?/p>
第三階段:從混亂中受到啟發(fā),走向歸一的Magisk
一個名叫topjohnwu的開發(fā)者,從supersu中受到啟發(fā),他仍然使用supersu的原理獲得Root權(quán)限,但是他并不對/system等分區(qū)做額外的修改,他通過嘗試發(fā)現(xiàn),雖然/system等分區(qū)無法修改,但是可以在/system分區(qū)下進行添加掛載點,于是他用了一種overlay的方法,讓用戶刷寫特殊的boot.img,修改啟動時的掛載操作,做出了一個overlay版本的system,所有的操作都在這個system上進行,這樣就避開了對原有system的修改,完成原有supersu的功能,而這款軟件就是現(xiàn)在大部分人熟知的Magisk。Magisk不僅完成了獲取Root,并且集成了Root權(quán)限的管理器。
隨著topjohnwu加入谷歌,magisk的代碼需要google安全團隊進行審計,magisk某種程度上擁有了官方背書,是目前最穩(wěn)定的Root方式。
小白該如何Root安卓的手機
本文將使用TWRP方式教大家如何使用Magisk獲得Root權(quán)限。在獲取Root前,需要解除BootLoader鎖,請讀者自行聯(lián)系OEM廠商解除Bootloader鎖。
頂象特別提醒:Root有一定的風險,或造成手機無法使用,請謹慎操作,本文不對任何后果承擔相應責任。
1、準備adb fastboot命令工具、magisk以及對應的twrp.img(不同廠商需要的twrp鏡像不同,請讀者自行查詢所需的twrp鏡像)
2、使用adb命令將Magisk放入到sdcard中,命令如下:
3、進入bootloader界面,輸入對應的fastboot命令,進入twrp界面。
4、選擇Install,然后選擇Magisk.zip。
5、進入安裝Magisk的界面,將滑動條從左滑到頂端。如果出現(xiàn)如下界面,則證明安裝Magisk成功。
6、重啟手機后,使用將maigsk.zip改回magisk.apk,使用如下命令安裝Magisk管理器。
隨后可以在手機中打開Magisk,發(fā)現(xiàn)Magisk已經(jīng)正常工作。
如何檢測設備的Root操作
對于安全從業(yè)者與一些需要風控的企業(yè),需要得知用戶的手機是否處于風險狀態(tài),是否被Root。
1、包名檢測。
由于Magisk是通過Maigsk.apk進行管理它的su權(quán)限分發(fā)的,所以可以使用獲取包名的方式檢查用戶手機是否存在Magisk App來得知用戶是否使用了Magisk Root,具體代碼如下:
嘗試運行程序,得到如下結(jié)果。
在上述方法中,雖然能檢測到用戶安裝了Magisk,但是由于法律對用戶隱私的保護,獲取包名的方式會觸及隱私合規(guī)紅線,所以這種方法需要一定的權(quán)限,在使用該方法時要慎之又慎。
2、專業(yè)安全產(chǎn)品。
頂象設備指紋、頂象業(yè)務感知防御平臺能夠?qū)崟r有效識別Root風險。
頂象設備指紋:能精準識別模擬器、root、越獄、調(diào)試、代碼注入、多開、VPN代理等風險。包含,iOS平臺hook、越獄行為,安卓root、debug、內(nèi)存dump、注入、多開、模擬器、漏洞攻擊等風險行為,WEB平臺下瀏覽器顏色深度、分辨率,瀏覽器與系統(tǒng)、UA的匹配性和一致性、cookie是否禁用等行為。
頂象業(yè)務安全感知防御平臺:基于威脅探針、流計算、機器學習等先進技術(shù),集設備風險分析、運行攻擊識別、異常行為檢測、預警、防護處置為一體的主動安全防御平臺,能夠?qū)崟r發(fā)現(xiàn)攝像頭遭劫持、設備偽造、設備Root等惡意行為,有效防控各類人臉識別系統(tǒng)風險。它具有威脅可視化、威脅可追溯、設備關(guān)聯(lián)分析、多賬戶管理、跨平臺支持、主動防御、開放數(shù)據(jù)接入、防御自定義和全流程防控等特點。
寫在最后
本文從Root的歷史出發(fā),講述了獲取Root的發(fā)展歷史以及軼事,教大家從0到1完成對自己安卓手機的Root,提出了一些有效的檢測Root的方式。Root與HOOK一樣,是一把雙刃劍,在普通人手里,它可以讓系統(tǒng)不再受到約束,可以帶來更好的手機使用體驗,但在黑灰產(chǎn)手里,會變成非法牟利的工具,作為安全從業(yè)者,我們要辯證地看待每項技術(shù),對非法行為我們要重拳出擊,為安全事業(yè)添磚加瓦。
在上一篇文章《欲知己之所防,先知彼之所攻——論Hook 技術(shù)的攻防對抗》我們提到Hook的攻擊,Hook一定需要Root嗎?答案是否定的。如果開發(fā)者有能力修改art源碼、劫持Zygote,是可以完成Rootless HOOK操作的,Root是為了讓HOOK及HOOK模塊管理工具的使用降低成本,讓HOOK操作者的重心不再放在HOOK的前置條件,而是更專注于HOOK模塊的開發(fā)。
好了,以上就是今天的全部內(nèi)容,感謝關(guān)注!希望能幫到大家,閱讀完手機怎么root無需電腦 精選:手機Root的操作與防護這篇文章,希望你能夠?qū)⑵渲械闹R運用到實際生活中,創(chuàng)造屬于自己的成功之路!
本文發(fā)布者:大嫂助理,不代表巢座耶立場,轉(zhuǎn)載請注明出處:http://www.sdwldmy.com/p/8680.html
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 jubao226688#126.com 舉報,一經(jīng)查實,本站將立刻刪除。