在渗透测试中,获取域内 Windows 计算机的本地管理访问权限通常是获取域管理员权限的第一步。在许多情况下,Windows 服务器更新服务 (WSUS) 配置为使用 HTTP 通过本地网络向客户端部署更新。如果没有 HTTPS 的安全性,攻击者可以发起中间人攻击,向客户端提供更新,然后以 SYSTEM 权限执行更新。任何 Microsoft 签名的可执行文件都可以作为更新提供,包括执行可执行文件的自定义命令。
为了自动利用 WSUS 攻击,该工具会使用 ARP 协议伪造网络上 WSUS 服务器的 IP 地址,当客户端请求 Windows 更新时,它会使用预定义的 PowerShell 脚本向 PsExec64.exe 提供服务,以获取本地管理员权限。提供的可执行文件(默认为 PsExec64.exe)和执行的命令均可根据需要更改。
默认情况下,Windows 客户端大约每 24 小时检查一次更新。
先决条件:
-
目标客户端必须位于本地网络上
-
必须使用 HTTP 配置 Windows Server 更新服务 (WSUS)
结果:
-
执行成功后,提供的用户将被添加到本地管理员组。如果未指定用户,则会创建一个格式为 user[0-9]{5} 的用户(例如 user12345),并创建一个随机密码。
已实现的功能:
-
ARP欺骗目标
-
将 ARP 欺骗数据包路由到本地 HTTP 服务器
-
用于提供恶意更新的 HTTP 服务器
-
自动检测 WSUS 服务器
-
包含 PowerShell 脚本和可执行文件以获取本地管理员访问权限
安装🖥️
使用 pipx(推荐):
sudo apt install pipx python3-nftablespipx ensurepathpipx install wsuks --system-site-packagessudo ln -s ~/.local/bin/wsuks /usr/local/sbin/wsuks
运用
sudo apt install pipx git python3-nftables # poetry should still be installed with pipx, but apt will workas wellsudo pipx install poetrysudo ln -s /root/.local/bin/poetry /usr/local/sbin/poetrygit clone https://github.com/NeffIsBack/wsukscd wsukssudo poetry install
使用方法🛠️
❗wsuks 必须以 root 身份运行❗
sudo wsuks ...使用 pipx,您可以在系统的任何位置运行。
如果您正在使用 Poetry,则必须位于 wsuks 文件夹中,并以以下命令启动每个命令:
sudo poetry run wsuks ...
此工具需要nftables安装软件包,这是所有基于 debian 的系统上的默认设置。
wsuks 可以在 3 种不同的模式/攻击场景中运行,如下所述。
指定已知的 WSUS 服务器并创建本地管理员用户:
如果已知 WSUS 服务器,则只需指定目标 IP 和 WSUS 服务器 IP 即可。
默认可执行文件是 PsExec64.exe,它会运行预定义的 PowerShell 脚本,并执行以下操作:
-
创建一个格式为 user[0-9]{5} 的新用户(例如 user12345)和一个随机密码
-
将 LocalAccountTokenFilterPolicy 设置为 1(禁用 UAC ⚠)
-
将创建的用户添加到本地管理员组
⚠ 在将 LocalAccountTokenFilterPolicy 设置为 1 之前,原始值存储在用户描述字段中,以便稍后恢复
sudowsuks-t 10.0.0.10--WSUS-Server 10.0.0.20
指定已知的 WSUS 服务器并将提供的域用户添加到本地管理员组(需要域!):
如果您已经有域用户并且知道 WSUS 服务器的 IP,wsuks 将简单地将该用户添加到本地管理员组。
sudowsuks-t 10.0.0.10--WSUS-Server 10.0.0.20-uUser-ddomain.local
仅通过指定具有 DC IP 的域用户来自动发现 WSUS 服务器:
如果您已经拥有域用户,wsuks 将解析域控制器上的 GPO 以查找 WSUS 服务器。然后
执行 PowerShell 脚本,将提供的域用户添加到本地管理员组。
sudowsuks-t 10.0.0.10-uUser-pPassword-ddomain.local--dc-ip 10.0.0.1
提示:如果您只想检查 WSUS 服务器,则可以使用该--only-discover标志。
演示🎥
以下是对已知 WSUS 服务器的攻击的简短演示:
关于 & 缓解🛡️
在GoSecure 的PyWSUS存储库中,您可以找到一份关于如何检测和缓解此攻击的优秀文档。他们还编写了一份很棒的指南,详细演示了此攻击的工作原理(点击此处)。
该工具的部分内容基于以下项目:
https://github.com/GoSecure/pywsus
https://github.com/GoSecure/wsuspect-proxy
项目地址:
https://github.com/NeffIsBack/wsuks
原文始发于微信公众号(Ots安全):自动对 WSUS 进行 MITM 攻击
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论