




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Windows 2003 堆溢出及其利用技术深入研究 作者:FlashSky 日期:2003-12-26 感谢 安全焦点所有的成员与启明星辰积极防御实验室的同事 主讲目录 WINDOWS堆结构简介 WINDOWS堆溢出利用 WINDOWS 2003堆溢出保护 WINDOWS 2003堆溢出保护的弱点 思路的延续:弱点利用深入的讨论 思路的突变:更广泛的另类有效利用的手段 未来WINDOWS 2003堆溢出利用研究的方向 Copyright FlashS 2003 WINDOWS 堆结构简介(1) 前言 WINDOWS 2003,系统低层的安全性改进 本文的目的 当前关于WINDOWS堆的研究 WINDOWS 堆管理结构与管理特性的研究 WINDOWS 堆特性在堆溢出时的利用的研究 WINDOWS 2003的堆特性的研究 Copyright FlashS 2003 WINDOWS 堆结构简介(2) WINDOWS堆结构简介 堆与堆块 堆管理结构与堆块管理结构 堆的整体结构构架 Copyright FlashS 2003 Copyright FlashS 2003 堆管理结构块 (SIZE:0X640/0XC50) 堆段表块0 (SIZE:0X40) 小堆块分配管理表结构 (SIZE:0X1818),可选 用户堆块数据区 堆的基地址 一般紧接着堆管理结构块之后 WINDOWS 堆结构简介(3) WINDOWS堆块分配与释放的管理 大堆块对象与小堆块对象 空闲堆块双向链表头 空闲大堆对象与空闲小堆对象入链算法 Copyright FlashS 2003 WINDOWS 堆溢出利用(1) 基本原理 常见的普通利用方式: 引起空闲堆组成的双向链表的脱链的操作 Copyright FlashS 2003 Copyright FlashS 2003 NextP2PrevP0 NextP3PrevP1 NextP4PrevP2NextP3/PrevP3 NextP2/PrevP2 NextP1/PrevP1NextP3PrevP0 NextP3PrevP1 NextP4PrevP1 一个正常的堆块脱链表过程 WINDOWS 堆溢出利用(2) 双向链表的入链利用的可能性 可利用的原理 利用的要求 Copyright FlashS 2003 NextP3PrevP0 NextP3PrevP1 NextP4PrevP1NextP3/ PrevP3 NextP2/ PrevP2 NextP1/ PrevP1 NextP2PrevP0 NextP4PrevP1 UNKNUNKPNextP3PrevP1 NextP2PrevP0 NextP4PrevP2 一个正常的大堆块插入入链表过程 Copyright FlashS 2003 WINDOWS 堆溢出利用(3) 覆盖空闲大堆可以达到的目的: 我们能将一个当前释放堆的地址填入到一个由我们指定的内存地 址中 Copyright FlashS 2003 NextP3PrevP0 NextP4PrevP1 NextP3PrevP0 JMPTSEHP TSEH NextP3PrevP0 JMPNextP2 NextP2 NextP3SEHP TOP SEH TOP SEH 一个利用大堆块插入入链表的过程 NextP3/ PrevP3 NextP1/ PrevP1 NextP2/ PrevP2 Copyright FlashS 2003 WINDOWS 堆溢出利用(4) 入链表利用的进一步 问题:当前释放堆块地址的前8字节内容是我们无法控制的指针价 值。 解决方法:再次分配时候可以将我们可以控制的4字节写入 Copyright FlashS 2003 Copyright FlashS 2003 NextP3PrevP0 JMPNextP2 NextP2 JMPSEHP NextP3PrevP0 JMPNextP2 NextP2 JMPSEHP TOP SEHJMP ADDR 触发异常 利用分配再次写入JMP代码到头四字节 WINDOWS 堆溢出利用(5) WINDOWS堆溢出可以利用的途径 脱链表时 入链表时 Copyright FlashS 2003 WINDOWS 2003 堆溢出保护(1) 基于堆溢出利用原理的检查 基于覆盖双向链表的地址导致可写入任一地址空间 检查上下链表的一致性可以检查和防止堆溢出的利用 Copyright FlashS 2003 Copyright FlashS 2003 lea ecx, esi+8 mov edi, ecx mov ebp-0D8h, edi mov eax, esi+0Ch mov ebp-94h, eax mov edx, eax cmp edx, edi+4 jnz loc_77F36DE1 cmp edx, ecx jnz loc_77F36DE1 mov eax, edi mov edi+4, eax WINDOWS 2003 的检查的代码 WINDOWS 2003 堆溢出保护(2) 简单而言,其要求就是 被处理的当前堆块的管理结构的双向链表的下一个堆块指针与上 一堆块指针要满足如下条件: 1.当前堆块的下一个堆块指针指向的堆块的上一个堆块指针要等 于当前堆块的地址 2.当前堆块的上一个堆块指针指向的堆块的下一个堆块指针要等 于当前堆块的地址 Copyright FlashS 2003 WINDOWS 2003 堆溢出保护(3) 普通饶过的困难 需要构造这样的条件需要准确的知道当前堆块的地址,然而往往 当前堆块的地址我们不可知。 同时我们需要改写的有效的内存地址如SHE,RET ADDR,TOP SHE, FUNC HANDLE等周围的内容我们不可控制 Copyright FlashS 2003 WINDOWS 2003 堆溢出保护的弱点与问题(1) 保护的范围 跟踪所有的利用途径,发现: WINDOWS 2003只对出链表的路径做了完善检查,缺乏对入链表 路径利用的检查。 构造满足入链表攻击的条件就能成功修改一个特定内存的值为释 放堆块的地址。 MS遗漏检查的原因? Copyright FlashS 2003 WINDOWS 2003 堆溢出保护的弱点与问题(2) 检查的逻辑 逻辑上,并不能真正保证 检查的正确性。 某种含义上,我们还是能欺骗这种保护,如果我们能找到一种有 普遍意义的特殊的利用形式,我们也能饶过检查。 Copyright FlashS 2003 思路的延续:遗漏检查利用深入的讨论(1) 新的困难 无法使用分配的过程再次写入JMP CODE,这样头8字节我们无法 控制其内容,引起SHELLCODE执行的异常或失败。 因为分配路径做了完整的保护检查。 Copyright FlashS 2003 Copyright FlashS 2003 NextP3PrevP0 JMPNextP2 NextP2 NextP3SEHP TOP SEH 无法满足检查的条件 思路的延续:遗漏检查利用深入的讨论(2) 期待于运气? 再次的推导:构造的欺骗 如果我们能知道堆块的准确地址,是否可以构造欺骗? 为什么这里能构造欺骗而前面不能? 演示:一个构造欺骗写入JMP的实现 Copyright FlashS 2003 思路的延续:遗漏检查利用深入的讨论(3) 新的发现与困境 一个可以满足检查的堆块的脱链操作将再次改写SEH Copyright FlashS 2003 Copyright FlashS 2003 NextP3PrevP0 JMPNextP2 NextP2 NextP3SEHP TOP SEH 如果我们能让这 个堆块进行脱链 表操作又如何? Copyright FlashS 2003 NextP2PrevP0 JMPSEHP NextP3 NextP3SEHP TOP SEH 这时异常会有什么结果? 思路的延续:遗漏检查利用深入的讨论(4) 双堆块释放的触发 一个可以满足检查的堆块的脱链操作将再次改写SHE指向我们原 来的被覆盖的堆块(而不是当前释放的堆块),而这里的头4字节 是我们可以控制的内容。 演示:双堆块释放二次重写TOP SHE的实现利用 Copyright FlashS 2003 思路的延续:遗漏检查利用深入的讨论(5) 更深入一步: 利用次序,在非双堆块释放环境下构造双堆块释放的环境 演示:构造双堆块释放的实现 限制条件汇总 Copyright FlashS 2003 思路的突变:更广泛的另类有效利用手段(1) 不能满足于覆盖空闲大堆块的苛刻条件,我们需要再求新的思路 转换一下思路,构造欺骗用于新的利用形式: 思路的来源 Copyright FlashS 2003 思路的突变:更广泛的另类有效利用手段(2) 一种利用的转换 与堆栈/数据区的结合 甚至可以用于制造空闲大堆块覆盖的条件 Copyright FlashS 2003 思路的突变:更广泛的另类有效利用手段(3) 演示:一个将堆溢出转化为数据区溢出利用的实现 限制条件汇总 Copyright FlashS 2003 未来WINDOWS 2003堆溢出研究的方向 Copyright FlashS 2003 Thanks ! Q/A gOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z- w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z- w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbK8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z- w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcKD1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A- w*t$qYnVkSgPdLaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A- x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A- x*u$qZnVkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A- x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-w*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9HA-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z- w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlQeNbJ8G4D1A- w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8H5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A- w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z&s#pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年编外人员考试题库答案
- 2025广东广州启安众智建设管理有限责任公司第二批项目制用工内蒙古岗位招聘8人考试参考题库附答案解析
- 2025晋中祁县司法协理员招聘考试参考题库附答案解析
- 17 -18世纪欧洲绘画+课件-2025-2026学年高一上学期美术粤教版必修
- 合作学习:电大英语远程开放教学的创新引擎
- 2025年泌尿外科泌尿系统常见病症诊疗模拟考试卷答案及解析
- 2025年教师招聘之《幼儿教师招聘》通关练习题库包附参考答案详解【轻巧夺冠】
- 2025呼伦贝尔农垦集团有限公司校园招聘44人笔试备考及答案详解一套
- 教师招聘之《小学教师招聘》强化训练高能及答案详解(新)
- 完整社区建设案例集(第三批)
- 龙虎山正一日诵早晚课
- 米粉及杂粮类制品课件
- 楔形平板产生的等厚干涉
- 骨髓腔穿刺在急诊急救中的应用课件
- 机械动力学PPT完整全套教学课件
- 年产2.03万吨高端精细化学品及5G新材料项目环评报告书
- 群众文化副高答辩问题及答案
- GB/T 41972-2022铸铁件铸造缺陷分类及命名
- 主编-孙晓岭组织行为学-课件
- 中医刮痧法诊疗操作评分标准
- 《师范生教师职业能力证书》样式及说明
评论
0/150
提交评论