PowerShell Web Access( PSWA)
PSWA 是 Windows Server 2012 中引入的一个 Windows Server 功能,作为一个网关,提供基于网页的 PowerShell 控制台。这个控制台在功能上类似于你在本地机器上看到的PowerShell控制台。它允许管理员从未运行Windows操作系统或未安装PowerShell的设备,在远程计算机上执行关键管理任务。
它本质上是一个 PowerShell 到 Web 的网关。它能做以下这些事:
- 远程管理服务器,你可以从任何设备(Windows、macOS、Linux、iPad、手机)打开浏览器,登录 PSWA,然后管理Windows Server,Windows 客户端,任何启用了 PowerShell Remoting 的机器。
- 执行完整的 PowerShell 命令,包括:管理 AD,管理 Exchange,管理 Hyper‑V,查看日志、重启服务、部署脚本等。
- 无需安装客户端工具只要有浏览器 + HTTPS,就能远程管理服务器。
PSWA的滥用,从合法远程管理到隐蔽控制通道
在 CISA 联合通告 AA24-241A 中(https://www.cisa.gov/news-events/cybersecurity-advisories/aa24-241a),攻击者在入侵后的活动阶段滥用了 Windows PowerShell Web Access(PSWA) 作为远程控制与横向移动的关键组件。PSWA 本质上是一个合法的 Windows Server 功能,旨在允许管理员通过浏览器远程访问 PowerShell 控制台。然而,在获得足够权限的情况下,威胁行为者可以将其转化为稳定且隐蔽的命令执行平台。
在 AA24-241A 描述的行动中,攻击者通常已经完成以下步骤:
- 利用暴露的远程访问设备漏洞(VPN、应用交付控制器等)获取初始访问权限;
- 获得有效凭据或提升至管理员权限;
- 在受害主机上建立持久化控制。
在这一阶段,PSWA 被启用或配置,用作远程命令与控制(C2)通道、横向移动跳板、持久化远程管理入口等。
PSWA 提供基于浏览器的 PowerShell 交互式界面,其优势包括:
- 使用标准 HTTPS 通信(更易混入合法流量);
- 不需要传统远程桌面连接;
- 可直接执行系统管理命令。
值得强调的是,PSWA 并非漏洞,而是对系统内置管理功能的滥用,所以检测起来比较困难。
启用PowerShell Web Access
这里提供了一个完整的powershell脚本和bat脚本可以一键启用PSWA:
https://gist.github.com/MHaggis/7e67b659af9148fa593cf2402edebb41
也可以使用dism命令行工具启用:
dism /online /enable-feature /featurename:WindowsPowerShellWebAccess |
当然也可以使用图形化界面启用:

通过浏览器连接powershell web服务

安装完毕后就可以使用浏览器连接了就和访问webshell一样,默认路径为pswa .


输入用户名,密码,主机名后就可以连接到类似于powershell界面的网页中,你可以像操作powershell一样执行任意命令。

检测
PSWA还是需要依赖IIS提供的web服务,可以查看IIS中有无异常的site。

其它方法:
- IIS 日志检测
PSWA 路径通常包含 /pswa/,可通过 IIS 访问日志监控异常访问行为。
- 应用池与认证事件
PSWA 默认创建的 IIS 应用池名称(如 pswa_pool)可用作行为识别的线索,同时结合 Windows 事件日志(如 EventCode 4648、4624、4625)进行综合分析。
- 进程行为检测
关注由 wsmprovhost.exe 派生出的 PowerShell / cmd 进程,有助于识别远程执行痕迹及横向移动行为。