
Solicite tokens do Entra ID ao Web Account Manager (WAM)
askWAM solicita tokens de acesso do Microsoft Entra silenciosamente por meio do Windows Web
Account Manager (WAM). É distribuído como um cliente .NET Framework, um cliente nativo
x64 autônomo e um Beacon Object File x64 com um adaptador de comando CNA.
Todos os frontends podem enumerar contas visíveis ao cliente e direcionar uma identidade por seu ID de conta WAM opaco ou nome de usuário exato. Eles nunca recorrem à autenticação interativa.
Os tokens solicitados por meio deste fluxo herdarão os seguintes detalhes:
Essa forma de solicitar tokens também funciona quando a Proteção de Token está aplicada.
Tokens CAE podem ser solicitados com a flag --cae.
1fec8e78-bce4-4aaf-ab1b-5451cc387264https://graph.microsoft.com/.defaultorganizations--hide a suprimeO escopo padrão do Graph é selecionado apenas quando nem --scope nem --resource
são fornecidos.
O modo de escopo aceita um ou mais escopos v2. Ele acrescenta
openid offline_access profile e define a propriedade de solicitação wam_compat=2.0 do WAM.
askwam --scope https://graph.microsoft.com/.default
O modo de recurso implementa o fluxo compatível com v1 do WAM. Ele envia um escopo vazio, define
a propriedade de solicitação resource do WAM e não define wam_compat.
askwam --resource https://graph.microsoft.com
--scope e --resource são mutuamente exclusivos.
--enum Enumerate accounts without requesting a token
--account-id <id> Select an exact opaque WAM account ID
--username <username> Select one exact, unique username
--cae Send the predefined xms_cc/cp1 claims object
--claims-json <json> Send a raw OAuth claims object or challenge
O cliente .NET também oferece suporte a --claims-file <path> para ler um objeto de declarações
OAuth bruto de um arquivo UTF-8. --cae é mutuamente exclusivo com entrada de declarações
personalizadas. Inclua cp1 no objeto bruto quando um desafio personalizado também exigir CAE.
A implantação requer Windows com .NET Framework 4.8. O diretório de release contém a aplicação e sua configuração de runtime; ele não contém um runtime .NET ou WinRT privado.
A compilação requer o .NET SDK e os metadados do Windows SDK 10.0.26100.0 por padrão.
Defina a propriedade MSBuild WindowsMetadataPath ao usar outro Windows 10 ou Windows 11 SDK
instalado.
dotnet build .\src\dotnet\AskWAM.csproj --configuration Release
.\src\dotnet\bin\Release\net48\askwam.exe --enum
.\src\dotnet\bin\Release\net48\askwam.exe --resource https://graph.microsoft.com --hide
O cliente grava linhas simples name=value. Ele não decodifica nem imprime declarações JWT.
A compilação requer o Visual Studio 2022 C++ Build Tools e um Windows 10 ou Windows 11 SDK. A enumeração de contas requer Windows 10 versão 1803 ou mais recente.
.\src\native\build.ps1 -Configuration Release
.\src\native\bin\Release\askwam.exe --enum
.\src\native\bin\Release\askwam.exe --resource https://graph.microsoft.com --hide
O executável de release é vinculado estaticamente ao runtime C e usa a superfície da API WinRT integrada. Seu formato de resultado legível por máquina é JSON.
Compile o BOF x64 e carregue src\bof\askwam.cna no Cobalt Strike:
.\src\bof\build.ps1 -Configuration Release
askwam --enum
askwam --account-id <id-from-enum>
askwam --resource https://graph.microsoft.com --hide
askwam --cae --hide
askwam --claims-json {"access_token":{"xms_cc":{"values":["cp1"]}}}
O script de compilação verifica o ponto de entrada do BOF e a lista de permissões de símbolos
indefinidos. Quando -BofLintPath ou BOFLINT_PATH indica o boflint.py da Outflank, ele também valida
o objeto de release para os perfis de loader do Cobalt Strike, Outflank C2 e Core Impact.
O projeto também fornece src\bof\extension.json para carregar o BOF de Release como uma
extensão Sliver. O Mythic Apollo não precisa de um arquivo sidecar equivalente; seu
comando execute_coff aceita o objeto e a mesma sequência de argumentos tipados.
Consulte src\bof\README.md para ambas as integrações e o contrato de argumentos empacotados.
Documentação oficial:
Projetos similares:
Este projeto foi criado por Codex usando GPT 5.6 Sol.