涉网案件的APK逆向分析实践中经常会遇到各类存在对抗抓包的检测,如代理检测、模拟器检测、ROOT检测等。
近期平航技术人员在协助分析某APK时就发现了一种更“新颖”的检测方式:双重检测。
这类APK在模拟器上完成安装并启动运行后,会触发代理检测和VPN检测的机制。只有成功绕过上述一种检测机制,才能进一步对涉案APK进行逆向分析。
01
代理和VPN两种抓包模式的区别
代理抓包:是在客户端和服务器之间设置代理服务器,通过代理服务器拦截和转发网络请求与响应,从而实现对数据的抓取和分析。
常见代理抓包工具有PC端Fiddler,安卓端SSL等。
Fiddler 官网
VPN抓包:利用虚拟专用网络建立加密通道,在这个通道中对数据进行捕获,可突破网络限制并获取特定网络环境下的数据通信内容。
常见代理抓包工具有安卓端httpcarry,苹果端stream等。
Stream App Store 下载入口
02
涉诈APK的动态分析
使用平航应用逆向解析软件AR200的代理模式对APK进行动态分析。
发现注册登录环节,无法获取验证码,且请求指向一个可疑地址,通过域名推断APK可能内置代理检测机制,检测到代理,便将请求重定向至这个地址。
随后换成VPN模式,发现APK反复跳出弹框,提示“请关闭vpn后,杀掉app后重新进入”。
01
绕过代理检测
下步需要进行代理检测绕过操作。
通过AR200的源码分析功能对目标涉案APK进行反编译操作。搜索与代理检测相关的关键字或通过提示词定位代码。定位到d.m.a.a.d.a类下的c()方法,确认涉案APK中存在代理检测机制。
通过检查系统的代理主机和端口信息来判断当前设备是否使用了代理。若主机信息不为空且端口不为 -1,则判定使用了代理,返回 true;反之则返回 false。
⚠️ 如何绕过代理检测机制?
AR200已集成多种一键绕过APK抓包检测机制,如代理检测,ROOT检测等。在动态分析项-高级分析设置,勾选强制使用代理,实现一键绕过APK代理检测。
02
绕过VPN检测
查找VPN检测代码跟代理检测一致,通过提示词或VPN检测相关的关键字,定位到d.m.a.a.d.a类下的b()方法,确认涉案APK中存在VPN检测机制。
代码通过遍历设备上的所有网络接口,检查是否存在名称为 "tun0" 或 "ppp0" 的启用且存在有效 IP地址配置的网络接口,以此来判断设备是否正在使用VPN。
⚠️ 如何绕过VPN检测机制?
在b()方法中右键-复制为Frida片段,将Frida脚本粘贴到AR200-动态调试自定义脚本中,修改返回值,点击运行脚本并重启应用,发现验证码可正常获取,实现绕过VPN检测,可使用AR200动态分析的「VPN模式」对APK进行动态分析。
该方法也适用于代理检测机制的绕过。
03
确认为什么跳转可疑地址
通过域名定位到d.m.b.d.a.a类下的a()方法,如果不存在代理检测和VPN检测,则APP正常运行;反之,使用了代理或VPN,网络请求地址则被设置成***.com,干扰分析。
上述方法为绕过抓包检测提供参考建议,实际案件需视情况分析,如果案件中遇到类似情况,可联系平航区域销售、或官方技术提供技术支撑!
原文始发于微信公众号(平航科技):【技术分享】涉诈APK“双重抓包检测”绕过实战思路
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论