二进制漏洞挖掘系列.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二进制漏洞挖掘系列

(9)- 二进制漏洞挖掘系列 实例分析格式化字符串漏洞 WritenBy 東 本节例子是CVE-2012-3569 VMware OVFTool 格式化字符串漏洞 分析思路来自漏洞战争 实验环境: win7 x86 实验工具: IDA pro, x32dbg, 漏洞软件: VMware-ovftool-2.1.0-467744-win-i386 漏洞战争配套下载资料: /s/1bo6iwcn VMware OVF Tool 是由VMware 免费提供的一款支持命令行运行的导入导出工具,ovftool.exe 在解析OVF 文件时存在格式化字符串漏洞,攻击者可以诱使用户加载恶意构造的OVF 文件实 现远程任意代码执行。 命令行加载程序提供的poc 程序异常,然后选择调试,我已经将x32dbg 设置成默认调试器 我们发现栈数据全被破坏掉了,也无法通过栈回溯来定位漏洞函数 那么则根据程序的输出来定位到这个打印输出的位置,发现输出了 Invalid value 接着我们用 字符串搜索功能来搜索 内存布局-反汇编转到 进入ovftool.exe 领空 在反汇编窗口中转到,这个位置 发现这段指令是用于分配字符串 没弄清x32dbg 怎么加命令行参数 如果你知道请告诉我下 谢谢.. 打开OllyDbg 命令行参数很简单 就是把poc.ovf 放在 ovetool.exe 的同目录下,启动即可 然后 bp 004B0434 F9 运行,断在这里之后单步跟踪调试直到控制台输出了poc 文件中的 ovf:capacityAllocationUnits 的属性值 单步跟踪到这个地址 0047EA31 观察堆栈 就是我们的打印函数 单步步过这个call 当执行完这个call 程序的堆栈被破坏,这个函数未对输入的参数进行判断 所以输入格式化字 符时会导致遍历栈数据,内存写入 用IDA 来还原一下这个call 的伪代码 v25 是我们构造的数据,在处理字符串的时候没有加以有效过滤所以产生了漏洞 接下来就是尝试构造exp,通过上节我们就可以利用%x 控制字符输出数量 %n 来写入返回地 址 先用漏洞战争里的exp 实验一下,内存地很明显是字母的ASCII 码 XP8A 定位到文件中XP8A 替换成AAAA 重新运行程序发现崩溃的位置正 我们发现了作者的跳板地址和后面的shellcode,由于实验环境不同所以地址偏移也有所不同 回到调试器中观察两个地方eip 和esp 这两个值都是可控的了,只需要地址处改 为jmp esp 的地址,地处开始布置我们的shellcode,现在进程空间找到一个可用的 jmp esp 的地址,由于格式输出对字符串的处理是00 阶段所以 地址不可以有00 出现 为了选择一个合适的跳板地址,这里我们用x32dbg 找,直接在ovftool.exe 中运行exp 程序崩 溃选择调试就默认选择了x32dbg 搜索call esp 下面是我们查找到的跳板地址我们选择一个不带00 的还得是可见字符.. 后面的shellcode 也必须是字母数字的组合,如何生成这种shellcode 请参考alpshellcode 加密

文档评论(0)

sunshaoying + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档