首页
社区
课程
招聘
[原创]Android APP漏洞之战(15)——非root环境下的抓包、脱壳、Hook
发表于: 2022-12-16 15:40 136174

[原创]Android APP漏洞之战(15)——非root环境下的抓包、脱壳、Hook

2022-12-16 15:40
136174

近年来随着手机性能的不断增强,逆向分析过程中的三个基本技能:抓包、脱壳、Hook,研究测试人员使用比较多的便是Google系列机型,例如nexus系列、pixel系列,而国产的手机小米、一加也成为热门的测试机,这一切都很多程度上由于手机方便root,root作为众多逆向方法的基础,导致一个手机能否root成为选择的先决条件之一。针对非root手机,当前也存在着相应的解决方案,本文整合网上方法,实现非root环境下的抓包、脱壳、Hook。

本文第二节简单介绍虚拟机基本知识

本文第三节实现脱壳方案

本文第四节实现hook方案

本文第五节实现抓包方案

在了解手机虚拟机前,我们先看看虚拟化技术和容器化,Android上虚拟化技术应用到VitualBox、BlackBox等上,具体架构如下所示:

传统虚拟机:

虚拟化容器:

两者之前的差异:

每个虚拟化容器相当于一个沙盒,容器与容器之间互不干扰;虚拟化容器作为一个应用级别抽象(进程级),而虚拟机是作为操作系统级别。

而手机虚拟机不断的发展,现在的手机性能完全可以支持手机上运行多个虚拟机,因此虚拟机的研究也在快速发展,比较有代表的就是光速虚拟机、VMOS虚拟机、X8虚拟机等等,当然这些虚拟机也各有差异,下面就让我们简略了解各虚拟机的特点吧。

这个虚拟机就是一个简易的沙箱,就连官网也是这样描述的:

image-20221216143421932

沙箱机制的原理主要基于Linux系统的UID/GID机制,Android对传统的Linux的UID/GID机制进行了修改。在 Linux 中,一个用户 ID 识别一个给定用户;在 Android 上,一个用户 ID 识别一个应用程序。应用程序在安装时被分配用户 ID,应用程序在设备上的存续期间内,用户 ID 保持不变。其沙箱原理和VM技术类似,具体可以参考VitualBox原理,当然详细的技术原理,大家可以自行去研究。

VMOS虚拟机官网并未给出具体实现的技术细节,经过调研应该是采用了类似anbox技术,anbox技术是一种类似容器的实现方案,即Linux上运行Android系统,通过容器的方式运行,通俗的理解就是Android系统上可以运行Linux,而Linux内核通过Linux命名空间以容器方式运行Android虚拟机,

image-20221216142004548

这里我们看一个Anbox的基本原理图:

image-20221216140319587

上图中可以看出 Anbox Session Manager做了三件事情:

Anbox Container Manager则是和容器docker类似,来运行Android的镜像,因此Anbox将Android应用放入到容器中,无需直接访问硬件或数据,所有的硬件访问通过主机上的 anbox 守护进程,由于是直接使用本机的Linux内核,不是通过虚拟化所以导致性能极大提升。

根据光速虚拟机官网的描述,光速虚拟机是通过Android来实现Android,在安卓用户态实现了一个完整的安卓内核和安卓硬件抽象层

从图中可以看出,光速通过代理虚拟化出了一个完完整的内核抽象层,在Android 内核基础上完整实现了内存管理,进程管理,文件系统和设备管理等安卓内核功能,这样就可以使得其内部运行不依赖手机内核。

综合三类虚拟机进行对比,具体的效果如下:

这里也收集了网上用户的使用评价:

手机虚拟机VMOS + Magisk+反射大师

实验手机:华为Mate10(非root)

VMOS可以提供不同版本的Android系统虚拟机,你可以根据需求来使用,这里我们拿Android7.1版来举例实操

开启虚拟机已经支持了Xposed和root权限,我们再安装上wifiadb,就可以十分方便的进行逆向工作了

image-20221020112024592

我们测试一下root权限

image-20221020112322217

然后这里我们使用DITOR的脱壳模块进行快速脱壳

打开模块,我们可以选择动态注入就是Xposed,以及此模块还支持frida注入,但是虚拟机不支持frida,这里我们就选择动态注入

image-20221020112203767

这里我们选择需要脱壳的目标应用,这里就选第一个

image-20221020112749115

image-20221020112810032

image-20221020112840431

然后我们把保存的dex打开

image-20221020112930742

成功的脱壳,这样是不是脱壳工作变得十分简单了

手机虚拟机(光速)+Magisk+Xposed

实验手机:华为Mate10(非root)

这里我们再换一个虚拟机来操作,上面的VMOS其实已经实现的hook操作

我们可以安装手机虚拟机,例如光遇虚拟机,然后在虚拟机中安装Magisk,安装Xposed,这样我们就可以使用前面功能,还可以应对更多场景

image-20221016193759059

image-20221016193834221

这样是不是一些有Magisk需求的朋友也可以快速的进行使用了,这里我们就直接使用Lsposed,进入仓库选择一个模块

image-20221216172909835

我们直接安装完成,然后再下载某乎应用,我们来测试一下hook效果

首先我们在真机上下载某乎应用,发现每次进去都会有广告:

image-20221216173049242

我们进入虚拟机,然后打开会发现加载知了模块

image-20221216173211733

然后我们进某乎的设置,进行开启模块,这个时候就会发现没有广告了,比如加入标题提示:

Hook前:

image-20221216173609768

Hook后:

image-20221216173656004

是不是感觉Hook功能又好用起来了呢

很多朋友使用抓包工具,比如Fiddler、Charles、Burpsuit等,我们都知道在Android7.0后,系统只信任根目录下的证书,而以往用户目录下的证书不可信,导致之前的https流量无法抓取,当然针对高版本的Android,不少用户采用抓包应用证书移植到手机的根目录下,比如常用的MoveCertificate模块等,但是这些都基本针对root环境的手机比较容易操作,但是针对非root环境的手机就不是很容易操作了,本文主要讲述网络上另一种非root环境抓包的思路:

VMOS Pro+小黄鸟HttpCanary+MT管理器 实现非root环境下抓包

VMOS Pro+小黄鸟HttpCanary+MT管理器+QtScrcpy

实验手机:华为Mate10(非root)

这些工具都上传过知识星球:安全后厨,需要朋友前往星球自取

(1)真机安装小黄鸟HttpCanay和安卓虚拟机Vmos Pro

这里我们使用投屏软件QtScrcpy来记录本次实验

image-20221208120524937

image-20221208120650953

(2)安装好小黄鸟,在小黄鸟里的设置中,目标应用-指定为VMOSPro

image-20221208120801527

(3)可以手机安装证书,SSL证书设置-选择导出根证书,类型System Trusted (.0); 导出的证书储存路径为:内部储存/HttpCanary/cert/

image-20221208120901930

首次没有安装证书的,可能需要安装一下证书,这里就直接安装就可以了,安装后导出证书

image-20221208121134998

image-20221208121149012

(4)打开虚拟机VMOSPro,新建一个虚拟机,这里可以使用Android7极客版,然后给root权限

image-20221208121623860

(5)导入你要抓包的目标APP(或者apk安装包)+xxxxx.0格式的证书(这个证书就是第3步获取的证书);打开MT文件管理器,刚刚导入的证书自动保存在虚拟机的VMOSfiletransferstatio目录下,将其复制到虚拟机的系统内:/system/etc/security/cacerts/目录下即可

image-20221208121725440

并在虚拟机中安装MT管理器,并打开,并移动证书到右边

image-20221208121937325

(6)在vmospro里安装好小黄鸟,打开,点击开始抓包,会提示安装CA证书,根据提示安装即可,会让你设置锁屏密码

image-20221208122102503

(9)返回真机启动小黄鸟,注意是在真机里抓包,而不是在vmosPRO虚拟机里抓包!!目标应用-设置VMOS-开启抓包 返回虚拟机-启动目标APP 即可在真机抓包了

这里我们虚拟机设置为目标APP为浏览器,这里你可以设置你需要抓包的应用

image-20221208122254465

然后真机中选择目标应用为VMOSPRO开始抓包

image-20221208122425563

image-20221208122537987

image-20221208122728168

image-20221208122954403

可以发现就成功的抓包了,当然我们结合VMOSPro中的Xposed,还可以安装JustMe,可以绕过一般的SSLpining

本文演示了非root环境下的抓包、脱壳与Hook,这里只是给非root环境手机逆向的一种方案,经过测试实际使用还未达到root环境真机的效能,感兴趣的大家可以自行的探索了,相应的可以关注github:

WindXaa

 
 
 
 
 
 
 
 
 
 
 

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2023-2-23 13:42 被随风而行aa编辑 ,原因:
收藏
免费 16
支持
分享
最新回复 (18)
雪    币: 4583
活跃值: (6836)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2

精的帖子,要坐沙发

最后于 2022-12-16 16:52 被huangjw编辑 ,原因:
2022-12-16 16:52
0
雪    币: 7284
活跃值: (22080)
能力值: ( LV12,RANK:550 )
在线值:
发帖
回帖
粉丝
3
huangjw 精的帖子,要坐沙发
感谢支持
2022-12-17 11:53
0
雪    币: 859
活跃值: (945)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
vmos 数字壳 闪退 咋解啊
2022-12-19 12:49
0
雪    币: 7284
活跃值: (22080)
能力值: ( LV12,RANK:550 )
在线值:
发帖
回帖
粉丝
5
TrumpWY vmos 数字壳 闪退 咋解啊
这只是非root环境下的多种逆向手段的一种思路,要是针对数字壳还是用其他方式更好一点
2022-12-19 13:23
0
雪    币: 859
活跃值: (945)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
随风而行aa 这只是非root环境下的多种逆向手段的一种思路,要是针对数字壳还是用其他方式更好一点
那看来只能上脱壳机了啊
2022-12-26 19:31
0
雪    币: 4446
活跃值: (3950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这些虚拟化有没有开源代码,想学学他们怎么实现的
2022-12-29 19:52
0
雪    币: 7284
活跃值: (22080)
能力值: ( LV12,RANK:550 )
在线值:
发帖
回帖
粉丝
8
guijingwen 这些虚拟化有没有开源代码,想学学他们怎么实现的
一般向这种虚拟机基本都不是开源哦
2022-12-30 13:30
0
雪    币: 2
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
拼夕夕使用的LongLink进行的数据传输怎么弄?
2023-1-3 15:42
0
雪    币: 3021
活跃值: (483)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
收费的吗?有联系方式不
2023-1-15 16:00
0
雪    币: 24
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
知识星球4个月不到就过期
2023-1-24 23:05
0
雪    币: 7284
活跃值: (22080)
能力值: ( LV12,RANK:550 )
在线值:
发帖
回帖
粉丝
13
mb_dskwbnui 知识星球4个月不到就过期[em_1]
没有 只是提示,没办法群通知是全部通知的,不过有问题可以直接反馈
2023-1-27 18:04
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
14
支持支持,
2023-4-20 00:34
0
雪    币: 690
活跃值: (1841)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
15
请教下老大(6)在vmospro里安装好小黄鸟,打开,点击开始抓包,会提示安装CA证书,根据提示安装即可,会让你设置锁屏密码,第六步必须安装么,是不是不用安装也是可以在真机里用小黄鸟抓包的?
2023-4-25 14:30
0
雪    币: 7284
活跃值: (22080)
能力值: ( LV12,RANK:550 )
在线值:
发帖
回帖
粉丝
16
daxia200N 请教下老大(6)在vmospro里安装好小黄鸟,打开,点击开始抓包,会提示安装CA证书,根据提示安装即可,会让你设置锁屏密码,第六步必须安装么,是不是不用安装也是可以在真机里用小黄鸟抓包的?
是的
2023-4-28 14:29
0
雪    币: 119
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
可惜,网易易盾的虚拟机检测技术完全屏蔽所有虚拟机
2023-5-8 17:34
0
雪    币: 107
活跃值: (134)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
大侠,棋牌app可以吗
2023-5-20 01:50
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
vmos pro开root要收费了现在
2023-12-25 10:40
0
游客
登录 | 注册 方可回帖
返回
//