freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

解锁、线刷、获得Root和隐藏Root
2025-01-17 15:02:06
所属地 广东省

前言

在进行移动端安全渗透过程中,通常需要一台没有任何限制的真实手机进行安装应用以及抓取流量包。真实机器上运行软件能够避免部分应用在模拟器中出现闪退的问题。工欲善其事,必先利其器,所以想要进入移动端安全的第一步就是需要获得一部已经获得root权限的手机。
已经获得root权限还不行,因为在我们抓取部分金融的应用时会发现这些应用都有对设备是否已经解锁和root进行检测,如果被发现设备已经root,则将会被拉入设备黑名单,从而出现应用强制退出的问题。此时就需要我们进行root权限的隐藏了。

一、背景介绍

  1. 本次实验使用的是红米Note 5,如果有其他型号的设备也可以按照差不多的步骤进行操作。当然,如果一开始手上并没有任何淘汰的手机,可以去淘个二手的谷歌手机,谷歌手机非常适合进行调试。
  2. 除了一台淘汰的手机外,还需要准备一根数据线即可开始我们的解锁和获得root之路。
  3. 如果不需要进行刷入第三方的Rom,只是需要进行root的话,可以不用进行线刷那一步。

二、解BL锁

(一)基本概念

  1. BL锁:即BootLoader,在手机安全启动中最底层的一环,通过启动过程中检查加载对象的签名信息,如果签名与官方签名不一致则拒绝启动。
  2. 作用:防止手机启动第三方的ROM,避免安全风险。但是也因此无法进行后续的线刷获得Root权限。所以需要先解除该锁定后。

(二)绑定账号

  1. 准备好需要解锁的手机,需要提前做好数据备份工作,解锁后所有数据都将清除。本次以红米Note5作为解锁设备进行解锁演示。详细信息如下2024-12-10_142620_8417870.6100161088117421.png
  2. 打开设备的全部参数中,点击5次MIUI版本进入开发者模式中2024-12-10_143839_5327820.2360253088086559.png2024-12-10_143239_2247840.24124360517347576.png
  3. 在设置中搜索解锁状态,此处是绑定设备账号与解锁的位置2024-12-10_143314_3321250.45219488559792076.png
  4. 先进行绑定账号与设备,需要插入SIM卡并且关闭WIFI使用移动网络进行绑定2024-12-10_143732_8625450.7110625180181349.png

(三)解锁设备

  1. 绑定后设备与账号后就可以开始解锁设备了,需要访问到[小米官方解锁工具下载页面]( "http://www.miui.com/unlock/")
    2024-12-10_144127_6037200.9614368163561691.png
  2. 下载后解压,运行里面miflash_unlock.exe文件2024-12-10_144254_0171340.5190798655152727.png
  3. 按照工具下载页面的说明操作手机。先将手机关机,然后同时按住关机键和音量减键,此时会出现一个安卓形象。此时用数据线连接电脑2024-12-10_144632_7695520.3240265769639761.png
  4. 连接好后,可以看到解锁说明和按钮2024-12-10_144839_7249250.41867343932992773.png
  5. 点击解锁按钮,其他的都是按确定即可2024-12-10_144924_6705440.0564184170444465.png2024-12-10_144930_3614580.5351020681660947.png
  6. 看到如下页面,说明解锁成功2024-12-10_144958_4950790.6996550083842521.png

(四)进入设备

  1. 解锁后设备全部数据清空,就像个新手机一样需要设备语言、WIFI等
  2. 设置好后重新进入开发者模式,并查看解锁状态,发现此时设备已经解锁2024-12-10_145440_7739480.47165117304839854.png

三、线刷

(一)条件准备

  1. 说明:线刷是指通过数据线刷入ROM的方式,该方式并非是获得Root的必要条件,只是可以通过该方法获得刷入第三方ROM,或者刷入低/高版本系统,从而实现特殊功能或者降低/升高系统版本的目的。线刷相对于卡刷更加稳定和安全,推荐使用线刷。
  2. 条件:
    - 已经解锁BL,解锁BL是线刷的必要前提
    - 下载好需要降低/升高的系统镜像文件,可在 "https://miuiver.com/tag/whyred-stable-rom/"下载。当然,如果是其他设备,可以去网络上寻找对应的系统镜像文件。
    - 下载好小米的专门刷机工具XiaoMiFlash,可在"https://file.miuiver.com/MiFlash"下载,下载2022年版本的即可
    - 手机充满电,并且已经进行数据备份

(二)安装软件

  1. 将下载好的XiaoMiFlash放置于D盘,解压后双击运行
    2024-12-10_163957_4038790.43323814112759373.png
  2. 解压后可能会出现缺少驱动的情况,此时可以点击安装驱动
    2024-12-10_164034_1652740.032030759067987136.png
  3. 安装过程中可能会遇到缺少文件的错误,此时只需要在同目录下新建一个名为log的文件夹即可解决,新建后进行安装则不会报错
    2024-12-10_164103_0027300.7188776021667336.png2024-12-10_164132_7341970.7428920167711393.png
  4. 安装好驱动后会自动退出,需要重新进入一下软件

(三)执行刷机

  1. 将手机进入到fastboot模式(关机状态下按音量减键+关机键)
    2024-12-10_164807_7317190.9832892717792682.jpeg
  2. 使用数据线连接手机,并将下载好的镜像包文件解压
    2024-12-10_164952_8647940.49094059878187024.png
  3. 在XiaoMiFlash软件中选择加载镜像包文件,路径为image的前一个路径
    2024-12-10_165008_1734120.5301042875022282.png
  4. 在底下选择删除所有文件(需要选择全屏时查看),保留数据的功能可能不完善,第三个选择会重新锁上BL锁,容易造成错误时需要重新解锁BL
    2024-12-10_165022_7796250.3524605935087465.png
  5. 点击识别设备,可以看到页面出现设备ID
    2024-12-10_165102_0300690.3477697499205622.png
  6. 点击刷机,等待刷机完成即可
    2024-12-10_165105_9053120.11023184252847817.png
  7. 刷机完成的标志是手机已经重启进去到桌面

四、获得Root权限

(一)准备工作

  1. 备份数据:在开始之前,请务必备份手机中的所有重要数据,以防操作过程中出现意外。
  2. 解锁Bootloader:确保手机的Bootloader已经解锁。如果未解锁,请先按照上面的解锁方式进行解锁设备。
  3. 下载Magisk:https://magiskcn.com/magisk-download
  4. 下载adb-fastboot:https://mrzzoxo.lanzoue.com/b02plghuh
  5. 电脑环境:已安装配置好adb环境变量

(二)获得镜像文件

  1. 下载官方ROM,进入我的设备中找到MiUI版本。2024-12-11_144106_1228990.3875323515196982.png
  2. 点击下载最新完整包,当下载到2%的时候点击停止下载2024-12-11_144048_6421060.2555993150876843.png2024-12-11_144118_6241290.9077348535998304.png
  3. 然后找到下载管理,并点击继续下载,在这里下载完成。2024-12-11_144146_5599490.18485531214569628.png
  4. 下载完成后,将这个使用adb命令复制到电脑上。可以先用`adb shell`进入该手机shell页面然后再进入`/storage/emulated/0/downloaded_rom`中获得该Rom压缩包名称,方便复制。2024-12-11_144409_5211230.8123567012719736.png


    adb pull /storage/emulated/0/downloaded_rom/miui_HMNote5_V12.0.3.0.PEICNXM_5cb7befde7_9.0 miui_HMNote5_V12.0.3.0.PEICNXM_5cb7befde7_9.0.zip D:\other

  5. 解压该镜像包,获得该boot.img文件,如果该boot.img大小为0说明没有下载成功,如果出现解压失败说明该升级包已经解压过,均需要按照上面的方法重新下载。2024-12-11_144730_8333160.8979501638270898.png2024-12-11_144759_6144820.7077439721067313.png
  6. 然后将该boot.img使用adb传回到手机上。注意此时是传入到download文件夹中,后面需要在这个文件夹中找到该文件。
    adb push boot.img /storage/emulated/0/Download

2024-12-11_145143_0257590.8406161422751318.png

(三)准备Magisk

  1. 下载Magisk:从Magisk的Github页面下载最新版的Magisk APK文件。
  2. 通过adb安装Magisk:直接通过命令安装Magisk。2024-12-11_145320_0074860.4180970785289583.png
    adb install magisk.apk
  3. 安装好可以查看到基本情况,此时magisk的很多配置都不可以使用。2024-12-11_145332_4340570.88818601226446.png


(四)获取Root权限

  1. 第一步需要刷入Magisk:进入到Magisk中,然后点击安装。2024-12-11_145613_7652710.17683178466377925.png
  2. 按照原本的配置选择下一步。
  3. 选择文件并修补一个文件。2024-12-11_145523_3715730.7592433221358496.png
  4. 选择刚才传入手机的boot.img镜像。并点击开始。2024-12-11_145558_4721850.6111855212253309.png2024-12-11_145438_8242000.7343790130757861.png
  5. 等待出现修补完成即可,此时会提示有一个文件生成,该magisk文件等下需要用到。2024-12-11_145706_6879180.8694318493786042.png
  6. 第二步进行fastboot修补:将刚生成的文件导入到电脑中,并将其放置在adb-fastboot的解压目录下。2024-12-11_145742_6913390.2608107367560599.png
  7. 让手机进入fastboot模式,即关机状态下,同时按住音量下键和电源键。
  8. 然后双击运行打开CMD命令行.bat文件,此时会运行一个绿色的命令行界面。2024-12-11_145759_0212560.7484428013874005.png
  9. 运行该命令输入镜像。2024-12-11_145803_9973860.8587920669870266.png
    fastboot flash boot 【该传入电脑的Magisk文件】
  10. 最后重启手机。2024-12-11_145815_0179760.5792648002999912.png
  11. 此时可以看到Root成功:此时可以看到Magisk中的设置均可以使用,说明获得Root权限成功

2024-12-11_150017_4947640.7940224781001983.png

(五)验证Magisk

  1. 安装MT文件管理器:
    - [MT文件管理器]( "https://github.com/msmtmsmt123/MTutorial")需要Root授权,该管理器能够很好地查看文件信息,功能很强大
    - 下载好后,直接用adb安装该软件

    adb install MT文件管理器2.14.6.apk


  2. 在Magisk中对该软件进行root授权,出现该root授权页面说明已经获得Root权限
    2024-12-11_152221_7103840.6825165105736519.png

(六)注意事项

  1. 风险提示:获取root权限可能会导致保修失效,并且在某些情况下可能会导致系统不稳定或数据丢失。请谨慎操作。
  2. 定期更新:定期检查并更新Magisk和Magisk Manager,以确保root权限的安全性和稳定性。
  3. 备份重要数据:在进行任何系统修改之前,请务必备份所有重要数据。

五、隐藏Root

(一)隐藏Magisk

  1. 很多APP中的安全检测程序都是通过检测程序名和包名判断是否安装Magisk,从而防止这些已经安装Magisk的设备访问应用程序,所以得隐藏Magisk。
  2. Magisk中支持直接隐藏magisk包名,点击Magisk中的设置,可以看到有个隐藏magisk应用,点击该按钮。
    2024-12-11_153120_9610870.232550312673922.png
  3. 然后设置一个具有迷惑性的名称即可。2024-12-11_153307_7757140.22848928921006073.png
  4. 然后程序会自动安装,可以看到桌面上的Magisk已经变成修改后的名称。2024-12-11_153417_4044870.8521440877811841.png

  5. 此时可以看到包名使用的是随机包名了。2024-12-11_153524_4357210.7040804387834846.png

(二)隐藏Root权限

  1. 此时需要设置非授权应用获得Root,从而绕过某些具有Root检测的应用,需要使用到[Shamiko模块]( "https://github.com/LSPosed/LSPosed.github.io/releases/tag/shamiko-357"),下载该模块到本地中。2024-12-11_153828_8532370.23698159015119258.png
  2. 通过adb命令传到手机中。

    adb push  Shamiko-v1.1.1-357-release.zip /storage/emulated/0/Download
    2024-12-11_154243_3997120.31080757212945664.png
  3. 打开 Magisk中的设置,然后开启 Zygisk。2024-12-11_154620_2517020.3070441462382888.png

  4. 然后重启手机。

    adb reboot
  5. 在模块中选择从本地安装模块。2024-12-11_155231_3387400.5686680606227879.png

  6. 选择刚才上传到Shamiko文件。2024-12-11_155311_2003940.2930749511255384.png

  7. 等待安装完成后,点击重启即可。2024-12-11_161526_2070550.6692401613042301.png

  8. 如果安装失败了,可以下载Shamiko的其他低版本尝试是否可行,如果Magisk是最新版,就用最新版的Shamiko。
  9. 重启后查看模块,可以发现已经成功安装该模块。
    2024-12-11_161730_0528450.5524347332243779.png
  10. 此时可以看到使用的是黑名单模式。2024-12-11_162248_1806760.9992234762082925.png
  11. 配置排除列表来让这些软件检测不到Root。2024-12-11_163256_1014150.39008430661660465.png

(三)安装LSPosed框架

  1. 后续的模块安装中需要用到[LSPosed]( "https://magiskcn.com/lsposed-install")框架进行管理模块。
  2. 使用adb传入该安装包后,按照刚才的安装模块的方法进行安装LSPosed框架。
    2024-12-11_163831_8238930.65366870650861.png
  3. 选择安装包进行安装
    2024-12-11_163917_8036790.3254278822846377.png
  4. 安装完成,重启一下
    2024-12-11_163938_5494220.6960568020617007.png
  5. 此时可以看到该模块成功安装。
  6. 该模块通过下拉通知栏进入。
    2024-12-11_164351_1570200.5867866891829848.png
  7. 可以在此模块中管理安装的模块。
    2024-12-11_164409_4251220.5673014289906626.png

(四)隐藏应用

  1. 隐藏应用使用到LSPosed中的[Hide My Applist]( "https://github.com/Dr-TSNG/Hide-My-Applist/releases/latest")模块,可在Github上下载。2024-12-11_164859_8764540.46019449757004727.png
  2. 将下载好的应用包使用adb传入手机。
    2024-12-11_164859_8764540.46019449757004727.png
    adb push HMA-V3.3.apk /storage/emulated/0/Download
  3. LSPosed的模块可以直接双击安装。2024-12-11_164953_5417060.304488576007207.png
  4. 安装好后在通知栏中进入LSPosed,并且开启该模块。2024-12-11_165100_5230820.2140887910459267.png

  5. 将有Root检测到应用进行勾选,同时勾选一下系统框架。2024-12-11_165448_4503490.8069465127074537.png2024-12-11_165448_4503490.8069465127074537.png

(五)隐藏检测

  1. 经过上面的三个步骤已经完成了对root权限的隐藏,但是如果此时直接进行使用带有root检测的应用,如果没有隐藏到位,可能直接就被发现从而拉入黑名单设备了。所以为了避免这种情况的发生,需要在运行前进行root检测。
  2. 常用的隐藏root检测软件包括有momo、Ruru、Applist Detector,可以在Github中下载安装检测一下。
# 移动应用安全
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录