背景是这样的,有一天运营的同事反馈达达可以抓到我们的订单,简单查看了一下流程,发现达达先会下载一个插件,安装后,会提示信任一个vpn证书,然后就可以获取到我们的订单。
上一次达达商家版通过Android的Accessibility api监听我们应用的布局变化,获取了每个view中的数据,拼接成了他们自己的订单,但是这个api随着napos的升级被堵死了。这次他们换了一个思路,通过建立虚拟vpn的方式充当中间人,攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话。大概理解了这次抓单的思路,我们就开始顺着packet capture的线索开始摸索达达的整个方案。
首先我们查到了packet capture这个软件,
Packet Capture免root抓包安卓版是一款数据包捕获/SSL网络流量嗅探的应用程序。
特点:捕获网络数据包,并记录它们使用中间人技术对SSL解密,无须root权限
这个软件使用了Android提供的VpnService api,实现了中间人攻击,完全符合达达的需求,那么我们就以这个为突破口,下载了最新的达达,发现在打开抓取饿了么和美团的订单的时候,他需要下载http://7xl8yn.dl1.z0.glb.clouddn.com/pkg-new.signed.apk 这个软件,下载反编译之,发现这个软件和packet captur