越狱ios禁止SSL Pinning抓App Store的包

最近遇到一个问题:支付接口调用的App Store,没办法抓到App Store的包,后来了解到因为App Store使用的是SSL Pinning(证书锁定),所以没办法通过抓包工具直接抓到包。因此要想抓到包,必须通过安装相应tweaks来禁止SSL Pinning。

越狱的iphone(我的机器ios9.1完美越狱) 购买连接:http://dwz.cn/65p8um
最新版ssl-kill-switch2 下载地址:http://dwz.cn/65T2Ia

1.越狱后在cydia上安装OpenSSH
5.jpg

然后将下载好的 com.nablac0d3.SSLKillSwitch2_0.11.deb 传到越狱的机器上

scp ./com.nablac0d3.SSLKillSwitch2_0.11.deb [email protected]:/var/root/

ssh默认密码:alpine
1.png

2.安装,dpkg -i com.nablac0d3.SSLKillSwitch2_0.11.deb
再执行 killall -HUP SpringBoard,重新启动跳板
2.png

手机会立即重启,重启后进入[设置],往下拉可以发现多了一个SSL Kill Switch 2
6.jpg

点进去勾选按钮,禁止证书确认。重启下App Store,这时候就能抓到大部分App Store的包以及使用了SSL Pinning的App的包了。
7.jpg

3.讲道理到了这一步应该就ok了,但测试发现虽然禁了SSL Pinning,但对于App Store的登录和应用下载等操作的请求依然走不通。这时候找到这样一篇文章:

https://nabla-c0d3.github.io/blog/2013/08/20/intercepting-the-app-stores-traffic-on-ios/

3.png

大概原因就是App Store的下载登录等操作是在itunesstored这个进程下的,这个itunesstored进程作为守护进程在设备启动序列中启动顺序优先于MobileSubstrate和MobileLoader,因为SSL Kill Switch作为MobileSubstrate tweaks 是没有办法注入到进程itunesstored。
因此想要抓登录和下载等操作的包,必须先杀掉itunesstored进程,itunesstored作为守护进程会自启,自启时SSL Kill Switch就注入了itunesstored进程,就可以抓包了。

iPad-Mini:~ root# ps -ef | grep itunesstored
501   170     1   0   0:00.00 ??         0:01.95 /System/Library/PrivateFrameworks/iTunesStore.framework/Support/itunesstored
  0   432   404   0   0:00.00 ttys000    0:00.01 grep itunesstored
iPad-Mini:~ root# kill -s KILL 170

杀死进程后,重启App Store就可以抓登录和下载等操作的包了。
4.png

这里结束后,我遇到个奇怪的事情,就是按照上述步骤操作完后,会间歇性的抓不了登录和下载等操作的包,但是重启后就完全正常了。所以如果遇到间歇性异常事件,可以试试重启一下手机。


为您推荐了相关的技术文章:

  1. Rasp 技术介绍与实现
  2. IBM WebSphere java反序列化漏洞分析
  3. Joomla!3.7.0 Core SQL注入漏洞详细分析(含PoC、漏洞环境)
  4. ANDROID 逆向实例(八)- 乐固加固脱壳(2017.01)
  5. python奇技淫巧

原文链接: pwn.dog