APP抓包方法及问题解决3

上文中说了透明代理实现APP抓包的方法 , APP抓包方法及问题解决2,来实现APP抓包,但这时发现有些APP还是不能抓取(如抖音、手机FireFox浏览器等), 这就因为他们这些APP根本不去使用系统证书,而是自己去验证证书,也叫证书固定,可以说就是为了防止抓包,这里可以用Xposed 模块 JustTrustMe 来绕过。 本文以逍遥模拟器来说明如何设置。

模拟器设置:

1.下载安装逍遥模拟器,新建一个安卓7.1 32位版本的模拟器,下方离线文件提供的是7.1 32位版本的,其他的版本没测试能不能行。

安装步骤 文件都已经打包 逍遥市场里分别下载xposed 和RE文件管理器。 终端模拟器的离线安装文件在下方链接中获取。

2.通过 共享目录 把xposed 数据包导入安卓目录

3.用文件管理器把xposed 数据包复制到安卓目录中的/system目录中,

4.激活框架: 打开终端管理器,输入命令:

su 回车

cd /system/xposed 回车 (注意空格 不会复制粘贴)

sh flash-script.sh 回车 (注意空格 不会复制粘贴) 

5.安装 JustTrustMe,一个用来禁用、绕过 SSL 证书检查的基于 Xposed 模块。JustTrustMe 是将 APK 中所有用于校验 SSL 证书的 API 都进行了 Hook,从而绕过证书检查。

安卓7.1 32 xposed框架手动安装链接 提取码:lmd9

安卓7.1 64 xposed框架手动安装链接 提取码:vqya

安装完成后在xposed框架中选中 JustTrustMe,重启模拟器便可激活了。

这时便可以抓取某音、某浪等数据包了。但是发现某浪还是有些包是抓不到的。这就要用到第一篇文章透明代理实现APP抓包的方法中的设置了。有些工具的有些数据包会跳过代理设置直接访问网络,就导致有些包抓不到。在第一篇中说了用透明代理的方式来抓取,下面讲下模拟器做透明代理的方法。

结合第一篇写的,还是将kali做为一台代理服务器,在kali虚拟机上添加两个虚拟网卡,一块eth0访问实际网络用192.168.200.65/24,一块eth1 用来单独设置一个网段来确保受监控设备的IP地址不会发生冲突。这里还是用192.168.2.1/24,设置IP也可以用图形界面,也可以用命令,这里不再叙述。

添加自动SNAT规则

开启Linux的内核IP转发功能

sudo sysctl -w net.ipv4.ip_forward=1
# 或者
sudo bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
# 前者重启失效,后者重启仍有效

给防火墙添加自动SNAT规则

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

这时用逍遥模拟器设置一下IP:192.168.2.X 255.255.255.0 ,网关:192.168.2.1,理论上可以正常上网了。测试无问题后接下来就可以配置HTTP+HTTPS截流并转发。

HTTP + HTTPS截流并转发给Mitmproxy

安装mitmproxy,以透明代理(Transparent Proxying)模式启动,没安装的话参看第一篇。

mitmweb --mode transparent --showhost

加入如下DNAT规则。将所有目标端口为80或者443的请求重定向到192.168.2.1:8080(mitmproxy监听的端口)。

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.2.1:8080
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to 192.168.2.1:8080

这样一通乱搞不走代理的数据包、证书固定的包,都解决了。

原文链接:http://www.itawp.com/348.html,转载请注明出处。

1

评论0

没有账号? 注册  忘记密码?