使用freemarker生成的word office无法打开_Office宏的基本利用

前言

Office宏,译自英文单词Macro。宏是Office自带的一种高级脚本特性,通过VBA代码,可以在Office中去完成某项特定的任务,而不必再重复相同的动作,目的是让用户文档中的一些任务自动化。而宏病毒是一种寄存在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。

Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件,也可说是一种应用程式视觉化的Basic 脚本。

环境准备

  • Windows 7 x64 旗舰版
  • Microsoft Office 2016
  • CobaltStrike 3.14

CobaltStrike生成宏

先利用CobaltStrike生成宏payload,接下来只要放入word、excel或ppt即可。

7e683d48656c28c8902d4c654265bd8a.png

创建宏Word

打开Word文档,点击 “Word 选项 — 自定义功能区 — 开发者工具(勾选) — 确定” 。

ada5f1df9cfd1be4fd83593275e0b6a5.png

编写主体内容后,点击 “开发工具 — Visual Basic” 。

c117005303b9dd8984406ff631f26519.png

双击 “ThisDocument” ,将原有内容全部清空,然后将CobaltStrike生成宏payload全部粘贴进去,保存并关闭该 VBA 编辑器 。

e9b818f5fa0384c3dd9016bfa323a275.png

另存为的Word类型务必要选”Word 97-2003 文档 (*.doc)”,即 doc 文件,保证低版本可以打开。之后关闭,再打开即可执行宏代码。

405f57d782d6935227f00fde70e2b9a1.png

反弹Beacon shell

默认情况下,Office已经禁用所有宏,但仍会在打开Word文档的时候发出通知。

258f342d8a97ad744ca4b0d9834792f1.png

诱导目标手动点击”启用内容”宏。

6296e18c2e676a0c0e194fb28f81f3d6.png

目标一旦启用,CobaltStrike的Beacon就会上线,即成功接收到Shell。

c4ad919cac70844d48c2c9b81596205c.png

宏代码分析

CobaltStrike生成默认的VBA会导入四个Windows API函数,常见的ShellCode加载器代码:

6008d192065af61783f87ef132ba4b68.png
  • CreateRemoteThread 创建一个在其它进程地址空间中运行的线程(也称:创建远程线程).
  • VirtualAllocEx 指定进程的虚拟空间保留或提交内存区域
  • WriteProcessMemory 写入某一进程的内存区域
  • CreateProcess 创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件

其中Array(-4,-24,-119,0,0,0,96,-119,-27...就是ShellCode,混淆的办法有很多种。

ShellCode可以自己在VBA里解码或者比如每个元素自增1,运行的时候-1,达到免杀 ……

本文章仅供学习研究office宏,不可用作非法用途,如产生任何法律问题,与平台及作者无关。

作者:AnonySec 博客:https://payloads.cn/

55f390155ac4913e1e77e07ee7bdd89a.png
参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值