移动安全 APP逆向5*针对常见反抓包手段对抗

APP逆向5*BurpSuite高级用法透明代理抓包(不用设置代理,不用安装证书)
工具:BurpSuite
前言:最近项目太多,空余时间不是很多,像前面文章过于基础,后面我会抽空补上。
概述:既然要对抗反抓包手段先说下常见的反抓包手段。
1 调用手机系统api判断是否设置代理
2 检测手机是否开启VPN(同上)
3 DNS-Over-HTTP
4 自定义Soket实现HTTP/HTTPS
5 证书校验(单向检验和双向校验)
我们一般的抓包的方法 手机电脑同一个网络下,手机安装证书,设置代理即可抓包。但是应用采用上述任意一个手段我们这种方式便失效了。
那么我们如何对抗这些手段呢。
路由重定向 对抗 1 2 3 4
伪DNS 对抗 1 2 4对3无效
HOST绑定 对抗 1 2 4对3无效
使用xposed 框架下JustTustMe/SSLUnping 或者分析强改代码逻辑 对抗5

路由重定向
原理:HTTP/HTPS的默认端口分别是80和443我们在BurpSuite并设置透明代理,模拟并监听这两个端口,在透明代理中应用认为我们用BurpSuite模拟服务器开放端口就是真实服务器,实际上将手机的TCP协议的路由都重定向到我们的电脑IP地址中进而BurpSuite会进行代理服务器转发。
操作:添加80 443端口 设置透明代理
打开BurpSuite
移动安全 APP逆向5*针对常见反抓包手段对抗_第1张图片移动安全 APP逆向5*针对常见反抓包手段对抗_第2张图片
移动安全 APP逆向5*针对常见反抓包手段对抗_第3张图片
移动安全 APP逆向5*针对常见反抓包手段对抗_第4张图片
我们添加了80端口,在以同样的方式添加443端口添加完毕后如下图所示移动安全 APP逆向5*针对常见反抓包手段对抗_第5张图片
下面我们进行手机su命令下,路由重定向 注意:手机需要ROOT权限
设置重定向 iptables -t nat -A OUTPUT -d 0.0.0.0/0 -p tcp -j DNAT --to (电脑IP地址)
取消重定向 iptables -t nat -D OUTPUT -d 0.0.0.0/0 -p tcp -j DNAT --to (电脑IP地址)
可以将0.0.0.0/0替换成指定IP可以极度精细化控制每一条流。
移动安全 APP逆向5*针对常见反抓包手段对抗_第6张图片
这时候就能在不设置代理不安装证书的情况下抓取http和https数据包了 如图
在这里插入图片描述
至于伪DNS 和更改HOST 都不能应对DNS-Over-HTTP
这里就简单描述一下吧
伪DNS: 搭建DNS服务器,服务器将所有的域名解析请求都解析为自身的ip地址,然后将手机网络的DNS设置为电脑ip地址。
HOST绑定: root手机修改/etc/hosts 文件(需要知道目标服务器域名)
想过多了解的伙伴可以自行查阅资料。
我们的透明代理能够对抗上述的1234点但是对于5(证书校验)的话就不能抓取到数据流量了。
证书校验对抗
1.我们可以采用第三方架构xposed 下SSLUnping来屏蔽大多数自定义的服务器证书校验逻辑。

2.分析代码,更改代码逻辑或者根据定位关键点写hook插件
SSLUnping是大众化工具并不能适用所有APK
就需要反编译apk 去分析证书校验的相关逻辑。要么hook掉,要么更改smali重打包。apk如果加固了还需要脱壳,重打包又会遇到签名验 证,工程量还是挺大的不建议去直接改smali。后面会带着大家如何分析如何定位,上面的方法已经可以应对市面上绝大部分的apk反抓包手段了。
此方法还在研究和总结中,有什么更好的办法欢迎讨论。

总结:想顺利抓取有反抓包手段的app数据包要处理好两点 1.通信数据链路 2.证书信任链路 上述办法可以很好解决通信数据链路,对于证书信任还是有局限性的。
如果有什么问题就在评论区反馈,我看到就会回复的。

你可能感兴趣的:(移动安全)