首页
社区
课程
招聘
[原创]CVE-2015-1641拼凑笔记
发表于: 2020-5-31 11:53 7131

[原创]CVE-2015-1641拼凑笔记

2020-5-31 11:53
7131

想起PatchworkAPT很有特色,该组织武器库都是来自于开源平台(包括黑市场),披露时候命名为拼凑物。历史数据来看,他们也挺擅长玩office_cve_exp。

有足够的时间当大自然的搬运工,Patchwork寓意同样适用于该文章。

EXP:

a69f778d1f511268019b1080f5e3b98b


APT28:

已上传论坛附件


Windowsx32


Office: cn_office_professional_2007_cd_X12-42319

msdn我告诉你-可以下载

 


利用rtfobj.py(github下载oeltools工具),查看Poc数据:

 

 

rtfobj.py -s [id] Poc.docx提取上述id=2文档,文档会触发漏洞:

 

 

windbg附加WINWORD.exe,word打开提取的id=2_docx,虚拟机运行测试是否崩溃,如下所示:

 


触发wwlib!DllGetClassObject+0x50e6-位置没问题,[ecx]内存地址没问题,拷贝wwlib.dll到本机,IDA打开定位:

 

 

IDA定位崩溃地址,如下所示:

 


ida来看,[ecx]变量引发的异常,mov ecx,[eax],所以是二级指针。windbg触发崩溃之前栈情况,上一层是DLLCanUnLoadNow+偏移,IDA来上面回溯的两层,因为不熟悉整WORD标签解析处理,看了也没太明白......,梳理不出来前因后果:

 


漏洞引发根本原因是类型混乱,smartTag 标签引起的,这里引用图片如下:

来源:https://paper.seebug.org/351/#2

 

 


类型混乱那就是A类型当作类同的B类型解析,解析错误自然就会非法访问。结合poc指针中保存了0x7c38bd50,这本该是有效对象,至于加载标签的流程也没有研究过,不过善于百度/谷歌,引用如下:

来源:https://www.anquanke.com/post/id/171343


按照上述说法粗略理解WORD在解析文档过程中,没有验证customXML对象,所以可以传入类似对象smarTag。虽然明白字面咋回事,但不算理解最好借助代码熟悉结构和解析XML过程(可以参考msdn),很多的好的资料可以参考。

来源:https://bbs.pediy.com/thread-134518.htm


话说2007格式比2003简单一些,有xml数据存储。将样本提取id=2_Poc后缀改成.Zip,解压后word目录下会有document.xml,打开文件查询类型混淆地址,如下所示:

 

w:smartTag.w:element解析出错,虽然loudy代码中未解析该标签,但是学习了一些结构体很有帮助。半熟半懂等于没懂,不过根据IDA先在脑海中脑补一下就好了。

最好把可以执行exp单步跟踪两回以上,认真的观察略加思考,用不了太长时间


手动提取rtf百度教程很多,这里引用文章-如何手动提取,如下所示:

参考:https://www.jianshu.com/p/f0be451c93ea


 



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2020-5-31 11:57 被一半人生编辑 ,原因:
上传的附件:
收藏
免费 3
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//