修改 IPA 以绕过自定义 SSL 固定
Modifying IPA to bypass custom SSL pinning
我是一名安全研究员,目前正在帮助一组开发人员提高银行应用程序的安全性。我们现在正在尝试实施一种 SSL-Pinning 机制,该机制将推迟人们尝试使用 Web 代理来分析应用程序的流量。
可以通过使用 SSL killswitch 或修补系统库的类似实用程序来绕过基于库的正常机制,从而欺骗任何应用程序认为 SSL 证书是有效的,即使它是自签名的。
所以我建议实施自定义 SSL-Pinning 机制,该机制将证书与硬编码值进行比较,例如 public 密钥、签名和有效期。
现在我正试图绕过它,但我发现了一个问题,我必须在开始之前解决它。有没有办法修改 IPA 文件(本质上是一个带有签名的 zip 文件),然后将它们全部放回原处并 运行 它在越狱设备上 运行ning IOS 8?
我想澄清一下,这是一种黑盒方法,这意味着我不能只要求开发人员放弃它或避免该机制,因为真正的攻击者不会拥有该资源。
感谢您的帮助。
亚历克斯
免责声明:我自己从未对任何 iOS 应用程序进行逆向工程。
iTunes 中的 IPA 受名为 FairPlay 的 DRM 保护。您需要先解密 IPA,然后再对其进行逆向工程。
您可以使用 otool 来查明 IPA 是否已加密。
请在此处阅读 jg0 的回复以获取分步指南:https://reverseengineering.stackexchange.com/questions/1594/possibilities-for-reverse-engineering-an-ipa-file-to-its-source
解密后建议用Hopper代替IDA,便宜很多,而且自带反编译器(伪代码)
我是一名安全研究员,目前正在帮助一组开发人员提高银行应用程序的安全性。我们现在正在尝试实施一种 SSL-Pinning 机制,该机制将推迟人们尝试使用 Web 代理来分析应用程序的流量。
可以通过使用 SSL killswitch 或修补系统库的类似实用程序来绕过基于库的正常机制,从而欺骗任何应用程序认为 SSL 证书是有效的,即使它是自签名的。
所以我建议实施自定义 SSL-Pinning 机制,该机制将证书与硬编码值进行比较,例如 public 密钥、签名和有效期。
现在我正试图绕过它,但我发现了一个问题,我必须在开始之前解决它。有没有办法修改 IPA 文件(本质上是一个带有签名的 zip 文件),然后将它们全部放回原处并 运行 它在越狱设备上 运行ning IOS 8?
我想澄清一下,这是一种黑盒方法,这意味着我不能只要求开发人员放弃它或避免该机制,因为真正的攻击者不会拥有该资源。
感谢您的帮助。 亚历克斯
免责声明:我自己从未对任何 iOS 应用程序进行逆向工程。
iTunes 中的 IPA 受名为 FairPlay 的 DRM 保护。您需要先解密 IPA,然后再对其进行逆向工程。 您可以使用 otool 来查明 IPA 是否已加密。 请在此处阅读 jg0 的回复以获取分步指南:https://reverseengineering.stackexchange.com/questions/1594/possibilities-for-reverse-engineering-an-ipa-file-to-its-source
解密后建议用Hopper代替IDA,便宜很多,而且自带反编译器(伪代码)