Xposed惡意插件

Post by 南山android

安天移動安全團隊最近發現了一個使用Xposed惡意插件來實現隱藏和假裝本身的惡意樣本,並經過HOOK Activity相關的系統API,來獲取重要Activity上的用戶輸入,如支付寶、手機銀行、QQ等登陸界面的帳號和密碼。數據庫

Xposed框架是一款能夠在不修改APK的狀況下影響程序運行(修改系統)的框架服務,基於它能夠製做出許多功能強大的模塊,且在功能不衝突的狀況下同時運做。(需root權限)api

1、隱藏本身。安全

HOOK–android.app.ApplicationPackageManager->getInstalledApplicationsapp

HOOK–android.app.ApplicationPackageManager->queryIntentActivities框架

HOOK–android.app.ActivityManager->getRunningServicesspa

HOOK–android.app.ActivityManager->getRunningAppProcesses插件

在上述api調用完成後,即afterHookedMethod中,將過濾下列相關信息。orm

  1. 應用自己的信息」com.android.os.backup」;支付寶

  2. 提權應用的信息」eu.chainfire.supersu」、」com.koushikdutta.superuser」、」com.qihoo.permroot」;

  3. xposed框架應用」de.robv.android.xposed.installer」;

如getInstalledApplications被hook後的處理方法:

2、假裝成系統應用。

HOOK–getPackagesForUid

在經過getPackagesForUid獲取指定id的包名時,hook該api方法後,將」com.android.os.back」替換成」android」,假裝成系統應用。

3、干涉應用權限的檢查。

HOOK–android.app.ApplicationPackageManager->checkPermission

HOOK–android.app.ContextImpl->checkPermission

hook了兩處權限檢查,只要是qihao360的權限檢查,則一概攔截,而對該應用自己的權限檢查,則所有放行。

4、獲取Activity中EditText輸入的內容。

HOOK–android.widget.TextView->setInputType

HOOK–android.app.Activity->onPause

hook住setInputType方法後,將觸發這個操做的類名保存下來。

HOOK住Activity->onPause方法後,在確認有EditText輸入操做發生後,將會獲取該Activity所屬於的包名、標題等信息,在進一步的操做中會繼續獲取EditText中的輸入內容和Hint內容,而後保存到數據庫,等待上傳。

經過這種方式,能夠獲取如支付寶、手機銀行、QQ等重要應用中的帳戶信息。

該樣本利用Xposed惡意插件實現隱藏、假裝,並竊取重要Activity的輸入信息,達到了以低成本低開發難度來實現更多高難度的技術及行爲。用戶能夠下載安裝AVL Pro對該類木馬進行檢測和查殺,AVL Pro實時防禦,幫助你們擺脫病毒營造良好手機環境!

相關文章
相關標籤/搜索