秘密花园
概述母包结构
当我们拿到样本的时候查看内部的代码结构,可以判定这里面被里面插入广告sdk和几个莫名其妙的so以及一些加密的文件,当然我们首先就是需要了解每个文件都是用来干嘛,哪些代码块是恶意插入需要我们重点分析的,还有apk内携带的so文件以及其他文件是用来做什么的都是需要我们能结合apk本身一步步动静结合的去分析。
样本的主要行为,通过我们沙箱日志分析发现,样本主要是通过PopupWindows弹框广告,释放自身携带的加密so,获取系统root权限,检测模拟器,此病毒入侵手机后破坏性极强,不仅删除各种Root工具底层模块,还禁用安全软件,导致手机应用异常崩溃。甚至在获取到Root权限后卸载各种安全软件,以至于其他Root工具很难再得到权限,彻底清除病毒变得十分麻烦。
其中恶意代码结构如下:
eu:被加密的java文件,广告加载代码和弹框关键代码部分;
sk:模拟器检测文件;
frsbr:加密的so文件,也是主要的恶意elf模块
母包中被插入的恶意代码模块:
、
其中母包中恶意代码块需要用到的注册清单如下:
在这份清单中我们可以清楚的看到给类服务广播的启动方式,以及注册的activity和广告商,通过清单中的这些入口我们就可以按图索骥进一步深入了解病毒的具体行为属性。
母包行为解剖
主程序入口:
com.swifty.fillcolor.controller.main.MainActivity
MainActivity启动入口
、
下面我先从java代码部分进行下一步,由启动入口可知SdkInitialize是个突破口。
通过分析.class public Lcom/kjiklzskyc/cn/SdkInitialize;这部分代码可以看出这里是定义恶意程序需要调用到的一些属性和方法。
这里面所有调用的路径方法名等都是被加密了
以上的代码的主要作用主要是定义一些请求的方法参数、用安装的apk信息、推广下载的apk渠道信息、监控用户的安装动作。
这段代码模块中启动了一个重要的service
ExitService.