- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PWN你的iOS设备.ppt
动态的代码签名技术 无法在iOS最代码注入,无法分配可读可写并且可执行的内存块。 Execve/mmap/task_of_pid CS_ 用户态无法在内核模式下运行代码,即使有root权限。 Apple的开发者,可以申请一个开发者证书,并且在Apple的开发网站上注册你的iOS设备的id Provisioning Profiles Amfid 由Apple MobileFile Intergrity kext 来处理代码签名的策略和实现 Device FW update Incomplete Codesign exploit 是目前所有越狱程序中完美越狱里面都会用到的一个利用方法,那么这个方法被修补后,使得以后完美越狱越来越困难。 攻击Bootrom iOS 启动顺序 (正常模式) Bootrom Low level boot loader (LLB) iBoot (2 stage boot loader) OS (Kernel / Application) 攻击Bootrom iOS 启动顺序 (恢复模式) Bootrom Low Level Boot Loader (LLB) iBoot (2nd stage boot loader) Kernel (Ramdisk, can be restored) 攻击Bootrom iOS 启动顺序 (DFU) Bootrom iBSS iBEC Kernel (Ramdisk, can be restored) 攻击Bootrom limera1n bootrom exploit 利用一个DFU模式下USB控制消息的溢出漏洞(0x21),针对所有A4的设备 shellcode patch了bootrom中RSA/IMG 等多处检测的代码 修改iBSS在载入KernelCache的时候修补关于代码签名的指令来进行不完美的越狱 攻击Bootrom iBSS payload Shellcode hook iBSS的jump_to函数 在jump_to函数中搜索KernelCache的内存,并且修改内核关于代码签名的。 修改完内核以后,unhook jump_to函数,然后重新调用自身来载入KernelCache Chronic-Dev’s cyanide 是一个非常实用的iBoot/iBSS payload开发框架,推荐使用。 JailBreakMe 3.0 JailBreakMe 3.0 用户态漏洞利用 - CVE-2011-0226 FreeType 2.4.6 版本之前,t1decode.c文件中存在有符号整形使用不当的bug 攻击者通过精心构造嵌入Type 1 font的PDF文档可以远程执行任意代码 漏洞存在于CoreGraphics.framework/libCGFreetype.dylib JailBreakMe 3.0 CVE-2011-0226细节 t1_decoder_parse_charstrings函数 解码处理op_callothersubr命令时 arg_cnt被声明为FT_Int并且是从“top”中读取 当arg_cnt是一个负数时 绕过了边界检查 “top”可以超过边界,指向栈 - 使得攻击者可以读写栈 JailBreakMe 3.0 漏洞代码 JailBreakMe 3.0 分析JBM3样本 解压字体文件 样本中只包含了一个stream,就是字体文件 Type 1 字体文件格式 - 第6章 CharStrings字典 解释了 charstring 命令 callothersubr/pop/return ROP是在运行时刻由charstring的代码生成的 T1_DecoderRec结构用于解码charstring JailBreakMe 3.0 T1_DecoderRec结构 该结构在调用函数存储在栈中 结构定义可以在psaux.h中查找 decoder-stack 用于存储charstring指令的中间数和结果 decoder-buildchar 由字体文件中的/BuildCharArray指令来定义 JailBreakMe 3.0 JBM3是如何构造ROP的 利用charstring命令将指令写到 decoder-buildchar val idx 2 24 callothersubr decoder-buildchar[idx] = top[0]; op_callsubr 字体文件中还包含一些子过程 JailBreakMe 3.0 JBM3如何绕过ASLR 这个漏洞允许攻击者读写栈 decoder结构存储在栈中 decoder-parse_callback存储了T1_Parse_Glyph函数指针 获取parse_cal
您可能关注的文档
最近下载
- 广告文案策划与写作 广告文案策划与写作 《广告文案策划与写作》(64课时)徐顺智 教案.doc
- 影视广告制作基础PPT课件(共10章)第六章影视广告的拍摄方式及技巧.pptx VIP
- 小学语文四年级下学期文言文阅读专项练习(含答案).pdf
- RS232与RS485之间的区别.ppt VIP
- 《GB 45067-2024 特种设备重大事故隐患判定准则》培训.pptx
- 系统架构设计师高级数据架构与存储策略.pptx VIP
- 系统架构设计师高级系统架构原理与原则.pptx VIP
- 《消防设施通用规范》GB55036-2022解读课件.pptx VIP
- 江苏省南京市玄武区2024年四上数学期末考试试题含解析.doc VIP
- 系统架构设计师高级架构创新与趋势分析.pptx VIP
文档评论(0)