前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MalDoc in PDF,在PDF中隐藏恶意文档并执行宏代码

MalDoc in PDF,在PDF中隐藏恶意文档并执行宏代码

原创
作者头像
veryHappy
发布2023-09-20 21:31:31
4940
发布2023-09-20 21:31:31
举报
文章被收录于专栏:Desync InfoSecDesync InfoSec

介绍

日本计算机应急响应团队(JPCERT)分享了在2023年7月检测到的一种新的“PDF中的MalDoc”攻击,该攻击通过将恶意Word文件嵌入PDF中来绕过检测。多数工具识别该文件为PDF,但办公软件程序可以将其作为常规Word文档打开,若文件具有配置的宏,并且Microsoft Office上没有禁用自动执行宏的安全设置,则将运行宏代码。

简述及复现

正如JPCERT原文说的有关MalDoc in PDF的详细信息,“The attacker adds an mht file created in Word and with macro attached after the PDF file object and saves it. ”

在PDF文件结构对象的后面,添加在Word中创建带有宏的mht文件并保存。也就是将这个带有宏的MHT 内容添加到 PDF 的对象结构后面。最终生成出来是一个有效的PDF文件,但也可以在Word程序中打开。该文件作为PDF和Word MHT的组合,可以以两种文件格式进行打开,这种文件称为Polyglots,即是多种不同文件类型的合法形式,以此进行检测规避。

复现之前需要了解下PDF文件结构。可以参考zgao大佬的PDF文件结构分析文章(数据恢复(七)-PDF文件结构分析 – Zgao's blog)。样本(- ef59d7038cfd565fd65bae12588810d5361df938244ebad33b71882dcf683058)中是没有xref表和trailer部分的,显然这不影响该样本文件被识别为PDF文件,但运行就是会提示文件损坏的错误。

但在复现过程中发现,直接在PDF文件结构内容后追加带有宏的mht文件内容就也是可以的,并且使得该Polyglots能以PDF格式正常打开文件,也能以word程序正常打开。

首先创建带有宏的mht文件,这里写一个弹框的宏代码,另存为MHT文件。

然后利用python的reportlab库简单创建PDF文件。

代码语言:txt
复制
from reportlab.pdfgen import canvas  

from reportlab.lib.units import mm  

  

pdf\_canvas = canvas.Canvas("example.pdf")  

pdf\_canvas.setTitle("Example PDF")  

pdf\_canvas.setFont("Helvetica", 12)  

pdf\_canvas.drawString(50\*mm, 250\*mm, "Hello, Pdf!")  

pdf\_canvas.save()

因为PDF数据流stream在以Word程序打开的时候存在编码问题,笔者在Word程序和文件格式转换生成PDF创建出来的PDF文件均无法顺利运行MHT部分,最后用reportlab库创建才成功。

接着把MHT文件内容直接添加到刚新建的PDF结构内容的后面。

双击运行,能看到PDF被正常打开,如果打开方式是用Word程序,则会看到Word MHT也能正常打开,并且单击“启用编辑”以退出受保护的视图,能看到运行了宏代码

这里有个需要注意的地方是,PDF对象的<<>>里面的内容之间不要有换行符隔开,即不要分行,需要手动调整。

否则在使用Word程序打开的时候会出现解析失败的情况。

可以把PDF文件后缀改成doc,以便系统用Word程序启动,该文件仍被识别为PDF文件。

该PDF中的MalDoc不会绕过禁用Microsoft Office上自动执行宏的安全设置,在实战过程中还需要结合一定的社工。

利用CS生成恶意宏代码,再次生成恶意Polyglots文件,实际看看查杀情况

简单分析

MHT文件包含的VBA宏,是以ActiveMime格式存储。将上述复现中嵌入的 MHT 与恶意样本中的MHT结构部分进行比较,可以看到恶意样本为了防止被识别检测,把本应为ActiveMime 的部分,改为JPEG,并且下面的Base64 内容被多个“0D0A”间隔,意图混淆“QWN0aXZlTWlt”标识符。

若有更好的绕过检测方法,欢迎关注Desync InfoSec交流研究~

结语

具体防范措施可以看原文和一些参考文章,都有详细的介绍。

https://blogs.jpcert.or.jp/en/2023/08/maldocinpdf.html

https://blog.didierstevens.com/2023/08/29/quickpost-pdf-activemime-maldocs-yara-rule/

https://thehackernews.com/2023/09/beware-of-maldoc-in-pdf-new-polyglot.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 简述及复现
  • 简单分析
  • 结语
相关产品与服务
安全攻防对抗服务
安全攻防对抗服务(Cybersecurity Attack-Defense Confrontation)基于腾讯安全专家能力及多年的攻防对抗经验构建。面向对安全能力有较高要求的企业用户,在用户授权后,通过实战模拟 APT 攻击的手法,对企业信息化资产以及可能产生危害的安全风险进行测试。通过多维度、多视角的安全攻防对抗,动态检测企业安全防护的整体水位。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com