【轉】Root檢測與反檢測


0x00背景
需要在手機上構建一個環境對root過的設備進行偽裝,讓設備里面的應用將該設備當成未root的設備。
1
0x01 Root檢測手段
1.檢查已安裝的APK包:
SuperSU應用程序或者一鍵root的程序:
(例如One Click Root,iRoot,360一鍵root,kingroot)
Root Apps:需要root權限才能使用其功能的應用程序。例如busybox,SetCPU,Titanium Backup。
Root Cloakers:隱藏設備是否已植根的應用程序。例如Root Cloaker,Root Cloaker Plus。
API掛鈎框架:提供API掛鈎功能的庫。例如Cydia Substrate,Xpose Framework。

2.檢查已安裝的文件:
靜態路徑:
/ system / xbin / su,/ system / bin / su或/system/xbin/…/xbin/su(路徑操作)
/ system / xbin / busybox以及BusyBox創建的命令的所有符號鏈接。
在生根期間或生根后安裝的熱門應用程序包的/ data / app / 或/ system / app / 。
動態路徑:解析PATH變量,在每個條目后附加“/ su”; 在循環中打開每一個
檢查BUILD標簽:來自Google的股票Android圖像是使用“release-keys”標簽構建的。如果出現“ 測試密鑰”,這可能意味着Android映像是開發人員構建或非官方構建。該值基本上來自“ro.build.tags”。

3.檢查目錄權限:
Root使某些根文件夾可讀,如/ data或可寫,如/ etc,/ system / xbin,/ system,/ proc,/ vendor / bin等。運行mount命令並檢查是否有任何設備使用“rw”掛載標記,或嘗試在“/ system”或“/ data”文件夾下創建文件。
嘗試使用命令“ mount -o remount,rw / system ” 掛載“/ system”分區,並檢查返回碼。
C heck流程/服務/任務:
ActivityManager.getRunningAppProcesses方法返回當前正在運行的應用程序進程的列表。此API可用於確定是否有任何需要root權限的應用程序正在運行。
getRunningServices或getRunningTasks:獲取當前正在運行的服務或任務。
使用Shell命令檢查生根特征:使用Runtime.exec,ProcessBuilder或execve(“su”)

ps | grep :列出當前正在運行的進程。
ls - :檢查文件系統中是否存在文件
包列表:
pm path :輸出目標包的完整路徑
cat /system/build.prop或grep ro.build.tags:檢查是否= release-keys。該測試僅可用作指標,因為在野外存在許多相反的觀察結果。
構建版本:“ ro.modversion ”可用於識別某些自定義Android ROM(例如CyanogenMod)

4.檢查系統屬性:
ro.secure = 0,表示adb shell將以root用戶身份運行,而不是shell用戶。
ro.debuggable = 1或service.adb.root = 1,然后adb也將以root身份運行。
毋庸置疑,這些技術可以通過功能掛鈎或自定義構建Android ROM等來繞過。

開源的rootbeer就是用來查看是否運行在root環境
https://github.com/scottyab/rootbeer/blob/master/README.md

0x02 root反檢測手段
原理:hook調用api的函數


開源的RootCloak用來對抗root監測
https://github.com/devadvance/rootcloak

參考:
https://www.blackhat.com/docs/eu-15/materials/eu-15-Benameur-All-Your-Root-Checks-Are-Belong-To-Us-The-Sad-State-Of-Root-Detection.pdf

Detecting Root on Android

https://blog.csdn.net/lintax/article/details/70988565
from:https://blog.csdn.net/tangsilian/article/details/85255929

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM