App抓不到包?试试这个方法!

admin 2023年2月1日15:35:49评论369 views字数 1754阅读5分50秒阅读模式

点击关注公众号,知识干货及时送达👇

01


前言


在对app进行https抓包的过程中,总会遇到无法抓取有效数据包的情况,本篇文章就这个问题,收集并总结了一个解决方案,在这套环境配置完成之后可以为你后面的app抓包省下不少时间与麻烦。

02

借助burp抓Android7.0数据包


首先开启burp的代理

App抓不到包?试试这个方法!

配置Proxifier

App抓不到包?试试这个方法!

设置程序dnplayer.exe、Idvboxheadless.exe走刚刚设置的代理dnplayeri雷电模拟器启动程序和模拟器主程序;LdVBoxHeadless雷电模拟器对外网络协议走的都是这个程序。

App抓不到包?试试这个方法!

把burp证书导入雷电模拟器进行安装,证书使用.cer的格式进行安装,凭据用途选VPN和应用

App抓不到包?试试这个方法!

进入:/data/misc/user/0/cacerts-added这个文件夹下(该目录存储的是用户自己安装的证书文件)

App抓不到包?试试这个方法!

复制该.0文件(文件名可能是不一样的)

复制到系统证书目录/etc/security/cacerts下(re文件管理器需要挂载读写权限、模拟器中自带root管理授权即可)

首先选中该文件

App抓不到包?试试这个方法!

把选中的文件复制到/etc/security/cacerts下

App抓不到包?试试这个方法!

现在浏览器不会在弹出该网站的安全证书有问题了,并且很多app只允许在Android7.0以上能跑起来也能抓到包了。

App抓不到包?试试这个方法!

03


突破SSL Pinning


App抓不到包?试试这个方法!

什么是SSL Pinning?


App抓不到包?试试这个方法!

开发者预先把证书相关信息预置到App中再打包,这样在https通讯过程中App本地可以与服务器返回的CA证书可以做合法性校验,如果发现不一致,那么可能就是由于中间人攻击(比如Fiddler/Charles抓包工具),App客户端可以终止https链接。而在新版本的系统规则中,应用只信任系统默认预置的CA证书,如果是第三方安装的证书(比如Fiddler安装的)则不会信任。



App抓不到包?试试这个方法!

一句话总结SSL Pinning原理


App抓不到包?试试这个方法!

将服务端证书相关信息打包在客户端里,在进行通信时,对比客户端和服务端证书是否一致。



绕过SSL Pinning验证

下载JustTrustMe安装包并安装到手机里,在Xposted中激活并重启手机,就可以抓取手机中的流量。

SSLUnpinning2.0插件和JustMePlush插件当然也可以

App抓不到包?试试这个方法!

04


eCapture Https明文抓包


需要一台ROOT的设备,并且符合使用的系统内核版本,将设备与电脑进行连接 adb shell

然后 cd /data/local/tmp 

然后 ./ecapture tls 即可 

后续操作想要监听的APP就能实时返回Https数据

App抓不到包?试试这个方法!

05


绕过双向认证


当服务器启用了双向认证之后,除了客户端去验证服务器端的证书外,服务器也同时需要验证客户端的证书,也就是会要求客户端提供自己的证书,如果没有通过验证,则会拒绝连接,如果通过验证,服务器获得用户的公钥。

解决思路:

a.反编译找证书私钥

  • 先通过工具反编译APK文件,找到证书的文件。一般证书文件可能会放在assets或者res目录下可以直接搜索证书文件。

  • 证书文件格式后缀如:ct、cer、p12、pf等等。

  • 找到证书文件后打开它会发现是需要私钥的。拿到证书文件名后,在反编译好的源代码中查找相关函数,找到私钥。

  • 导入输入私钥后的证书到burpsuite后,即可正常抓包。

可以关键字搜索“key”、“password”、“ssl”等关键字,快速定位到私钥位置。 

难点还是反编译后遇到难脱的壳和代码混淆的问题。

b.Hook SSL对数据解密的地方

虽然ttps在传输过程中是加密的,但在终端显示的时候,必然会解密,不然APP上都没法显示了。

所以如果能知道安卓解密SSL加解密是哪个类,Hook这个类,类里相关方法的输入输出肯定就是传输的明文数据。

06


小结


这是比较常用的抓包姿势,基本可以抓到未加固的或者debug版的App的数据包。代码混淆,入口加固,资源加固等App,混淆类的需要通过匹配函数的参数类型找到修改后的函数名自己重写方法、加固类的需要jadx-guif反编译后分析加固的的逻辑找到App的函数入口让其初始化解密后再重写相关函数等。

- End -

点击下方名片,关注我们

觉得内容不错,就点下在看

如果不想错过新的内容推送,可以设为星标App抓不到包?试试这个方法!

原文始发于微信公众号(希石安全团队):App抓不到包?试试这个方法!

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月1日15:35:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   App抓不到包?试试这个方法!http://cn-sec.com/archives/1532091.html

发表评论

匿名网友 填写信息