分析思路
-
关注点1:AndroidManifest.xml是Android应用的入口文件,包含有APP服务的权限、广播和启动位置。
-
关注点2:涉及到修改系统的函数,setWifiEnabled()、InstallPackage()。
1.样本概况
在Android 7.0的系统里捕获到这个APK包。但不确定是否是病毒。通过Android模拟器安装这个APK,确认这个APK只适用于android 4.5以上的系统才可运行。然后通过静态反编译技术对APK分析发现该APP可以变更手机Wifi状态和安装APK包。
1.1 样本信息
病毒名称:ManagedProvisioning.apk
MD5:7adda1698e55d0904c96cb7c1e2a9f38
版本信息:Ver:7.0(24) SDK:24 TargetSDK:24
病毒主要行为:变更WIFI状态,安装APK包
1.2 测试环境及工具
Android版本:Android 4.0、Android 4.5
分析工具:AndroidKiller、JEB
2.具体行为分析
2.1 主要行为
主要行为结构图
2.1.1 恶意程序对用户造成的危害
WifiInfo变更Wifi状态
代码中通过setWifiEnabled()函数修改Wifi状态
图1
InstallPackageTask安装APK包
代码中通过installPackage()函数修改安装本地的APK
图2
2.1.2 恶意程序在Androidmanifest.xml中注册的恶意组件
(1)权限相关()
// 允许应用程序安装android包
android.permission.INSTALL_PACKAGES
// 允许应用程序启用或停用其他应用程序组件
android.permission.CHANGE_COMPONENT_ENABLED_STATE
// 允许应用程序更改WIFI状态
android.permission.CHANGE_WIFI_STATE
// 允许应用程序将手机系统恢复为出厂设置
android.permission.MASTER_CLEAR
// 开机时自动启动
android.permission.RECEIVE_BOOT_COMPLETED
// 允许应用程序修改系统设置方面的数据
android.permission.WRITE_SETTINGS
// 允许应用程序修改系统的安全设置数据
android.permission.WRITE_SECURE_SETTINGS
(2)服务/广播
创建服务名为:
1)ProfileOwnerProvisioningService
2)DeviceOwnerProvisioningService
2.2 恶意代码分析
2.2.1 恶意程序的代码分析片段
AddWifiNetworkTask通过setWifiEnabled()函数变更Wifi状态
图1
WifiInfo通过setWifiEnabled()函数变更Wifi状态
图2
WifiInfo获取Wifi安全类型、Wifi密码
图3
InstallPackageTask通过InstallPackage()函数安装APK包
图4
DownloadPackageTask保存的下载路径为
/download_cache/managed_privisioning_downloaded_app_XXXX.apk
图5
3.总结
鉴于该APK有HUAWEI公司的签名,且功能用于设置Wifi状态与安装APK包,无法判断是否为恶意病毒。