0x00 前言– 最近看了一篇文章《VSTO: The Payload Installer That Probably Defeats Your Application Whitelisting Rules》,介绍了利用VSTO实现Office后门的方法,我在之前的文章《Use Office to maintain persistence》和《Office Persistence on x64 operating system》曾对Office的后门进行过学习,本文将结合自己的研究心得,对该方法进行复现,分析利用思路,分享实际利用方法,最后介绍如何识别这种后门。 文章地址: https:///2018/01/31/vsto-the-payload-installer-that-probably-defeats-your-application-whitelisting-rules/ 0x01 简介本文将要介绍以下内容:
0x02 VSTO的编写方法1、VSTO简介全称Visual Studio Tools for Office 用来定制Office应用程序,能够同office控件交互 集成在Visual Studio安装包中 如下图 2、VSTO开发本节内容是对《VSTO: The Payload Installer That Probably Defeats Your Application Whitelisting Rules》的复现 (1) 新建工程
如下图 (2) 添加代码添加引用 添加弹框代码:
如下图 (3) 编译设置对应.Net版本,编译,生成如下6个文件:
(4) 安装插件执行WordAddIn2.vsto 弹框提示无法验证发行者,如下图 选择安装 查看 #### (5) 打开word.exe,自动加载插件 弹框,如下图 查看Word加载项,能够看到加载插件WordAddIn2,如下图 至此,成功实现Office后门的安装 0x03 实际利用思路对于实际利用,首先需要满足安装过程无界面,所以要绕过弹框提示无法验证发行者,需要做如下改进: (1) 命令行安装VSTO插件使用VSTOInstaller.exe 系统安装Office后包含,默认路径 参数说明: /i: 安装 /u: 卸载 /s: 静默操作,如果需要信任提示,将不会安装或更新自定义项 安装参数如下:
由于信任提示,无法验证发行者,所以安装失败 (2) 绕过验证发行者VSTO插件提供签名功能,如下图 手动生成一组签名证书,使用如下工具
来自于Windows SDK,可供参考下载的地址: https://github.com/3gstudent/signtools 生成命令:
执行后生成Root.cer、Root.pfx、Root.pvk、Root.spc四个文件 替换插件WordAddIn2的证书,如下图 证书注册(管理员权限):
注: 需要将证书同时添加到 再次安装VSTO插件,不会被拦截 (3) 远程安装VSTOInstaller.exe支持远程安装 可以将VSTO插件放在远程Web服务器上 安装参数如下:
综上,实际利用过程如下:
0x04 后门检测1、查看 注: VSTO插件并不会在注册表卸载配置的位置( 2、查看Office的COM加载项 注: 禁用宏并不会阻止VSTO插件的加载 0x05 小结本文测试了利用VSTO实现Office后门的方法,结合实际利用思路,分析检测方法 |
|