点击蓝字,关注我们
日期:2022.06.02
作者:Zero
介绍:一份靠谱的移动安全测试环境搭建指南。
1、 前言
由于谷歌旗下的 Pixel
系列手机因其开放性以及对自家安卓系统的兼容非常好,所以很多移动安全人员都喜欢用该系列的手机作为测试机,进行日常应用测试及脱壳分析等工作,本文为刚接触移动安全的朋友提供一份靠谱的基础环境构建指南系列之Ⅲ-APP
违规上报信息检测。
日常工作中,偶尔会碰到应用合规性检查的需求,比如在未告知用户情况下收集IMEI
、已安装应用列表
等个人隐私信息,目前最普遍的方式就是抓取APP
数据包,检测数据包中是否存在上述隐私信息,由于违规上报信息检测不需要对数据包进行修改、拦截操作,只需要有搜索过滤功能即可满足需求,因此使用BurpSuite
等工具多少是有点大材小用,使用一个带有网页展示的代理服务器再适合不过了。本文将在上篇文章基础上进行违规上报信息检测的环境搭建,效果如下图所示。
2、 正文
相关信息:
-
手机型号:Google Pixel 2 无锁版
-
官方镜像版本:11.0.0 (RP1A.201005.004.A1, Dec 2020)
-
Magisk:v23.0
-
MagiskTrustUserCerts:v0.4.1
-
Drony:v1.3.154
-
Ubuntu:16.04.3 LTS
-
Node.js:v16.14.2
-
NPM:8.5.0
-
AnyProxy:4.1.3
2.1 Node.js 及 NPM 安装
操作系统安装过程略,这次的主角 AnyProxy
是一个由NodeJS
编写的开放式 HTTP
代理服务器,所以使用前需要先安装NodeJS
环境,Windows
、Linux
系统均支持,以Linux
系统为例,安装具体步骤如下:
首先添加NodeJS
官方仓库信息。
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
仓库添加并更新完成后,就可以方便的使用apt
命令安装NodeJS
、NPM
。
apt-get install -y nodejs
安装完成后,查看一下是否正常。
# 查看 NodeJS 版本
➜ x nodejs --version
v16.14.2
# 查看 NPM 版本
➜ x npm --version
8.5.0
为了后续使用方便,也可以安装一下编译环境,编译C、C++
所需要的软件包都会被安装(非必须)。
apt install build-essential
2.2 AnyProxy 安装及使用
NodeJS
、NPM
安装好后,接下来安装AnyProxy
。
npm install -g anyproxy
同样,安装完成后,查看一下是否正常。
# 查看 AnyProxy 版本
➜ x anyproxy -V
4.1.3
# 以 1080 端口启动 AnyProxy
➜ x anyproxy --port 1080
[AnyProxy Log][2022-04-22 16:08:30]: Http proxy started on port 1080
[AnyProxy Log][2022-04-22 16:08:30]: web interface started on port 8002
此时可以浏览器打开8002
端口,访问网页控制台。
此时,网页中没有任何数据,在测试机中设置好代理信息,打开应用进行测试,可以发现网页时实时更新出了流量数据。
可以点击感兴趣的请求,以查看请求包、响应包的详细信息。
此时只能抓取HTTP
的请求,HTTPS
的请求需要先生成CA
证书,并安装在测试机中,点击左侧RootCA
选项后点击按钮生成证书。
稍等片刻会出现二维码,可以使用手机扫码下载证书,也可以点击Download
按钮下载证书后手动传输至测试机进行安装。
# 除了可以点击网页生成证书外,也可以通过命令生成
anyproxy-ca
高版本安卓需要先下载文件,之后自行前往设置 > 安全 > 加密与凭据 > 安装证书
处手动安装证书。
由于AnyProxy
默认不处理HTTPS
,需要在启动时使用--intercept
参数,以解析HTTPS
请求。
# 解析 HTTPS 请求方式启动
anyproxy --intercept --port 1080
重新启动AnyProxy
后,此处以某商店应用为例,打开应用进行测试。
可以看到HTTPS
的数据包也已经正常显示,其中可以找到上传测试机信息的请求。
2.3 APP 违规上报信息检测
检测应用是否在未告知用户情况下收集IMEI
、已安装应用列表
等个人隐私信息,目前最普遍的方式就是抓取APP
数据包,检测数据包中是否存在上述隐私信息,因此对代理中列出的数据包内容进行关键词搜索过滤即可发现(数据被加密的情况不适应),点击左侧的Filter
选项,可以输入关键词进行搜索。
经过测试,官方版本的AnyProxy
搜索过滤的粒度略粗,需要自行调整下代码以满足功能需求。
3、 结语
至此,人工进行APP
违规上报信息检测的环境已构建完成,下篇文章会将修改后的版本以及自动化检测的程序分享出来,需要的朋友可以点个关注,防止迷路!
如果本文对您有帮助,来个点赞👍、在看✡︎就是对我们莫大的鼓励。
推荐阅读
01-21 特稿
03-17 特稿
免责声明:本文仅供安全研究与讨论之用,严禁用于非法用途,违者后果自负。
宸极实验室隶属山东九州信泰信息科技股份有限公司,致力于网络安全对抗技术研究,是山东省发改委认定的“网络安全对抗关键技术山东省工程实验室”。团队成员专注于 Web 安全、移动安全、红蓝对抗等领域,善于利用黑客视角发现和解决网络安全问题。
团队自成立以来,圆满完成了多次国家级、省部级重要网络安全保障和攻防演习活动,并积极参加各类网络安全竞赛,屡获殊荣。
对信息安全感兴趣的小伙伴欢迎加入宸极实验室,关注公众号,回复『招聘』,获取联系方式。
原文始发于微信公众号(宸极实验室):『杂项』移动安全测试环境搭建(3)— APP违规上报信息检测
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论