一、burp设置代理抓包
1、同网段下设置好burp的监听IP和port
2、手机访问代理下载证书,然后在手机设置里形貌文件安装证书,装好证书后留意在:设置→通用→关于本机→证书信托设置,开启证书信托
二、shadowrockt设置VPN抓包
有的app可能会设置无视体系代理,此时可以使用VPN的方式让app强制通过burp。
1、该软件可在商店直接下载,如下设置即可
2、在设置中耽误测试选择TCP,末了通过耽误测试检察是否设置成功。
三、frida绕过代理检测
思绪:部分app打开会提示类似“请先关闭代理或VPN”的关键字,那么将移动程序的软件包IPA文件中的可执行程序(如果必要砸壳,可使用工具frida-ios-dump和CrackerXI)放到IDA中,全局搜索程序提示的关键字,定位到该关键字所在的函数,使用frida注入js修改函数的返回值(检测结果),从而实现绕过。
1、将砸壳后的可执行文件放到IDA中打开,shift+fn+f12打开可执行文件中的所有字符串,再CTRL+C搜索字符串,选择后按X检察该字符串(请关闭代理)的引用。注:一般来说,程序实现某一功能是定义一个函数,然后用到时去调用这个函数,所有‘请关闭代理’这个字符串会出现多次,只需找到实现检测代理功能的函数地点即可,忽略调用检测代理函数的函数。
2、利用frida-trace快速天生js修改后如下,执行 frida -U -l xx.js -f 包名进行注入
- var module_addr = Module.findBaseAddress("xxx"); //获取可执行程序的基址
- Interceptor.attach(module_addr.add(0x108540), { //添加实现检测代理功能函数的偏移地址
- onEnter: function (args) {
- }, onLeave: function (retval) { //离开该函数时替换函数原本的返回值
- console.log("retval", retval);
- retval.replace(0);
- }
- })
复制代码 3、另一个思绪可以记下常见检测代理的体系函数,通过frida-trace -U -i 函数名 -p PID(-i代表c语言 -m代表oc语言)来确认程序是否使用该函数以及针对性去调试获取 内存地点、返回值等信息辅助编写绕过脚本。
如下是网上关于CFNetworkCopySystemProxySettings函数检测代理时的绕过通杀脚本
- var _imports = Process.findModuleByName("XXX").enumerateImports();
- //获取可执行文件所有的导入函数
- var _CFNetworkCopySystemProxySettings = null;
- //遍历导入函数,当包含CFNetworkCopySystemProxySettings时,获取其地址
- for (var i = 0; i < _imports.length; i++) {
- //查找CFNetworkCopySystemProxySettings系统代理函数
- if (_imports[i].name.indexOf("CFNetworkCopySystemProxySettings") !== -1) {
- console.log(_imports[i].name, _imports[i].address);
- _CFNetworkCopySystemProxySettings = _imports[i].address;
- }
- }
- //修改CFNetworkCopySystemProxySettings函数的返回值
- if (_CFNetworkCopySystemProxySettings) {
- Interceptor.attach(_CFNetworkCopySystemProxySettings, {
- onEnter: function (agrgs) {
- }, onLeave: function (retval) {
- console.log("retval: ", ObjC.Object(retval));
- //将返回值全部nop
- retval.replace(0);
- }
- })
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |