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实时防御,帮助你们摆脱病毒营造良好手机环境!

相关文章
相关标签/搜索