分析思路

  • 关注点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的一次不完整分析的更多相关文章

  1. CSDN泄漏数据完整分析

    CSDN泄漏数据完整分析 2011-12-22 08:59:26 53391 次阅读 0 条评论 感谢mayee的投递 昨天CSDN的用户数据库被人在网上公布.我下载分析了下里面的数据,得出了一些很有 ...

  2. Springboot学习05-自定义错误页面完整分析

    Springboot学习06-自定义错误页面完整分析 前言 接着上一篇博客,继续分析Springboot错误页面问题 正文 1-自定义浏览器错误页面(只要将自己的错误页面放在指定的路径下即可) 1-1 ...

  3. Xshell高级后门完整分析报告

    Xshell高级后门完整分析报告 from:https://security.tencent.com/index.php/blog/msg/120 1. 前言 近日,Xshell官方发布公告称其软件中 ...

  4. Python 国家地震台网中心地震数据集完整分析、pyecharts、plotly,分析强震次数、震级分布、震级震源关系、发生位置、发生时段、最大震级、平均震级

    注意,本篇内容根据我老师布置的数据分析作业展开.请勿抄袭,后果自负! 前情提要 编写这篇文章是为了记录自己是如何分析地震数据集,使用模块,克服一系列 \(bug\) 的过程.如果你是 \(python ...

  5. 【原创】有关Silverlight DataGrid双击事件的分析 完整分析 代码与示例

    公司项目用的silverlight,而且silverlight一些技术 资料比较少.所以分享出来 给大家参考参考. 有关Silverlight中DataGrid 双击事件 的代码 如下: 1. 前台x ...

  6. OpenLayers 项目完整分析——(二)源代码总体结构分析

    转自:http://www.cnblogs.com/lzlynn/archive/2008/07/29/1255848.html 二)源代码总体结构分析 通过前面的项目介绍,我们大概已经知道Openl ...

  7. 记录一下通过分析Tomcat内部jar包找出request.getReader()所用的字符编码在哪里设置和起效的完整分析流程

    前言: 之前写Java服务端处理POST请求时遇到了请求体转换成字符流所用编码来源的疑惑,在doPost方法里通过request.getReader()获取的BufferedReader对象内部的 R ...

  8. Xshell高级后门完整分析报告(ZT)

    1. 前言 近日,Xshell官方发布公告称其软件中存在后门.我们的实习生同学对该后门进行了详细的分析,确认这是一个具备恶意代码下载执行和数据回传等能力的高级木马. 后门代码存在于nssock2.dl ...

  9. 必应缤纷桌面的必应助手-软件分析和用户市场需求之-----二.体验部分 Ryan Mao (毛宇11061171) (完整版本请参考团队博客)

    <必应缤纷桌面的必应助手> 2.体验部分 Ryan Mao (毛宇11061171) (完整分析报告请参考团队博客http://www.cnblogs.com/Z-XML/) 我花了2天的 ...

随机推荐

  1. day11 filter函数

    场景模拟:我想判断某个列表里面的某个元素怎么怎么样 基础方法,如果需要判断多次则重复代码 ret = [] move_peole = ["alex","sb_wupeiq ...

  2. git push -f

    有的时候使用GIT工作时,会遇到一下这种问题, Pushing to git@github.com:519ebayproject/519ebayproject.git To git@github.co ...

  3. Git分支合并

    大致描述一下 上次为了解决bug新建了一个bugfix分支,并提交了c5(这个1,2,3,4,5具体的可能和图片对应不太一样,但是结构一样),下面就该把bugfix与master进行整合,整合之后就可 ...

  4. Stack Overflow:研究发现访问PHP和 Android的流量更可能来自低收入国家

    Stack Overflow 的数据科学家  David Robinson 发现,软件行业的分工让不同发达地区的程序员依赖于不同的编程语言.软件已经是一个全球性的行业,也有高端低端之分,最高端的是数据 ...

  5. Java -- JDBC 学习--使用 DBUtils

    Apache—DBUtils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdb ...

  6. RMQ求解->ST表

    ST表 这是一种神奇的数据结构,用nlogn的空间与nlongn的预处理得出O(1)的区间最大最小值(无修) 那么来看看这个核心数组:ST[][] ST[i][j]表示从i到i+(1<<j ...

  7. 【洛谷P2617】Dynamic Rankings

    题目大意:维护带修改区间 K 小值. 题解:学习到了树状数组套权值线段树. 主席树,即:可持久化权值线段树,支持维护静态区间的 K 小值问题,其核心思想是维护 N 棵权值线段树,每个线段树维护的是序列 ...

  8. list 删除一个元素的三种做法--python

    我们以一个字符串为元素类型的 list 为例,进行列表元素的删除: l = ['no surfing', 'flippers'] 法一:remove(val) >>> l.remov ...

  9. How the Bitcoin protocol actually works

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  10. python3简单实现微信爬虫

    Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...