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

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

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

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

工具目录

分类

查看所有分类
Loading categories
PXEThief — PXEThief 是一套工具集,可从 Microsoft Endpoint Configuration Manager 的操作系统部署功能中提取密码。 | Kitploit
工具/GitHubGitHub/mwr-cybersec/pxethief
权限提升侦察密码攻击漏洞利用信息收集后渗透利用渗透测试红队
GitHubmwr-cybersec/pxethief

PXEThief

PXEThief 是一套工具集,可从 Microsoft Endpoint Configuration Manager 的操作系统部署功能中提取密码。

查看仓库
434712年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PXEThief

PXEThief 是一套工具,实现了在 DEF CON 30 演讲《从 Configuration Manager 中提取密码》(https://forum.defcon.org/node/241925)中讨论的攻击路径,针对 Microsoft Endpoint Configuration Manager(ConfigMgr,仍常称为 SCCM)中的操作系统部署功能。该工具可从已配置的网络访问账户(https://docs.microsoft.com/en-us/mem/configmgr/core/plan-design/hierarchy/accounts#network-access-account)以及存储在 ConfigMgr 集合变量(该变量已针对“所有未知计算机”集合配置)中的任何任务序列账户或凭据中收集凭据。这些 Active Directory 账户通常权限过高,并且在域中某处允许权限提升以获取管理访问权限——至少根据我个人的经验是如此。

很可能,使用此工具可执行的最严重攻击涉及:在分发点上为“所有未知计算机”启用基于 PXE 的部署,且未设置密码或使用弱密码。上述提到的 ConfigMgr 账户在 OSD 中暴露出的权限过高问题,随后可使攻击者仅凭对目标环境的网络访问即可执行完整的 Active Directory 攻击链。

使用说明

root@kitploit:~
python pxethief.py -h 
pxethief.py 1 - 通过 DHCP PXE 启动请求自动识别并下载加密的媒体文件。此外,当 'settings.ini' 中的 auto_exploit_blank_password 设置为 1 时,尝试利用空白媒体密码
pxethief.py 2 <DP 服务器 IP 地址> - 强制指定 IP 地址的特定 MECM 分发点服务器执行 PXE 启动
pxethief.py 3 <变量文件名> <密码猜测> - 尝试解密保存的媒体变量文件(从 PXE、可启动或预置媒体获取)并从 MECM DP 检索敏感数据
pxethief.py 4 <变量文件名> <策略文件路径> <密码> - 尝试解密从独立 TS 媒体获取的保存媒体变量文件和策略 XML 文件
pxethief.py 5 <变量文件名> - 打印指定媒体变量文件对应的哈希值,用于在 Hashcat 中破解
pxethief.py 6 <identityguid> <identitycert 文件名> - 使用从 DP 注册表项获取的值检索任务序列
pxethief.py 7 <Reserved1 值> - 从 SCCM DP 注册表项(reg query HKLM\software\microsoft\sms\dp /v Reserved1)解密存储的 PXE 密码
pxethief.py 8 - 在 PXEThief 目录中写入新的默认 'settings.ini' 文件
pxethief.py 10 - 打印 Scapy 接口表,以识别用于 'settings.ini' 的接口索引
pxethief.py -h - 打印 PXEThief 帮助文本

pxethief.py 5 <变量文件名> 应用于生成媒体变量文件的“哈希”,该哈希可用于通过发布的 Hashcat 模块(https://github.com/MWR-CyberSec/configmgr-cryptderivekey-hashcat-module)进行密码猜测攻击。

配置选项

PXEThief 主目录中包含一个文件,用于设置更静态的配置选项。如下所示:

root@kitploit:~
[SCAPY SETTINGS]
automatic_interface_selection_mode = 1
manual_interface_selection_by_id = 

[HTTP CONNECTION SETTINGS]
use_proxy = 0
use_tls = 0

[GENERAL SETTINGS]
sccm_base_url = 
auto_exploit_blank_password = 1

Scapy 设置

  • automatic_interface_selection_mode 会尝试自动确定 Scapy 应使用的最佳接口,以提供便利。它通过两种主要技术实现。如果设置为 1,它将尝试使用能够到达机器默认网关的接口作为输出接口。如果设置为 2,它将查找其 IP 地址不是自动配置或本地主机 IP 地址的第一个接口。在某些场景下,这将无法选择正确的接口,因此您可以通过 `manual_interface_selection_by_id' 强制使用特定接口。
  • manual_interface_selection_by_id 允许您指定 Scapy 应使用的接口的整数索引。此文件中使用的 ID 应通过运行 pxethief.py 10 获取。

通用设置

  • sccm_base_url 用于覆盖工具与之通信的管理点。当 DNS 无法解析(因此无法使用从媒体变量文件读取的值)时,或者当您已识别出多个管理点并希望将流量发送到特定管理点时,这很有用。应提供基本 URL 形式,例如 http://mp.configmgr.com,而不是 mp.configmgr.com 或 http://mp.configmgr.com/stuff。
  • auto_exploit_blank_password 更改 pxethief 1 的行为,使其自动尝试利用未受密码保护的 PXE 分发点。设置为 1 将启用自动利用,而设置为 0 将打印应用于下载媒体变量文件的 tftp 客户端字符串。请注意,大多数情况下您会希望将其设置为 1,因为未受密码保护的 PXE 会使用 DHCP 响应中发送的二进制密钥,而您在要求分发点执行 PXE 启动时会收到该响应。

HTTP 连接设置

此版本中未实现

设置说明

  1. 创建新的 Windows 虚拟机
  2. 安装 Python(从 https://www.python.org/ 或应用商店安装,两者均可正常工作)
  3. 通过 pip 安装所有依赖项(pip install -r requirements.txt)
  4. 为 Scapy 安装 Npcap(https://npcap.com/#download)(或附带了 Npcap 的 Wireshark)
  5. 将虚拟机桥接到运行已配置 PXE/OSD 的 ConfigMgr 分发点的网络
  6. 如果使用 pxethief.py 1 或 pxethief.py 2 识别并生成媒体变量文件,请确保工具使用的接口设置正确;如果不正确,请通过 pxethief.py 10 确定正确的索引 ID,并在 'settings.ini' 中手动设置

限制

  • HTTP 请求的代理支持 - 目前仅在代码中可配置。可以在 pxethief.py 的第 35 行启用代理支持,并在第 693 行设置代理地址。我计划在下一次代码更新中将此功能移至 'settings.ini' 中配置
  • HTTPS 和双向 TLS 支持 - 目前尚未实现。但可以使用拦截代理来处理,根据我的经验效果不错;为此,您需要按上述方式配置代理
  • Linux 支持 - PXEThief 目前使用 pywin32 来调用一些内置的 Windows 加密函数。这在 Linux 上不可用,因为 Windows 加密 API 在 Linux 上不存在!但 pxethief.py 中的 Scapy 代码在 Linux 上完全可用,不过您需要至少移除 win32crypt 的包含才能使其在 Linux 下运行

概念验证说明

使用此工具时可能会遇到错误处理问题;ConfigMgr 中的一切都有细微差别,虽然我已在发布工具前大幅改进了错误处理,但这绝不完整。如果存在失败的边缘情况,请提交详细的问题报告,或修复它并提交拉取请求 :) 我会审查这些问题,看看在合理范围内可以进行哪些改进。如果要在生产环境中运行,请阅读代码/观看演讲并理解其工作原理。请注意许可条款 - 即使用本工具的风险自负。

相关研究

从 SCCM/MECM 任务序列中识别并检索凭据 - 在这篇文章中,我解释了获取有效 OSD 证书后,ConfigMgr 策略被发现、下载和解密的整个流程。我还想强调这篇文章中的前两个参考文献,它们展示了目前正在进行的非常有趣的攻击性 SCCM 研究。

DEF CON 30 幻灯片 - 演讲幻灯片链接

作者致谢

版权所有 (C) 2022 Christopher Panayi, MWR CyberSec

下载工具