在iOS和MacOS应用程序中禁用SSL/TLS证书验证的BlackBox工具(包括证书固定)。 https://github.com/isecpartners/ios-ssl-kill-switch的第二次迭代。
一旦加载到iOS或MACOS应用程序中,SSL Kill Switch 2将修补负责处理SSL/TLS连接的低级功能,以覆盖并禁用系统的默认证书验证以及任何类型的自定义证书验证(例如证书固定)。
它已成功地针对实施包括Apple App Store(包括Apple App Store)的各种应用程序进行了测试。 SSL Kill Switch的第一个版本是在Black Hat Vegas 2012上发布的。
已知支持的最新版本iOS是14.2。
在iOS上,可以将SSL Kill Switch 2安装为越狱设备上的Cydia subtrate调整。
安装SSL Kill Switch 2使与设备同一网络上的任何人都可以轻松地针对任何SSL或HTTPS连接执行中间人攻击。这意味着可以访问电子邮件,在Safari中查看的网站以及设备上运行的任何应用程序下载的任何其他数据是微不足道的。
应使用Cydia安装以下依赖项:
然后,在SSL Kill Switch 2的GitHub页面的“发行”选项卡中下载最新的预编译软件包。将其复制到设备,安装并重新启动设备:
dpkg -i <package>.deb
killall -HUP SpringBoard
设备设置中应该有一个新菜单,您可以在其中启用扩展名。最后,杀死您要测试的应用程序。
稍后可以使用以下方式卸载调整:
dpkg -r com.nablac0d3.SSLKillSwitch2
许多人问了如何使用SSL Kill Switch 2拦截App Store的流量。我在这里写下了一些说明,但现在已经过时了:http://nabla-c0d3.github.io/blog/blog/2013/2013/2013/2013/interpocting-the--interpocting-the--interpocting-the-ph-------------------------------------
默认情况下,SSL Kill Switch会破坏Charles Proxy iOS应用程序,您将无法与其代理任何网络流量。要解决此问题,请将Charles Proxy App(com.xk72.charles)添加到SSL Kill Switch Config:

该构建要求在http://www.iphonedevwiki.net/index.php/theos/getting_started上安装Theos Suite。
然后,在SSL Kill Switch 2的root Foler中,为您的Theos安装创建一个符号链接:
ln -s /<path_to_your_theos_folder> theos
确保已安装DPKG。如果您有自制,请使用:
brew install dpkg
然后,可以使用:
make package
SSL Kill Switch 2可以在MACOS应用程序中用作动态库,以注入过程中。
在MACOS上,需要手动注入SSLKillSwitch库,其中需要禁用SSL固定。注射后,它将自动覆盖并禁用SSL验证。
有几种方法可以做到这一点:
使用LLDB或XCode Debug-> intect into pause开始该过程,然后使用dlopen()加载sslkillswitch:
(lldb) expr (void*)dlopen("/path/to/build/SSLKillSwitch.framework/Versions/A/SSLKillSwitch", 1)
预期结果是一个非零指针:
(void *) $1 = 0x00007f92e74d10c0
如果您收到零指针,则可能需要启用代码签名和构建以进行分析,然后在Release文件夹中使用二进制文件,甚至可能必须将二进制文件复制到应用程序的资源文件夹。在这种情况下,您会看到一个沙盒读取违规输出到控制台。要测试新版本的二进制版,您需要杀死该应用并再次加载应用程序。
使用dyld_insert_libraries注入sslkillswitch并开始过程。
TBD
使用Xcode项目来构建MacOS的SSL Kill Switch 2。然后,编译的库将在产品/sslkillswitch.framework/versions/a/sslkillswitch中提供。这是您需要在要禁用SSL固定的过程中注入的二进制文件。
麻省理工学院 - 请参见/license。
Alban Diquet- @Nabla_c0d3