对HUAWEI-ManagedProvisioning的一次不完整分析
分析思路
关注点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包,无法判断是否为恶意病毒。
对HUAWEI-ManagedProvisioning的一次不完整分析的更多相关文章
- CSDN泄漏数据完整分析
CSDN泄漏数据完整分析 2011-12-22 08:59:26 53391 次阅读 0 条评论 感谢mayee的投递 昨天CSDN的用户数据库被人在网上公布.我下载分析了下里面的数据,得出了一些很有 ...
- Springboot学习05-自定义错误页面完整分析
Springboot学习06-自定义错误页面完整分析 前言 接着上一篇博客,继续分析Springboot错误页面问题 正文 1-自定义浏览器错误页面(只要将自己的错误页面放在指定的路径下即可) 1-1 ...
- Xshell高级后门完整分析报告
Xshell高级后门完整分析报告 from:https://security.tencent.com/index.php/blog/msg/120 1. 前言 近日,Xshell官方发布公告称其软件中 ...
- Python 国家地震台网中心地震数据集完整分析、pyecharts、plotly,分析强震次数、震级分布、震级震源关系、发生位置、发生时段、最大震级、平均震级
注意,本篇内容根据我老师布置的数据分析作业展开.请勿抄袭,后果自负! 前情提要 编写这篇文章是为了记录自己是如何分析地震数据集,使用模块,克服一系列 \(bug\) 的过程.如果你是 \(python ...
- 【原创】有关Silverlight DataGrid双击事件的分析 完整分析 代码与示例
公司项目用的silverlight,而且silverlight一些技术 资料比较少.所以分享出来 给大家参考参考. 有关Silverlight中DataGrid 双击事件 的代码 如下: 1. 前台x ...
- OpenLayers 项目完整分析——(二)源代码总体结构分析
转自:http://www.cnblogs.com/lzlynn/archive/2008/07/29/1255848.html 二)源代码总体结构分析 通过前面的项目介绍,我们大概已经知道Openl ...
- 记录一下通过分析Tomcat内部jar包找出request.getReader()所用的字符编码在哪里设置和起效的完整分析流程
前言: 之前写Java服务端处理POST请求时遇到了请求体转换成字符流所用编码来源的疑惑,在doPost方法里通过request.getReader()获取的BufferedReader对象内部的 R ...
- Xshell高级后门完整分析报告(ZT)
1. 前言 近日,Xshell官方发布公告称其软件中存在后门.我们的实习生同学对该后门进行了详细的分析,确认这是一个具备恶意代码下载执行和数据回传等能力的高级木马. 后门代码存在于nssock2.dl ...
- 必应缤纷桌面的必应助手-软件分析和用户市场需求之-----二.体验部分 Ryan Mao (毛宇11061171) (完整版本请参考团队博客)
<必应缤纷桌面的必应助手> 2.体验部分 Ryan Mao (毛宇11061171) (完整分析报告请参考团队博客http://www.cnblogs.com/Z-XML/) 我花了2天的 ...
随机推荐
- day26 单继承
继承是创建新类的一种方式,目的就为了减少代码.表达了子类是父类的关系,比如狗是动物,教授是老师一个类可以多个类继承,所有语言都是这样的一个类可以继承多个父类 ,只有python支持多继承子类可以找到父 ...
- MT【215】集合中元素个数
设$M=\{1,2,3\cdots,2010\}$,$A$是$M$的子集且满足条件:当$x\in A$时$15x\notin A$,则$A$中的元素的个数最多是______ 分析:由于$x,15x,( ...
- [转]GDB
gdb调试coredump文件 gcc -g main.c //在目标文件加入源代码的信息 gdb a.out (gdb) start //开始调试 (gdb) n //一条一条执行 (gdb) st ...
- 【题解】 bzoj3450 JoyOI1952 Easy (期望dp)
题面戳我 Solution 期望的题目真心不太会 定义状态\(f[i]\)表示到第\(i\)期望长度,\(dp[i]\)表示期望分数 如果上一步的持续\(o\)长度为\(L\),那么贡献是\(L^2\ ...
- 16 利用Zabbix完成windows监控
点击返回:自学Zabbix之路 16 利用Zabbix完成windows监控 1.安装zabbix_agentd 1.1.下载zabbix_agentd监控客户端软件安装包(windows操作系统客户 ...
- LCT模板(指针版)
本来是想做THUWC2017的泰勒展开xLCT题的-- 然后觉得数组写很麻烦-- 然后就决定挑战指针版-- 然后写得全是BUG-- 与BUG鏖战三千年后,有了这个指针版LCT板子! #include ...
- 部署kubernetes1.8.3高可用集群
Kubernetes作为容器应用的管理平台,通过对pod的运行状态进行监控,并且根据主机或容器失效的状态将新的pod调度到其他node上,实现了应用层的高可用. 针对kubernetes集群,高可用性 ...
- display position 和float的作用和关系
1.传统布局由这三者构成. 2.position设为absolute,那么display一定是block,因此对于span来说,就可以设置高和宽了. 3.position为relative ,那么fl ...
- poj 3683(2-SAT+SCC)
传送门:Problem 3683 https://www.cnblogs.com/violet-acmer/p/9769406.html 参考资料: [1]:挑战程序设计竞赛 题意: 有n场婚礼,每场 ...
- You are using safe update mode and you tried to update a table--mysql
SET SQL_SAFE_UPDATES = 0;delete from cms_article_data where id in(SELECT id FROM jeesite.cms_article ...