Tag: 网络安全

苹果对iOS“漏洞”的说法提出异议,以暴力破解密码

苹果对iOS“漏洞”的说法提出异议,以暴力破解密码 苹果公司周六回应了有关安全研究人员发现对iOS密码保护执行简单操作的报道,称该漏洞实际上是错误测试的结果。 周五,安全研究员Matthew Hickey详细介绍了 一种绕过 iPhone的内置对策以暴力破解密码的方法。 Hickey表示,具体来说,是通过Lightning向被锁定的iPhone或iPad批量发送密码,从而触发优先于其他设备操作的中断请求。 在这种情况下,黑客会将键入的所有可能的密码组合(如果是六位数的代码,从0000到9999或000000到999999)枚举为一个连续的无空格字符串。 Hickey说,通过这种据称可操作的机制,一个邪恶的用户将能够绕过Apple的安全飞地保护措施,包括在错误的密码输入之间实施延迟,以及在连续十次失败尝试后完全擦除存储的设备数据的选项。 苹果在向AppleInsider发表的声明中说,希基的说法是错误的。 苹果表示:“最近有关iPhone密码旁路的报告是错误的,是由于测试不正确造成的。” 该声明似乎得到了Hickey的Twitter帖子的支持,他在周六修改了他的原始主张,以解释所谓的hack 可能无法 按照最初的想法 起作用 。 “看来@ i0n1c也许是正确的,在某些情况下,引脚并不一定总是进入SEP(由于口袋拨号/输入速度过快),因此尽管它看起来像在测试引脚,但并非总是发送,所以它们不要计数,这些设备的计数要比可见的少。”他在推特中说。 苹果公司是否与Hickey进行了沟通尚不清楚,尽管研究人员在周五表示,他最近就该表面漏洞与该公司联系。 Hickey继续研究该问题,尽管他的最初发现尚未被第三方复制或验证。 无论如何,Apple都希望在今年秋天即将发布的软件更新中淘汰所有与USB相关的iPhone和iPad漏洞。 该公司的iOS 12包含新的“ USB受限模式”,如果在预定时间段后未提供正确的密码,则该端口将禁用硬连线的USB数据连接。 在当前的Beta版本中,该时间窗口为一小时。 根据苹果公司的说法,新功能旨在破坏 黑客和政府的不必要的iPhone访问权限,这些黑客和政府无法为其公民提供与美国法律相同的保护 。

对iOS应用程序进行渗透测试而无需越狱

这是一篇文章,总结了我在伦敦AppSec EU 2018上演讲的一个实际部分。 从理论上讲,在不越狱的情况下对iOS应用进行渗透测试的一般概念包括5点: 下载应用程序包 搭建环境 注入自定义dylib和修改可执行文件 重新包装并签署包裹 以调试模式在设备上安装应用 每个应用程序包都使用iOS设备的加密密钥加密。 该机制称为Apple FairPlay(https://en.wikipedia.org/wiki/FairPlay)。 因此,如果您没有应用程序包,则将无法使用此方法-您仍然需要越狱的iDevice。 这不是针对赏金计划参与者的解决方案。 幸运的是,在“最忙碌的世界”中,客户端通常会交付应用程序包😉。 *您当然可以从https://www.iphonecake.com/等网站下载IPA文件,但不建议这样做-应用可能感染了恶意软件,并且通常已经过时。 在我们的示例中,我们将使用漏洞赏金计划中可用的Etsy应用程序。 首先,您需要注册为开发人员。 在此示例中,我们将使用免费的开发人员帐户,因此不需要$ 99的付费开发人员帐户。 然后,您必须注意两件事:签名证书和Embedded.mobileprovision文件。 处理它的最简单方法是创建一个空的XCode项目。 按下一步进入项目设置。 插入您的iOS设备,在XCode(在顶部栏中)中将其选中,然后选中“自动管理签名”复选框。 XCode将为您完成所有工作。 然后,按“生成并运行”按钮,然后等待应用程序安装。 如果您使用免费的开发者帐户,则还必须在iDevice的“设置”中信任该应用程序。 我的演讲中详细描述了3点和4点。 如果您想深入了解这些内容,请查看OWASP的记录。 最简单的方法是打开终端并输入: 安全查找身份-p代码签名-v 这将为您显示所有有效的代码签名。 然后,您需要复制ID并使用以下参数运行异议: 异议patchipa-源./etsy.ipa-codesign-signature SIGNATUREHERE 该过程应如下图所示: 安装修补的ipa的最便捷方法是留在同一终端中并键入: 解压缩etsy-frida-codesigned.ipa 然后使用ios-deploy工具: ios-deploy-捆绑./Payload/Etsy.app -W -d 下面是描述过程的记录: 由于现在已经准备好环境,因此需要将您喜欢的工具连接到Frida的dylib。 在演示中,我使用了百香果-(ChiChou和oleavr)的荣誉。 伙计们! 现在,您可以在未越狱的iDevice上执行渗透测试! 💪🏻 本文介绍有关iOS应用程序安全测试期间的技术挑战。 如果您对更一般的移动应用程序安全性要求和最佳实践感兴趣, 请查看我们的指南 。 您还应该符合iOS安全套件 —一个Swift库,可简化iOS应用程序中防篡改机制的实现。

减少攻击面和漏洞[SWIFT CSP 3/8]

这篇文章是一个由八部分组成的系列文章的第三部分,该系列文章帮助企业领导者寻求确保其团队已正确遵守新控制制度的保证。 在这篇文章中,我们研究第二个原则:减少攻击面和漏洞。 这适用于具有本地SWIFT实现的用户和使用局服务的用户。 它旨在最大程度地减少攻击者已知的漏洞的暴露,并防止攻击者使用默认设置来访问您的系统。 有什么风险? 您的支付基础架构自然具有并且确实需要启动交易的能力。 这使其成为希望从您和客户的帐户中窃取金钱的犯罪分子的目标。 坚持使用我们先前文章中的银行金库类比-安装金库时,您将确保使用的材料经过适当硬化以保护金库中的物品(例如钢筋混凝土和钢材!)。 如果通过沉降出现裂缝,则应确保将其检出并修补。 您还要确保未将库门上的组合设置为默认值1234! 在成功进行网络攻击的地方,攻击者可以轻松使用已知的漏洞和默认密码来访问操作员PC。 控制目标: 此原则中的强制控制的目的是确保硬件和软件从其供应商处接收更新,从而阻止攻击者利用已知漏洞或默认设置来破坏系统的机会。 此原则中的控件旨在确保您遵循维护技术的过程。 这样,通过使攻击者更难使用已知的漏洞和设置来破坏操作员PC和SWIFT基础结构,可以减少成功攻击的可能性。 要问的问题: 在寻求确保他们已履行此控制的义务时,高级管理人员应考虑以下问题,以使他们对证明和降低风险有信心: 我们是否对SWIFT“安全区域”中的所有硬件和软件都有积极的支持安排? SWIFT安全区内的所有硬件(例如,网络设备,服务器)和软件(例如,操作系统,应用程序)都应在其供应商的支持生命周期内。 这样一来,您将收到安全更新,这些更新将减少攻击者使用已知漏洞来破坏您的支付系统的能力。 在什么时间范围内将“关键”和“高”安全补丁应用于系统? 许多组织将基于风险的方法应用于补丁程序管理。 考虑到供应商的重要性,对业务的运营影响以及您可能已经实施的其他补偿性控制。 通常,这将在组织的“修补政策”中定义。 作为指导,应用评级为“关键”(CVSS-通用漏洞评分系统-分数9.0以上)的安全更新所花费的时间不应超过1个月。 “高”(CVSS得分7.0+)不应超过2个月。 我们如何加强操作员PC的操作系统? 我们如何加强与SWIFT相关的应用程序? 我们如何加强支持基础设施? (例如防火墙,路由器等) 在回答这些问题时,您的团队应该能够确认他们已遵循行业标准指南。 他们可能会提到CIS,NIST或当地监管机构的要求。 他们至少应能够向您确认所有设备上的默认密码均已更改,未使用的系统和用户帐户已被禁用,以及不必要的软件/服务也已被禁用或删除。 以下内容仅适用于“架构A”(内部)SWIFT部署: 我们如何加密网络上与SWIFT相关的应用程序之间的流量? 机器对机器的接口应使用TLS等加密技术来保护。 加密应该是“双向”的,这意味着两个应用程序都相互验证身份,并对它们之间的流量进行加密。 我们如何加密从操作员PC到SWIFT应用程序的流量? 来自运营商PC的用于发起交易的连接也应使用TLS进行加密。 通常,这将是“单向的”,这意味着仅验证服务器的身份。 对于Web应用程序,用户将在地址栏中看到挂锁。 结论 通常,为了成功地按照此原则实施控件,您的团队将确定用于提供SWIFT付款服务的硬件和软件。 IT团队将具有强大的补丁程序管理程序,以及时识别,评估和部署来自供应商的更新。 他们还将审查SWIFT安全区域中的硬件和软件以一致的方式增强以抵抗攻击的方式。 这样,您的团队将使攻击者更难利用已知漏洞并使用默认密码。 这将减少攻击者成功破坏您的SWIFT网关和运营商PC的可能性。 在本系列的下一篇博客文章中,我们将着眼于物理上保护您的环境。 您还可以查看本系列的其余文章。 请记住跟随并联系,以便您得到通知,同时,如果您有任何疑问,请随时发表评论,或给我发消息以获取更多信息。

检测系统或交易记录的异常活动[SWIFT CSP 7/8]

这篇文章是一个由八部分组成的系列文章的第七部分,该系列文章帮助企业领导人寻求确保其团队已正确遵守新控制制度的保证。 在这篇文章中,我们正在研究第六个原理:检测系统或交易记录的异常活动。 这适用于具有本地SWIFT实施的用户和使用局服务的用户,以保护系统免受恶意软件感染并记录系统生成的重要安全事件。 有什么风险? 使用防病毒软件可以保护您的计算机免受恶意代码的侵害,并在尝试感染计算机时通知您。 记录安全事件可确保您及时发现并响应异常或可疑活动,并减少未经授权的访问(如资金损失)的影响。 在银行金库中,这类似于让CCTV监视和记录进出,操作员可以识别是否有人在正常工作时间之外访问金库。 控制目标: 有两种适用于所有SWIFT成员的强制性控件:恶意软件保护以及日志记录和监视。 确保保护SWIFT基础架构免受恶意软件的侵害,降低了操作员PC或与SWIFT相关的服务器可能被恶意代码破坏的可能性。 如果攻击者尝试使用恶意软件来获取或维护未经授权的服务器访问,则这将降低攻击者成功的可能性。 恶意软件检测技术也是一种有用的传感器,可以将日志从日志中传回日志和监视系统,以便可以将重要的通知或可疑活动提请员工注意。 监视付款基础结构上的活动和安全事件可提供一种重要的方法来识别您是否受到攻击。 及早发现异常行为意味着您可以动员响应团队并阻止攻击,从而大大减少其影响。 如果您拥有自己的本地SWIFT网关,则可以应用另外两个强制性控件,这两个控件都与软件和数据库记录的完整性有关。 在攻击成功的地方,他们操纵了SWIFT服务器上运行的软件,并更改了数据库记录以掩盖其踪迹。 监视系统和数据库是否处于预期状态可提供另一个有价值的数据点,以识别您是否受到攻击。 要问的问题: 在寻求确保他们已履行此控制的义务时,高级管理人员应考虑以下问题,以使他们对证明和降低风险有信心: 我们的SWIFT环境中部署了什么反恶意软件解决方案? 反恶意软件软件已安装在您的安全区域中的Operator PC和与SWIFT相关的服务器上。 解决方案应来自信誉良好的供应商。 应将其配置为在高峰时间/营业时间之外每两周执行一次“按需访问”扫描(也称为“实时”或“后台扫描”)以及计划的全面扫描。 我们是否可以检测反恶意软件签名是否未更新? 有关已知恶意软件的配置文件或信息库应定期由反恶意软件进行更新,以确保其有效。 如果无法更新,则应由IT或安全团队加以识别和补救。 我们需要什么功能来监视安全事件并检测SWIFT基础架构中的异常行为? 监视功能(例如,安全运营中心)应该正在从SWIFT基础结构接收安全和事件日志。 这必须包括检测网络上异常行为的能力,例如可疑登录管理员帐户。 日志应尽可能允许将事件标识回单个用户。 我们将日志存储多长时间? SWIFT消息传递和通信应用程序审核日志至少保留12个月。 操作员PC,防火墙和数据库审核日志至少保留31天。 两者都应保留在安全的位置,SWIFT基础结构的管理员无法在此位置修改或删除信息。 当地法律法规可能会取代这些要求。 以下问题仅在具有本地本地SWIFT网关的情况下适用。 我们多久检查一次SWIFT安全区内的软件配置和完整性? 在启动时每天至少验证一次软件和配置的完整性,方法是验证文件的校验和是否与预期状态相符。 在我们的SWIFT消息传递数据库上启用了哪些数据库完整性检查? 记录级完整性检查应通过验证记录的校验和或签名来进行。 还应检查以确认交易编号顺序中没有空格,这可能表明交易已被删除。 结论 通常,为了成功地按照此原则成功实施控件,您的团队将确保由安全运营中心(SOC)监视提供SWIFT服务的服务器和工作站。 此SOC的范围将从SWIFT安全区域中的服务器和安全设备以及操作员PC中获取事件日志。 SOC将了解要破坏您的SWIFT支付系统的特定“危害指标”和攻击者的作案手法。 他们将确认反恶意软件解决方案已部署并保持最新状态,并且在失败的情况下,可以使用适当的过程来识别和修复失败。 如果您有本地解决方案,则将部署或配置其他软件解决方案,以检测服务器和数据库的预期状态的更改。 这样,您的团队将使您更有可能检测到网络上的异常活动,并有时间进行干预并防止对组织造成重大影响。 在本系列的下一篇博客文章中,我们将研究如何计划和响应SWIFT基础架构上的网络事件。 您还可以查看本系列的其余文章。 请记住跟随并联系,以便您得到通知,同时,如果您有任何疑问,请随时发表评论,或给我发消息以获取更多信息。

计划事件响应和信息共享[SWIFT CSP 8/8]

这篇文章是一个由八部分组成的系列文章的最后一部分,该系列文章帮助企业领导者寻求确保其团队已正确遵守新的控制制度的保证。 在这篇文章中,我们正在研究第八条原则:事件响应和信息共享计划。 这适用于具有本地SWIFT实现的用户和使用局服务的用户。 制定有力且清晰的响应计划可以大大减少攻击对您的业务的影响。 有什么风险? 有消息称,在攻击银行的SWIFT基础设施的事件备受瞩目的情况下,攻击者已经在银行的网络上呆了很长时间。 成熟的响应能力可以帮助您减少网络风险对SWIFT基础架构的影响(如果这种情况成为现实)。 在我们最后的银行金库比喻中,小偷成功地闯入了我们的保险箱。 不过,我们已经在央视上发现了他们,工作人员确切地知道了他们为减少损失而需要做的事情:制定应对计划并通知相关当局。 当然,只有具有足够的检测能力,您的响应才会被触发,并且有机会减少影响。 控制目标: 此原则中强制性控制的目的是确保员工了解其安全职责,并确保组织采用一致,有效的方法来管理网络事件。 此原则下的控制措施旨在确保您有一个已定义,经过测试的响应计划,并确保各个团队之间的角色和职责得到沟通和理解。 这样做可以通过更快地响应检测到的攻击和异常行为来减少成功实施这些攻击的影响。 要问的问题: 在寻求确保他们已履行此控制的义务时,高级管理人员应考虑以下问题,以使他们对证明和降低风险有信心: 您上次完成安全意识培训的时间是什么时候? 操作SWIFT应用程序或维护基础结构的员工和承包商应定期接受有关业务网络风险的定期培训,必须至少每年进行一次。 不同团队成员的培训有何不同? 与操作您的支付应用程序的人员相比,负责维护SWIFT基础结构的人员将需要不同的知识来了解您的企业面临的网络风险。 个人接受适合其职责的培训很重要,并且要突出他们在任何响应计划中的作用。 我们的网络事件响应计划何时被测试? 您的组织应该有一个成文的和经过预演的计划,以应对网络事件,尤其是那些可能对组织的财务状况产生重大影响的事件,例如针对您的付款基础架构的事件。 您的计划应至少每年审查一次,并且至少每两年一次或在发生重大变化时进行正式测试。 发生事件时我们必须通知谁? 您的组织有责任通知某些方面有关影响您业务的网络事件。 特别是,为了确保更广泛的网络安全,如果您认为自己的SWIFT基础架构可能已受到损害,则有义务通知SWIFT。 我们如何共享和消费者威胁情报? 您应该有能力从SWIFT和其他来源吸收威胁情报和危害的技术指标。 还需要与SWIFT和其他执法部门以及当地监管机构共享您自己的威胁情报,这些情报来自对您的支付基础设施的潜在事件的调查。 结论 通常,为了成功地按照此原则成功实施控件,您的团队将确保您已制定出涵盖SWIFT基础架构的稳健且经过测试的网络响应计划。 他们将审查识别,管理,调查和解决事件的过程。 他们将确保使用来自其他攻击的情报来帮助保护您的组织,并确保您与相关方共享自己的调查结果。 这样,您的团队将使您更有可能快速有效地应对网络威胁并限制对组织的影响。 这是我们由八部分组成的系列文章的结尾,探讨了高级经理如何在自我认证截止日期之前质疑技术团队。 您还可以查看本系列的其余文章。 希望您发现本系列有用,并且现在对在2017年12月31日截止日期之前的合规性职位充满信心! 如果您有任何疑问,请随时发表评论,或给我发消息以获取更多信息。

SWIFT报告分享了对不断发展的网络威胁的见解

根据最近15个月进行的调查,SWIFT的最新报告《孟加拉国三年来:对抗对手》称,网络攻击者正在改变并调整其方法和做法。 该报告的主要发现表明: 每五笔欺诈交易中就有四笔被发往东南亚的收款人账户 大约70%的企图盗窃是基于美元的,但欧洲货币的使用率却有所增加 每笔欺诈交易的金额均从1000万美元大幅下降至25万美元至200万美元之间 紧密的行业合作价值 该报告证明了通过SWIFT的客户安全计划(CSP)促进强大的网络安全标准的努力,引入安全增强工具以及网络威胁情报共享的范围和质量的提高是如何取得成果的。 它还显示了更紧密的行业合作如何快速识别网络犯罪分子所针对的金融机构-在大多数情况下,攻击者甚至还没有能力生成欺诈性信息。 特别是,事实证明,及时有效地交换网络威胁情报对于有效检测和预防攻击至关重要。 我们需要注意恶意行为者会迅速适应。 该行业必须不断增强其防御能力并使其多样化,调查事件并共享信息。 SWIFT网络安全事件响应团队负责人Dries Watteyne 不断变化的威胁矩阵 该报告深入研究了网络攻击者如何调整其方法来避免被发现。 例如,攻击者继续“默默地”进行长时间的侦察,以发现更多有关目标的信息。 在最初穿透其防御之后,攻击者随后研究了数周甚至数月的行为和模式,以进一步了解目标的脆弱性。 恶意行为者以前也喜欢在工作时间以外发出欺诈性付款以避免被发现,但最近却转而采用这种方法,在工作时间采取行动以与合法流量融合。 另外,越来越多的欺诈性交易正从新的支付渠道进行。 实际上,过去15个月中调查的绝大多数欺诈交易使用的支付通道(目标银行和受益银行的组合)在过去24个月中没有使用过。 客户安全主管Brett Lancaster表示:“这些案例表明,SWIFT解决方案(包括我们的每日验证报告工具,我们的付款控制服务以及gpi停止和召回设施)如何能够产生真正的积极影响。 他们还证明了实施安全控制以及理解和缓解交易对手所带来的网络风险的重要性。” 展望未来:主要建议 报告中提出了许多建议,以确保全球金融界了解网络攻击所面临的不断变化的威胁的性质: 制定新的防御措施 :开发和部署增强安全性的创新将有助于阻止网络窃贼。 信息共享的增加 :社区共享的信息越多,共享的频率越高,避免或抵御攻击的机会就越大。 遵守强大的网络安全标准 :确保严格遵守严格的标准并实施控制措施是预防和发现的关键。 交易对手网络安全数据的消耗 :用户应将根据SWIFT的“客户安全控制框架”对交易对手的证明数据进行的评估纳入其风险管理和业务决策流程中。 > 阅读新闻稿并下载报告

管理身份并分离特权[SWIFT CSP 6/8]

这篇文章是一个由八部分组成的系列文章的第六部分,该系列文章帮助企业领导者寻求确保其团队已正确遵守新的控制制度的保证。 在这篇文章中,我们将探讨第五个原则:管理身份和隔离特权。 这适用于具有本地SWIFT实现的用户和使用局服务的用户。 此处进行控制的目的是确保您了解谁有权访问您的系统,以及他们所拥有的权限(而不是其他权限)超出了其工作所需的权限。 有什么风险? 不良的身份和特权管理可能导致用户访问比他们需要的系统和功能更多的系统和功能。 这会增加您的攻击面,并使攻击者更容易识别可以用来进行攻击的帐户。 如果没有清楚地了解您的用户及其职责,就很难了解谁对您的支付系统采取的措施负责。 在银行内部,但在我们可信赖的银行保险库之外,这种逻辑访问控制的一个典型例子可以从授权建立新客户帐户的人员与可以提款的人员之间的职责分离中看出。 控制目标: 此原则内有两个强制性控制和两个咨询控制。 强制控制(逻辑访问控制和令牌管理)用于强制执行基本的安全概念,例如“需要了解”,“最低特权”和“职责分离”,以及跟踪用于身份验证的任何令牌。 这些适用于SWIFT生态系统内的所有用户帐户:从操作系统(例如Windows)到用于通过SWIFT网络进行交易的应用程序。 它们降低了用户只能执行与其角色有关的功能的可能性,并避免了攻击者可能会利用的过多权限。 要问的问题: 在寻求确保他们已履行此控制的义务时,高级管理人员应考虑以下问题,以使他们对证明和降低风险有信心: 我们的逻辑访问策略是什么? 您的组织应该有一个成文的政策,涵盖如何授予,管理和撤消访问权限。 它应该最近进行过审查,并适用于您的SWIFT基础架构和应用程序。 我们的逻辑访问策略是什么? 您的组织应该有一个成文的政策,涵盖如何授予,管理和撤消访问权限。 它应该最近进行过审查,并适用于您的SWIFT基础架构和应用程序。 您的策略应要求仅向用户和管理员授予完成其职责所需的最低权限(需要知道和最低特权)。 描述我们如何提交和批准SWIFT交易? 提交和批准交易的能力应授予不同的个人或团体。 任何用户都不应该具有执行这两项功能的能力。 这也称为“四眼”原则或职责分离。 我们上次何时查看帐户及其访问权限? 您应该至少每年检查一次帐户,因此日期应在过去365天内。 如果员工更改角色或离开公司,也应立即撤销访问权限。 我们是否使用硬件身份验证令牌,例如智能卡或USB令牌? 如果您的组织使用这些内容,则应至少每年记录和审查一次分配。 如果员工不再需要其访问权限,则应立即收集令牌。 结论 通常,为了成功地按照此原则成功实施控件,您的团队将确保您具有访问控制策略,并且已将其应用于SWIFT应用程序。 他们将审查帐户权限,并确保没有一个帐户有权执行多项敏感职责。 他们将建立一个过程,通过该过程定期检查帐户权限和任何硬件令牌的发行。 这样一来,您的团队将要求攻击者获取多组凭据才能对SWIFT系统执行成功的攻击,从而使攻击者更加困难。 在本系列的下一篇博客文章中,我们将研究在SWIFT基础架构中检测异常活动。 您还可以查看本系列的其余文章。 请记住跟随并联系,以便您得到通知,同时,如果您有任何疑问,请随时发表评论,或给我发消息以获取更多信息。

寻找iOS内核符号

上周,谷歌零号项目的伊恩·比尔(Ian Beer)在Twitter上宣布,他将发布一些东西,以帮助任何希望引导iOS 11内核安全性研究的人,通过task_for_pid_0或tfp0提供对内核内存的读/写访问。 尽管围绕此公告感到非常兴奋的是有可能进行新的越狱,但我想以此为契机再次花时间在移动安全上。 我过去的大部分经验都是在应用程序级别测试中进行的,但我想深入了解操作系统本身的精髓。 乔纳森·莱文(Jonathan Levin)承诺提供了一个工具包,“对于那些在处理过程中最终获得对kernel_task端口(aka tfp0)的发送权,但又不知道下一步要做什么的人”,这似乎很棒潜水的机会。 贝尔先生的漏洞公告和PoC代码已于昨天发布,非常漂亮。 极好的文档(包括ASCII艺术堆栈示例!),干净,并且相对容易阅读和推理。 我已经准备好开始测试,但是很快遇到了麻烦。 贝尔先生很客气,可以为几种设备添加内核符号,但是我没有打算使用它。 幸运的是,作为该文档的一部分,他提供了有关如何查找符号的详细提示,因此我已准备好应对挑战。 这篇文章的其余部分将逐步介绍我寻找符号的过程,希望它可能对您增加对设备的支持也很有用。 除了未删除的符号外,我没有找到任何其他有关执行此操作的文档,因此我想为其他人员(和我自己)记录此过程。 视乔纳森·莱文(Jonathan Levin)的工具包中的内容而定,这可能不是必需的,但我认为这是一个有趣的学习练习。 查找符号的第一步是获取目标iOS版本的kernelcache 。 我跳到https://ipsw.me/并为我的iPad Mini 2以及已经在symbols.c定义了符号的设备之一下载了11.1.2固件。 拥有已经定义好的固件对确认我用来查找每个符号的过程是否正确非常有帮助,因为我们已经知道该设备应该使用的正确符号。 解压缩.ipsw文件后,我抓住了Levin先生的工具Joker。 在使用了一些选项之后,我将其指向带有-j和-m选项的kernelcache文件,以转储所有可用的符号。 输出包含我需要的以下符号的地址: KSYMBOL_OSARRAY_GET_META_CLASS KSYMBOL_IOUSERCLIENT_GET_META_CLASS KSYMBOL_IOUSERCLIENT_GET_TARGET_AND_TRAP_FOR_INDEX KSYMBOL_CSBLOB_GET_CD_HASH KSYMBOL_KALLOC_EXTERNAL KSYMBOL_KFREE KSYMBOL_OSSERIALIZER_SERIALIZE KSYMBOL_KPRINTF KSYMBOL_UUID_COPY 9点下来,10点走。 其余部分必须已被剥离(或首先没有像JOP小工具那样标记),因此是时候在IDA Pro中加载kernelcache文件了。 您当然可以为此使用其他反汇编程序,例如Binary Ninja,Hopper或radare2。 在此之前,我们需要解码kernelcache文件。 我从Joshua Wright找到了本指南来准备文件。 *在十六进制编辑器中打开kernelcache并查找0xFFCFFAEDFE,注意偏移量(435) * wget -q http://nah6.com/%7Eitsme/cvs-xdadevtools/iphone/tools/lzssdec.cpp* g ++ -o lzssdec lzssdec.cpp * ./lzssdec […]