函数|某办公处理软件公式编辑器漏洞复现
文章插图
作者:维阵漏洞研究员—hk
01 概述各公司的网络安全防护体系的壁垒日益增高,攻击人员从防护体系的正面撕开入侵的路径的机会越发渺茫。使用多个0day组合攻击相对成本较高,社工这种低成本收益高的攻击方式会被更加重视,特别是所有人都会用到的办公软件必然会被攻击者重点关注。笔者对国内某款办公处理软件进行研究,利用该漏洞进行后门的植入和利用,进行技术演示。
02 漏洞说明1、影响版本
某办公处理软件 2019版 11.1.0.10132
2、漏洞类型
栈溢出攻击
3、发现方式
fuzz
4、本次测试环境
由于没有在网络上找到对应的版本,所以找到了相近版本11.1.0.10397。
使用win10的系统,系统版本号为18363.592。
文章插图
?系统环境配置完毕后,一定要做快照!!!在测试过程中发现有时漏洞不会触发,而且windbg等调试器容易出现闪退的现象,原因未知,所以一定要做快照!!!
03 漏洞成因在fuzz过程中产生了崩溃,使用windbg的!analyze插件分析崩溃转储文件。分析结果如下图所示:
文章插图
在ida中找到对应的地址,然后向上追溯那些指令修改了eax。可以看到在004362b6处有call指令,说明call指令调用的函数返回的结果存在问题。
文章插图
【 函数|某办公处理软件公式编辑器漏洞复现】查看伪代码,对应的函数为sub_43622d中的v8[8]函数。
文章插图
结合伪代码和call指令的格式,大概推断程序使用了虚函数表。
在注册表中向公式编辑器添加字符串类型的Debugger值,确保公式编辑器被启动时可以触发windbg并可以调试公式编辑器。
在004362b6处下断点。
//每次命中断点时显示eax的值然后继续执行
bp 004362B6 ".printf \"hits=%d\n\",$t0;r @$t0=@$t0+1;r @eax;gc"
?在使用windbg下断点时如果使用文件名+偏移量的方式,则一定要先使用lm命令来查看文件加载后的真实名字。例如a文件直接看到的名字是a.exe,但是在加载后可能为a32.exe。下断点时则需要使用a32+偏移量来下断点。
断点记录如下:
hits=0 eax=00451938
hits=1 eax=00451970
。。。(hits1-hits56的eax值均为00451970)
hits=56 eax=00451970
hits=57 eax=00450f58
Breakpoint 1 hit
eax=00450530 ebx=00772658 ecx=004505bc edx=00000000 esi=0000ffff edi=0019f14c
eip=74fbdab0 esp=0019eee0 ebp=0019efec iopl=0 nv up ei pl nz na po nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202
KERNEL32!WinExec:
74fbdab0 8bff mov edi,edi
可以看到eax的值一共有00451938、00451970、00450f58这三种情况。这三个值加上20h对应的在ida中对应的情况如下:
00451938:
文章插图
00451970:
文章插图
00450f58:
文章插图
在eqnedt32+0x362b6处下条件断点,查看eax为00451970和00450f58时调用的函数。bu eqnedt32+0x362b6 ".if @eax=0x00450f58 {} .else {gh}"
在eax=00451970时调用了0043ebdf处的函数。
文章插图
在eax=00450f58时调用了0043ebdf处函数。
推荐阅读
- 飞书|泡泡玛特与飞书签署协议,将使用飞书及飞书OKR办公
- 腾讯|钉钉领跑、企微爆发、飞书急追,在线办公"三国杀"升温
- 接种疫苗|Facebook将重返办公室工作时间推迟至3月底
- 乡村教师|马云2022年首次现身,出现在海南某学校
- 国家互联网信息办公室|国家网信办:算法推荐服务提供者不得利用算法实施影响网络舆论
- 国家互联网信息办公室|新年老主题:阿里巴巴、腾讯、哔哩哔哩再被罚款
- 顾客|“某宝顾客强行挑错是什么体验?”商家:我是不是看起来不太聪明
- 国家互联网信息办公室|十三部门修订发布《网络安全审查办法》:掌握超100万用户个人信息的网络平台运营者赴国外上市必须进行网安审查
- 安全|协同办公迅猛发展,360数据安全必将成行业新标杆
- v10|QQ能跟进吗?微信全新版正式上架两大系统,聊天办公都方便太多