首页
社区
课程
招聘
[原创]记一次Android后门分析实战
发表于: 2018-12-14 20:26 7389

[原创]记一次Android后门分析实战

2018-12-14 20:26
7389

在分析某android设备时,偶然发现一处后门,经查证,应该是360的雷电OS中的一个组件,顺便分析一波

在系统里偶然发现一个system进程如下:


将其应用拖出来,解压之后目录如下:


这里主要分析ChiMaster.apk和chimahelper.apk

先分析其Manifest.xml文件:


可以看到其注册了广播BootReceiver监听开机android.intent.action.BOOT_COMPLETED,猜其是开机自启,并启动恶意服务,跟进该广播:


其作用是启动一个action为com.chima.android.policy.IPolicyService的服务,查看Manifest可知,该服务对应的是DaemonService,跟进该服务,找到其onCreate函数:


其中除了正常的初始化流程之外,还有一个a.a函数,跟进下该函数,发现该函数的作用是初始化了NewPolicyService这个类,如下:


继续跟进NewPolicyService这个类:


发现是IPolicyService的一个实现,我们看下IPolicyService,发现其是一个AIDL接口,并提供诸多高危函数:



而回到DaemonService,发现如下:


并通过onBind进行返回:


因此可以确定,DaemonService对外提供服务,通过IPolicyService定义的AIDL接口进行,而真正的实现函数在NewPolicyService这个类中,这里我们分析其中的两个函数executeCmdInShell和forceStopPackage

原本以为这些接口可以随意利用提权,结果发现了签名校验函数


跟进如下:


可以看到获取了调用者的Uid,v0是签名校验成功与否的标志位,该函数通过反射的方式调用了checkSignPermissionByAPI,并将调用接口的名称和调用者的uid传入了进去,直接找到checkSignPermissionByAPI的实现


经过重重调用,最终定位到了其签名白名单


因此第三方app无法调用,因此也无法提权,这里我做了下验证:

果然是签名校验失败:


从命名来看应该是强制关停某应用的,跟进其实现,这里中间绕过了一些细节:


可以看到是通过反射了ActivityManager中的forceStopPackage函数来实现的,这个只是一个代表,其中很多接口都是反射系统接口实现的

该接口从命名来看是执行shell命令的,跟进关键部分:


继续跟进,中间省略几处跳转,最终跟到了下面,v6_1是最终构造的参数,c是一个OutputStream


这里困惑了,执行shell命令为何会向OutputStream中写入?我们需要跟进这个c的赋值处:


这里我理解了,是一个本地的socket,执行shell命令的是一个native程序,通过localsocket进行通信,继续跟进通信的this.b的赋值处


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2018-12-15 13:45 被cloudstack编辑 ,原因:
上传的附件:
收藏
免费 4
支持
分享
最新回复 (10)
雪    币: 152
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
楼主的技术不错……学习一下……
2018-12-14 22:08
2
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
留着慢慢看,谢谢分享
2018-12-15 00:52
2
雪    币: 182
活跃值: (75)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
可以.
最后于 2018-12-15 10:22 被Toseven编辑 ,原因: 纠正文字
2018-12-15 10:09
2
雪    币: 324
活跃值: (2834)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可以找到他签名验证通过的软件,签名也是可以伪造
2018-12-15 10:38
2
雪    币: 47147
活跃值: (20450)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
6
另一个重复的主题删除了,感谢分享!
2018-12-15 10:50
1
雪    币: 870
活跃值: (207)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
谢谢分享 good
2018-12-15 11:41
1
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢分享!
2018-12-16 07:29
1
雪    币: 506
活跃值: (185)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
9
手动点赞
2018-12-17 11:04
2
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
10
666,感谢楼主!
2018-12-17 18:32
1
雪    币: 2714
活跃值: (1611)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
666
2018-12-21 16:13
1
游客
登录 | 注册 方可回帖
返回
//