freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

记一次某安卓APP渗透测试解决抓包方案
2024-08-17 10:01:21

一、某安卓APP渗透测试背景

某次接到公司活需要对一款安卓APP产品进行渗透测试,渗透测试服务是一种模拟真实攻击手法,评估目标系统和应用程序的安全性,并提供安全建议和修复方案的服务。一般情况下使用安卓模拟器 + 抓包工具或者真机(需要root权限) + 抓包工具,但是在测试过程中遇到安卓APP双向认证而导致无法抓取数据包问题,后面通过不断调试环境成功解决了该问题,并继续进行下一步渗透。

二、某安卓APP抓包遇到的问题

1、某加速平台的安卓APP产品是VPN形态,第一次遇到登录安卓APP环境是VPN产品,测试该产品还做了服务端与客户端的双向校验。正常情况下,用手机登录安卓APP情况如下图所示:

1723857862_66bffbc6513a1ec0a990a.png!small

1723859435_66c001ebcbac473ecac77.png!small

2、用Burpsuite抓包测试遇到的相关问题:

由于该产品安卓APP不信任第三方证书的问题,它只信任自己的证书,所以会弹出证书信任的报错,且用Burpsuite抓包测试没法正常登录APP。测试用夜神模拟器在不设置代理情况下,先登录APP,然后再设置代理抓包,APP也会出现报错“null cannot be cast to non-null type kotlin.collections.List<*>”,无法获取到数据包的返回包。(如下图)

1723373457_66b8979133971f029d832.png!small

1723858255_66bffd4fe8c7a2b32ffb4.png!small

3、测试安卓模拟器版本问题是否影响APP正常登录:

在正常情况下,夜神模拟器Android12版本和MuMu模拟器12版本,在不配置代理情况下支持正常登录测试安卓APP。网络正常不设置代理,夜神模拟器Android7 64bit和Android7 32bit都不支持APP正常登录,并出现报错“Handshake failed”。(如图)

1723858398_66bffdde5b9a98854adcd.png!small

后面使用Proxifier + Burpsuite双层代理抓包测试方案,APP登录一样出现报错信息,且无法抓到正常数据包,报错信息如下:”java.security.cert.CertPathValidatorException:Trust anchor for certification...”(如下图)

1723858566_66bffe861216fde3bc504.png!small

三、某安卓APP抓包测试解决全过程(调试环境)

  • 准备条件:

a)模拟器WiFi修改为本地电脑IP代理,端口与burpsuite对应。

b)导入系统证书(在安卓7.0以上的系统版本中,app默认不信任用户安装的证书,只默认信任系统证书,需要将burpsuite证书导入在系统证书内)。

注意:如果没有证书但设置了wifi代理能够抓取http的包,但是对于https的包无法抓取,因为流量出去但是无法代理也找不到目标服务器,所以直接在系统设置-安全-从SD卡安装证书安装的是用户证书,而不是系统证书。

  • 调试环境过程:
  1. 准备Burpsuite证书

打开Burpsuite ,Proxy>options>import/ export CA CERTIFICATE,选择第一个一路点击下去,导出Burp证书,导出格式为burp.der。

1723373652_66b89854d691104834d87.png!small

直接用kali的工具进行转换证书格式,并重命名burp.pem文件为9a5

# 移动安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者