将powershell以web服务暴露出来,另外一种形式的webshell?
darkless

PowerShell Web Access( PSWA)

PSWA 是 Windows Server 2012 中引入的一个 Windows Server 功能,作为一个网关,提供基于网页的 PowerShell 控制台。这个控制台在功能上类似于你在本地机器上看到的PowerShell控制台。它允许管理员从未运行Windows操作系统或未安装PowerShell的设备,在远程计算机上执行关键管理任务。

它本质上是一个 PowerShell 到 Web 的网关。它能做以下这些事:

  1. 远程管理服务器,你可以从任何设备(Windows、macOS、Linux、iPad、手机)打开浏览器,登录 PSWA,然后管理Windows Server,Windows 客户端,任何启用了 PowerShell Remoting 的机器。
  2. 执行完整的 PowerShell 命令,包括:管理 AD,管理 Exchange,管理 Hyper‑V,查看日志、重启服务、部署脚本等。
  3. 无需安装客户端工具只要有浏览器 + 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

当然也可以使用图形化界面启用:

image

通过浏览器连接powershell web服务

image

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

image

image

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

image

检测

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

image

其它方法:

  1. IIS 日志检测

PSWA 路径通常包含 /pswa/,可通过 IIS 访问日志监控异常访问行为。

  1. 应用池与认证事件

PSWA 默认创建的 IIS 应用池名称(如 pswa_pool)可用作行为识别的线索,同时结合 Windows 事件日志(如 EventCode 4648、4624、4625)进行综合分析。

  1. 进程行为检测

关注由 wsmprovhost.exe 派生出的 PowerShell / cmd 进程,有助于识别远程执行痕迹及横向移动行为。

参考:

 评论
评论插件加载失败
正在加载评论插件