Xposed惡意插件可自動安裝激活

Post by Gandalfandroid

概述

AVL移動安全團隊在以前的《Xposed惡意插件》一文中分析了一個Xposed惡意插件,可是因爲Xposed模塊須要手動勾選重啓後才能生效,致使應用場景有限。以後網友MindMac提供了一個可自動安裝激活的Xposed惡意插件demo(需Root權限),如下是對此惡意插件的詳細代碼分析。git

詳細分析

安裝開啓該demo後在後臺會自行安裝Xposed,並勾選自身AutomaticXposed,以後自動重啓系統使模塊激活生效:github

1

啓動樣本即進入Xposed的安裝和激活:2安全

檢查是否安裝了Xposed

首先檢查是否安裝過Xposed,若未安裝則安裝樣本內嵌的Xposed。3框架

靜默安裝Xposed插件

釋放Xposed安裝apk到sdcard:4工具

獲取su權限,經過pm來靜默安裝Xposed:5spa

自動激活Xposed插件功能

啓動Xposed的InstallService服務,經過Intent參數設置「Enable module」激活樣本:6插件

此服務本來實際上並不含有Xposed插件,屬於做者重打包添加,因此此處demo的激活方式只適用於未安裝Xposed的手機,若已安裝則沒法生效。orm

修改內嵌子包,添加InstallService激活插件並重啓動系統

樣本內嵌子包屬於Xposed框架的安裝包,但做者修改過,添加了一個InstallService用來激活插件以及重啓動系統。xml

包結構主要差別對比,上爲原版Xposed框架安裝包,下爲樣本內嵌Xposed:78

做者修改過的XposedInstall添加了InstallService,並使其導出以致於能夠被外部調用:9

服務運行以後首先檢查手機系統版本和Xposed版本的兼容性,以後則設置勾選插件、重啓系統激活插件:10

復現原版Xposed的正常啓動流程,因是樣本直接激活沒有經過正常的Xposed啓動,故需如此:11

調用原版ModuleUtil類的setModuleEnabled方法。修改Xposed配置文件,設置插件可用:12

配置文件位於:/data/data/de.robv.android.xposed.installer/shared_prefs/enabled_modules.xml,將樣本包名「com.mindmac.xposed」置值爲「1」:13

原版ModuleUtil類的updateModulesList方法 給/data/data/de.robv.android.xposed.installer/conf/modules.list文件寫入樣本完整路徑:1415

配置完成以後,重啓系統以便使設置生效:16

總結

該樣本雖然只是一個demo,但實現了自動安裝Xposed及其插件,並自動勾選重啓激活插件的功能。但若被惡意代碼利用,可能會致使更嚴重的損害,請謹慎使用。

不過該樣本目前只適用於未安裝Xposed的手機,已經安裝Xposed後則沒法激活,並且內嵌的Xposed屬於重打包須要另外添加模塊。若是已經安裝了Xposed,在Root權限下經過修改Xposed的配置文件來進行激活會更合適。

最後感謝MindMac 對AVL Team的關心和幫助,用戶可使用AVL Pro對此類工具進行檢測。

附:網友MindMac提供的demo來源:https://github.com/MindMac/XposedAutomation

轉載請註明來自 http://blog.avlyun.com/

相關文章
相關標籤/搜索