郑重声明: 本文所有安全知识与技术,仅用于探讨、研究及学习,严禁用于违反国家法律法规的非法活动。对于因不当使用相关内容造成的任何损失或法律责任,本人不承担任何责任。 如需转载,请注明出处且不得用于商业盈利。
💥👉点赞❤️ 关注🔔 收藏⭐️ 评论💬💥
更多文章戳👉 Whoami!-CSDN博客🚀
𖤐 客户端攻击通常是欺骗用户在操作系统上执行恶意代码,小心啊 !
𖤐 𝓒𝓵𝓲𝓮𝓷𝓽-𝓼𝓲𝓭𝓮 𝓪𝓽𝓽𝓪𝓬𝓴𝓼 𝓾𝓼𝓾𝓪𝓵𝓵𝔂 𝓽𝓻𝓲𝓬𝓴 𝓾𝓼𝓮𝓻𝓼 𝓲𝓷𝓽𝓸 𝓮𝓍𝓮𝓬𝓾𝓽𝓲𝓷𝓰 𝓶𝓪𝓵𝓲𝓬𝓲𝓸𝓾𝓼 𝓬𝓸𝓭𝓮 𝓸𝓷 𝓽𝓱𝓮 𝓸𝓹𝓮𝓻𝓪𝓽𝓲𝓷𝓰 𝓼𝔂𝓼𝓽𝓮𝓶, 𝓼𝓸 𝓫𝓮 𝓬𝓪𝓻𝓮𝓯𝓾𝓵 !
→ 信息收集
→ 漏洞检测
→ 初始立足点**▸客户端攻击▸利用WORD宏让客户端执行命令-----我们在这儿~** 🔥🔥🔥
→ 权限提升
→ 横向移动
→ 报告/分析
→ 教训/修复
目录
[1 客户端攻击:突破企业边界的社交工程](#1 客户端攻击:突破企业边界的社交工程)
[1.2 利用Microsoft Office宏进行客户端攻击](#1.2 利用Microsoft Office宏进行客户端攻击)
[1.2.1 宏攻击要点:跨越三重障碍](#1.2.1 宏攻击要点:跨越三重障碍)
[1.2.2 攻击环境搭建:安装Microsoft Office](#1.2.2 攻击环境搭建:安装Microsoft Office)
[1.2.3 Microsoft Word宏介绍](#1.2.3 Microsoft Word宏介绍)
[1.2.3.1什么是Microsoft Word宏](#1.2.3.1什么是Microsoft Word宏)
[1.2.4 实战:创建恶意Word宏](#1.2.4 实战:创建恶意Word宏)
1.创建WSH对象实例(Wscript.Shell)并启动PowerShell
[💥创作不易💥求一波暴击👉点赞❤️ 关注🔔 收藏⭐️ 评论💬](#💥创作不易💥求一波暴击👉点赞❤️ 关注🔔 收藏⭐️ 评论💬)
1 客户端攻击**:突破企业边界的社交工程**
1.2 利用Microsoft Office宏进行客户端攻击
宏攻击: 是当今勒索软件和网络入侵中最常见的初始突破口之一。其成功依赖于一个简单的悖论:Office套件++无处不在++且是办公必需品,但这恰恰使其成为完美的攻击载体( Office文档通常可以通过电子邮件或者别的其他工具流转**)。**
1.2.1 宏攻击要点:跨越三重障碍
要成功发动一次宏攻击,攻击者必须像闯关一样解决以下三个核心挑战:
🔰 第一关:文档投递 - "如何送达?"
-
挑战 :邮箱服务商和垃圾邮件过滤器通常会默认拦截或标记Office附件 。同时,安全意识培训也告诫员工不要启用宏。
-
攻击者对策:
-
不直接发送附件,而是提供下载链接(如微软OneDrive、Google Drive等)去下载word,绕过直接附件检测。
-
使用合情合理的借口(如"请下载查看您的采购订单")。
-
🛡️ 第二关:受保护视图 - "如何打开大门?"
-
挑战:网络标记(Mark of the Web, MOTW)
-
是什么:当一个文件从互联网下载后,Windows会自动为其添加一个"来自网络MOTW"的标签。
-
安全效果 :带有MOTW的Office文档会在 "受保护视图" 中打开,此模式下所有宏和编辑功能都被禁用,用户只能查看。
-
攻击者对策 :利用社会工程学,诱骗用户点击黄色的"启用编辑"按钮 。例如,将文档内容模糊化,并提示"点击'启用编辑 '以解锁并查看完整文档"。如下图:

-
MOTW 是什么?
- 核心定义:MOTW(Mark of the Web,网络标记),Windows 安全功能
- 标记原理:给网络来源文件加 "Zone.Identifier" 标签(NTFS 数据流,常见 ZoneID=3)
- 安全作用:触发系统 / Office 安全警告;受 Windows Defender SmartScreen 额外审查
- 应用场景:网页下载文件自动添加MOTW标记;邮件附件符合条件则添加MOTW标记
- 漏洞案例:例如:7-Zip(CVE-2025-0411,24.09 版前),双重压缩包可绕过标记,恶意文件直接执行
🚫 第三关:宏阻止策略 - "如何最终执行?"
-
挑战 :微软最新版本的office(2021以后)已更新策略:默认阻止来自网络的VBA宏。用户不再看到简单的"启用内容 "按钮,而是一条更严重的警告"Learn More" ,并引导至说明宏危险的官方页面。旧版本:

新版本(2021版)后:微软的官方页面提供了如何通过检查文件属性下的解除阻止来解除宏 的说明。(更繁琐了!)

-
攻击者对策:
-
指导用户完成繁琐的"解除锁定"步骤 :说服用户右键点击文件 -> 选择"属性" -> 在"常规"选项卡中勾选 "解除锁定" 。
-
依赖更少见的Office程序(如Microsoft Publisher),它们可能没有同样严格的安全限制。
-
🛡️ 启示
攻击本质 :Office宏攻击是一场针对人性的心理博弈 。技术障碍被层层设置,但攻击者通过精心设计的社会工程学话术,一步步引导目标亲手解除这些防护。
关键进化 :微软的安全策略在不断升级(如从"启用内容"到直接警告),这使得攻击的成功率降低、操作更复杂,但并未根除威胁。只要用户有启用宏的需求,此攻击向量就会存在。
最强防御 :用户教育 是第一道也是最重要的一道防线。必须让每一位员工深刻理解:"来自不明来源的Office文档,尤其是要求启用编辑和宏的,极度危险。"
1.2.2 攻击环境搭建:安装Microsoft Office
这部分是攻击的实验准备,旨在目标机器上建立一个真实的Office环境,安装程序过程简要说明。
核心步骤:
| 步骤 | 操作 | 目的/说明 |
|---|---|---|
| 1. 远程连接 | 使用 xfreerdp 命令连接到实验攻击目标的Windows机器。在kali上执行: $ xfreerdp /v:192.168.1.100 /u:Administrator /p:password123 |
实现远程操作目标机器。 |
| 2. 加载安装镜像 | 到C:\tools\ 双击Office2019.img文件 |
将其作为虚拟光驱,准备安装。 |
| 3. 运行安装程序 | 双击执行 Setup.exe。如下图: |
开始安装Office套件。 |
| 4. 完成初始配置 | 关闭 试用弹窗 -> 接受 许可协议 -> 选择"不发送" 隐私选项。 | 确保Office可以正常启动和运行,为后续创建恶意文档做准备。 |

1.2.3 Microsoft Word宏介绍
1.2.3.1什么是Microsoft Word宏
**Microsoft Word宏:**是一把不折不扣的双刃剑:
-
对合法用户而言 ,它是提高效率的自动化利器。
-
对攻击者而言 ,它是潜入系统的完美特洛伊木马。
宏就像一个"office机器人",它可以记录下你在Word里的一系列操作(如点击、打字、格式化),之后你只需一个指令,这个机器人就能自动、快速地重复所有这些工作。
-
本质 :宏是一系列命令和指令的集合,用来自动化完成任务。
-
核心技术 :基于 VBA(Visual Basic for Applications) 语言。
-
常见合法用途:
-
📄 自动化格式化(一键生成标准报告模板:插入页眉、页脚、日期等)
-
🔄 批量处理(快速替换上百个文档中的特定词汇)
-
🔗 动态内容(链接外部数据库,自动更新文档内容)
-
1.2.3.2宏的"创造"方式
| 方式 | 特点 | 适用场景 |
|---|---|---|
| 🎙️ 录制宏 | 无需编程,像用录音机一样记录你的操作步骤。简单直观。 | 简单的重复性任务,如设置字体、插入签名等。 |
| 💻 编写VBA代码 | 通过编程实现复杂、灵活且强大的功能。 | 复杂的逻辑处理 ,如连接数据库、处理用户表单,以及恶意攻击。 |
录制宏的基本步骤:
-
视图 选项卡 -> 宏 组 -> 点击
录制宏。 -
为宏命名并(可选)分配快捷键。
-
执行你想要自动化的操作(所有操作将被记录)。
-
点击
停止录制。 -
运行宏:通过设置的快捷键,或通过"视图 "选项卡->"宏"按钮来运行已录制的宏。
1.2.3.3宏如何成为攻击武器
攻击逻辑: 攻击者将恶意VBA代码嵌入Word文档的宏中。一旦用户打开文档并启用宏,这些代码就会自动执行。
一个恶意的宏可以做什么?
-
🚀 下载并执行恶意软件(如勒索软件、后门程序)。
-
📁 窃取本地文档和数据。
-
🔑 获取系统权限并建立反向Shell,让攻击者能远程控制你的电脑。
💡 核心洞察:宏攻击之所以经久不衰,是因为它巧妙地利用了Microsoft Office的合法功能。攻击并非利用软件漏洞,而是依赖于"++欺骗用户++"这一人性漏洞。
1.2.3.4如何防范宏
由于宏的强大能力可能被滥用,微软构建了多层次的安全防护:
| 安全机制 | 作用 | 攻击者对策 |
|---|---|---|
| 默认禁用宏 | 打开包含宏的文档时,会显示明显的安全警告栏。 | 社会工程学 :在文档中文字引导用户点击"启用内容"。 |
| 受保护视图 | 来自互联网的文档(带MOTW)默认在此模式下打开,宏无法运行。 | 诱骗用户点击 启用编辑 以退出受保护视图。 |
| 宏阻止策略 | 新版本Office对网络文件中的宏显示更严厉的警告,并引导至教育页面。 | 指导用户通过文件属性 解除锁定,或使用其他借口。 |
1.2.4 实战:创建恶意Word宏
创建一个包含宏的Word文档,是客户端攻击的关键一步。不是所有Word文档都能保存宏!
| 文件格式 | 特性 | 是否适合宏攻击 |
|---|---|---|
.docx |
默认的现代Word格式,基于XML。 | ❌ 不适合。它无法内嵌持久化的宏。 |
.doc 或 .docm |
支持宏的旧格式(.doc)或专门启用宏的格式(.docm)。 | ✅ 适合 。这是嵌入和保存宏的正确选择。 |
🚨 重要提示: 必须将文档保存为
.doc或.docm格式,才能将恶意宏持久化地嵌入其中。这是攻击成功的先决条件。
创建宏的过程,其核心在于启动Visual Basic编辑器并输入攻击代码。
1.2.4.1新建Word文档
🏁 起点 :首先创建一个新的Word文档,Word文件名:mymacro。另存为:必须选择"Word 97-2003 文档 (.doc)"或"启用宏的Word文档 (.docm)"。

1.2.4.2在Word文档中打开VBA编辑窗口
-
⚙️ 打开宏创建界面:
-
点击顶部菜单的
视图选项卡。 -
在
宏组中,点击宏下拉按钮,然后选择查看宏。

-
-
🛠️ 配置与创建:
-
在弹出的对话框中,为宏命名 (例如
MyMacro)。 -
在"宏作用于"下拉菜单中,确保选择了你刚刚保存的文档 (如
mymacro.docm)。这确保了宏被保存在当前文档中。 -
点击
创建按钮。这将打开 Microsoft Visual Basic for Applications (VBA) 编辑器 窗口。

-
1.2.4.3编辑宏代码
在创建宏的"容器"(.docm文件) 和**"骨架"(空的Sub过程)** 后,最关键的一步就是为其注入恶意"灵魂"------VBA代码 ,并确保它能自动执行。
**VBA(Visual Basic for Applications)**是微软开发的一种编程语言,它主要用于为Microsoft Office应用程序(如Word、Excel、Access、Outlook等)编写自动化脚本和自定义功能。VBA是 Visual Basic编程语言的一个子集,通常用于编写宏和自动化任务。
你会看到一个自动生成的基本结构,如下图:
-
Sub和End Sub标记了宏的开始与结束,就像一本书的封面和封底。 -
单引号
'开头的是注释,代码不会执行。
vbscript
Sub MyMacro()
' ... (这里是空的,或者有一些注释)
End Sub

1.创建WSH对象实例(Wscript.Shell)并启动PowerShell
攻击的思路:通过Word宏来执行系统命令,这需要一个能操作系统的"桥梁":

组件解析:
-
Wscript(WSH,Windows脚本宿主) :这是一个环境。是VBA向Windows系统发号施令的 "万能遥控器"。它让宏突破了文档的限制,获得了触摸系统底层的能力。比喻:通过这个遥控器可以操控各种设备------比如打开电视、启动空调,或者启动其他任何设备,而这些设备就像是操作系统中的应用程序或命令。
-
Shell对象: 是WSH提供的一种对象,通过它可以执行命令、启动程序、操作文件等。Shell对象就像是这个遥控器的控制部分。通过Shell对象,发送"指令"来启动程序或运行命令。
-
.Run方法: 是Shell对象的一个方法,它用来运行指定的应用程序或命令。就像是遥控器上的 "启动按钮"。按下它,就能运行指定的程序或命令。
举例:
假设你有一个脚本,你用Shell对象来告诉它"打开记事本"(记事本就是程序),然后你按下遥控器上的启动按钮(即Run方法),记事本就会自动打开。
示例:启动PowerShell
vbscript
Sub MyMacro()
CreateObject("Wscript.Shell").Run "powershell"
End Sub
这行代码的作用是:创建系统遥控器 -> 按下启动键 -> 打开PowerShell程序。
2.设置打开word时自动运行代码
一个空的宏不会自己做任何事。必须让它在文档打开时自动运行 。
我们必须使用预定义的AutoOpen宏 和**Document_Open事件,**在打开Word 文档时运行我们的代码。它们在微软Word和文档的打开方式上略有不同。 两者都涵盖了另一个不涵盖的特殊情况,因此我们同时使用两者:
| 特殊宏名 | 作用 | 比喻 |
|---|---|---|
AutoOpen() |
当文档被打开时,自动执行此宏中的代码。 | 汽车自动点火系统------一拧钥匙就启动。 |
Document_Open() |
功能与 AutoOpen 类似,确保在不同场景下都能触发。 |
双保险的点火装置。 |
更新的VBA代码如下:
vbscript
Sub AutoOpen()
MyMacro ' 调用我们自定义的攻击宏
End Sub
Sub Document_Open()
MyMacro ' 调用我们自定义的攻击宏
End Sub
Sub MyMacro()
' 这里是真正的恶意操作,例如启动PowerShell
CreateObject("Wscript.Shell").Run "powershell"
End Sub
🚨 重要提示: 在实际攻击中,攻击者不会只是打开一个PowerShell窗口,而是会执行诸如
powershell -c "恶意命令"来下载并运行勒索软件或后门。
3.验证:诱导目标客户端打开Word文件自动运行宏
①保存宏代码
在VBA编辑器中点击保存,然后关闭编辑器并保存Word文档。现在,这个文档已经是一个功能完整的"木马"了。
②社会工程学:诱导目标"启用宏"
当你将这个文档发送给目标后,整个攻击链能否成功,完全取决于最后一步:
-
目标打开文档,Word会因宏的存在显示 "安全警告" 栏。
-
目标必须点击
启用内容,恶意宏才会执行。

- ✅ 点击
启用内容后,会自动出现一个PowerShell窗口 。这证明刚刚的代码已经成功在目标上执行,获得系统命令的执行权限。
在真实的攻击中,这一切可能在后台静默发生,用户毫无察觉。

如何诱导用户点击,这纯粹是一场心理博弈:
攻击者 :会在文档里伪造内容,如"此文档内容已损坏,请点击'启用内容'以正常显示"。
防御者 :任何情况下都不要轻易启用来自不可信来源的宏!
在PowerShell启动后,意味着接下来就可以构造PowerShell可执行的恶意代码,去执行一些非法行为,比如:实现反向shell。请看下一篇文章。
💥创作不易💥求一波暴击👉点赞❤️ 关注🔔 收藏⭐️ 评论💬
您的支持是我创作最大的动力!
