分析思路

  • 关注点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. MT【218】交点个数

    若函数$f(x)=x^3+ax^2+bx+c$有极值点$x_1,x_2$,且$f(x_1)=x_1$,则关于$x$的方程$3(f(x))^2+2af(x)+b=0$的不同实数根个数为_____ 注意到 ...

  2. 洛谷P3868 [TJOI2009]猜数字(中国剩余定理,扩展欧几里德)

    洛谷题目传送门 90分WA第二个点的看过来! 简要介绍一下中国剩余定理 中国剩余定理,就是用来求解这样的问题: 假定以下出现数都是自然数,对于一个线性同余方程组(其中\(\forall i,j\in[ ...

  3. PKUWC 2019 记

     “连剑都插在了地上,可是我不应该就这么承认失败,想要到达山顶的人,不应该在山脚下就倒下啊” Day -5 (2019.1.15) 学考结束了,文化课暂停一段.早上飞机前往中山纪念中学.纪中好大呀,果 ...

  4. linux动态库与静态库混合连接

      1, 在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库.使用方式为: gcc test.cpp -L. -ltestlib 如果当前目录有 ...

  5. bracketed-paste-magic:zle:41: not enough arguments for -U

    原因是zsh的插件出问题了,解法方法如下: 把 ~/.oh-my-zsh/lib/misc.zsh 文件中的第一段 if 注释掉 OK 啦 # ]]; then # for d in $fpath; ...

  6. ZOJ_3950_How Many Nines 解题报告及如何对程序进行测试修改

    The 17th Zhejiang University Programming Contest Sponsored by TuSimple Solution: #include <stdio. ...

  7. nginx 配置后网站图片加载出来一半或者不出来

    项目进行nginx反向代理后发现图片和js.css等加载很慢,甚至加载不出来. 然后查看nginx的log,发现错误如下: 2016/06/30 15:31:12 [crit] 29465#0: *1 ...

  8. SQL Server利用XML找字符串相同部分

    DECLARE @a NVARCHAR(100)= '01,02,04,05,07'; DECLARE @b NVARCHAR(100)= '01,03,04,05,06'; WITH    a1   ...

  9. Prometheus MySQL_exporter

    MySQL Exporter mysqld_exporter是用来搜集mysql的性能指标的,适用于mysql5.5及其以上版本 程序安装 下载地址:https://prometheus.io/dow ...

  10. uwsgi多进程配合kafka-python消息无法发送

    在工作中,使用uwsgi部署项目,其中uwsgi设置为多进程,并且python中使用了kafka-python模块作为生产者不断产生数据,但上线不久后几乎所有的生产者消息都报:KafkaTimeout ...