Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
wsuks — 自动化针对 WSUS 的 MITM 攻击 | Kitploit
工具/GitHubGitHub/neffisback/wsuks
权限提升侦察漏洞利用后渗透利用网络安全渗透测试错误配置红队
GitHubneffisback/wsuks

wsuks

自动化针对 WSUS 的 MITM 攻击

查看仓库
38833124天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Supported Python versions Twitter

wsuks

自动化 WSUS 攻击

获取已加入域 Windows 计算机的本地管理员访问权限通常是渗透测试的第一步。在许多情况下,Windows 服务器更新服务(WSUS)被配置为通过 HTTP 在本地网络上向客户端部署更新。由于没有 HTTPS 的安全保护,攻击者可以发起中间人攻击,为客户端提供一个更新,该更新随后将以 SYSTEM 权限执行。任何 Microsoft 签名的可执行文件都可以作为更新提供,包括一条用于执行该可执行文件的自定义命令。如果攻击者能够获得 WSUS 服务器的 TLS 证书,则此技术也可以通过 HTTPS 执行(参见 ESC17 和我们的博客文章)。

为了自动利用 WSUS 攻击,该工具使用 ARP 在网络中伪造 WSUS 服务器的 IP 地址;当目标客户端请求 Windows 更新时,它会通过预定义的 PowerShell 脚本提供 PsExec64.exe,从而获得本地管理员权限。所提供可执行文件(默认:PsExec64.exe)以及要执行的命令均可按需更改。
默认情况下,Windows 客户端大约每 24 小时检查一次更新。

先决条件:

  • 目标客户端必须位于本地网络中
  • Windows 服务器更新服务(WSUS)必须使用 HTTP 配置,或者必须存在 ESC17

结果:

  • 成功执行后,所提供的用户将被添加到本地管理员组。如果未指定用户,则会创建一个格式为 user[0-9]{5}(例如 user12345)的用户及随机密码

已实现的功能:

  • 对目标进行 ARP 欺骗
  • 将 ARP 欺骗数据包路由到本地 HTTP(S) 服务器
  • 用于提供恶意更新的 HTTP(S) 服务器
  • 自动检测 WSUS 服务器
  • 包含用于获取本地管理员访问权限的 PowerShell 脚本和可执行文件

安装 🖥️

使用 pipx(推荐):

root@kitploit:~
sudo apt install pipx python3-nftables
pipx ensurepath
pipx install wsuks --system-site-packages
sudo ln -s ~/.local/bin/wsuks /usr/sbin/wsuks

使用 poetry:

root@kitploit:~
sudo apt install pipx git python3-nftables      # poetry should still be installed with pipx, but apt will work as well
sudo pipx install poetry
sudo ln -s /root/.local/bin/poetry /usr/sbin/poetry
git clone https://github.com/NeffIsBack/wsuks
cd wsuks
sudo poetry install

用法 🛠️

❗wsuks 必须以 root 身份运行❗

使用 pipx 时,你可以直接在系统的任何位置运行 sudo wsuks ...。
如果你使用 poetry,则必须位于 wsuks 文件夹中,并且每条命令都需要以 sudo poetry run wsuks ... 开头。

该工具要求安装 nftables 软件包,这是所有基于 Debian 的系统的默认配置。\

wsuks 可以在 3 种不同的模式/攻击场景下运行:

  • AUTOMATIC: 如果不知道 WSUS 服务器,wsuks 将通过解析域控制器上的 GPO 自动发现 WSUS 服务器。在这种情况下,必须提供域控制器的 IP 以及域的凭据。
  • MANUAL: 如果已知 WSUS 服务器,只需提供 WSUS 服务器的 IP 即可执行攻击。
  • SERVE ONLY: 如果流量已经被重定向到攻击者的机器(例如通过控制 DNS),则可以使用 wsuks 仅提供恶意可执行文件和命令。

AUTOMATIC: 仅通过指定域用户和 DC IP 自动发现 WSUS 服务器:

如果你已经拥有域用户,wsuks 将解析域控制器上的 GPO 以查找 WSUS 服务器。
将执行一个 PowerShell 脚本,将提供的域用户添加到本地管理员组。

root@kitploit:~
sudo wsuks -t 10.0.0.10 -u User -p Password -d domain.local --dc-ip 10.0.0.1

提示: 如果只想检查是否存在 WSUS 服务器,可以使用 --only-discover 标志。

MANUAL: 指定已知的 WSUS 服务器并创建本地管理员用户:

预定义的 PowerShell 脚本将执行以下操作:

  1. 创建一个格式为 user[0-9]{5}(例如 user12345)的新用户及随机密码
  2. 将 LocalAccountTokenFilterPolicy 设置为 1(禁用 UAC ⚠)
  3. 将创建的用户添加到本地管理员组

⚠ 在将 LocalAccountTokenFilterPolicy 设置为 1 之前,原始值会存储在用户描述字段中,以便之后恢复

root@kitploit:~
sudo wsuks -t 10.0.0.10 --WSUS-Server 10.0.0.20

MANUAL: 指定已知的 WSUS 服务器并将提供的域用户添加到本地管理员组(需要域!):

如果你已经拥有域用户并且知道 WSUS 服务器的 IP,wsuks 只需将该用户添加到本地管理员组即可。

root@kitploit:~
sudo wsuks -t 10.0.0.10 --WSUS-Server 10.0.0.20 -u User -d domain.local

SERVE ONLY: 仅提供恶意可执行文件和命令:

如果流量已经被重定向到攻击者的机器(例如通过控制 DNS),则可以使用 wsuks 仅提供恶意可执行文件和命令,而无需执行 ARP 欺骗和路由本身。 这将在所提供的接口上启动 HTTP 服务器。

root@kitploit:~
sudo wsuks --serve-only

ESC17: 为 WSUS Web 服务器指定 TLS 证书(ESC17):

如果攻击者能够获得 WSUS 服务器的 TLS 证书(例如通过 ESC17),则此攻击也可以通过 HTTPS 执行。 适用于上述所有场景,只需使用 --tls-cert 标志并提供证书的路径。

root@kitploit:~
sudo wsuks -t 10.0.0.10 --WSUS-Server secure.wsus.domain.local --tls-cert cert.pem

演示 🎥

以下是针对已知 WSUS 服务器攻击的简短演示: WSUS 攻击演示

关于与缓解措施 🛡️

在 GoSecure 的 PyWSUS 仓库中,你可以找到关于如何检测和缓解此攻击的出色文档。 他们还编写了一篇出色的指南,详细演示了此攻击的工作原理,见此。

关于 ESC17,请查阅 certipy wiki 获取缓解建议。

该工具的部分内容基于以下项目:

  • https://github.com/GoSecure/pywsus
  • https://github.com/GoSecure/wsuspect-proxy
下载工具