Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
TokenTacticsV2 — Un fork de l'excellent TokenTactics avec prise en charge de CAE et de l'endpoint token v2. | Kitploit
Outils/GitHubGitHub/f-bader/tokentacticsv2
Outils de PhishingTests d'IntrusionSécurité CloudGestion des Identités et des Accès (IAM)AuthentificationRed Teaming
GitHubf-bader/tokentacticsv2

TokenTacticsV2

Un fork de l'excellent TokenTactics avec prise en charge de CAE et de l'endpoint token v2.

Voir le dépôt
44451il y a 4 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
root@kitploit:~
  ______      __                 __             __  _                     ___ 
 /_  __/___  / /_____  ____     / /_____ ______/ /_(_)_________   _   __ |__ \
  / / / __ \/ //_/ _ \/ __ \   / __/ __ `/ ___/ __/ / ___/ ___/  | | / / __/ /
 / / / /_/ / ,< /  __/ / / /  / /_/ /_/ / /__/ /_/ / /__(__  )   | |/ / / __/ 
/_/  \____/_/|_|\___/_/ /_/   \__/\__,_/\___/\__/_/\___/____/    |___(_)____/     

TokenTactics v2

Ceci est une version mise à jour de TokenTactics écrite à l'origine par Stephan Borosh @rvrsh3ll et Bobby Cooke @0xBoku.

Outils de manipulation de jetons Web JSON Azure (« JWT »)

Les jetons d'accès Azure vous permettent de vous authentifier auprès de certains points de terminaison en tant qu'utilisateur qui se connecte avec un code d'appareil. Si vous disposez d'un jeton d'actualisation compatible FOCI (famille d'ID clients), vous pouvez l'utiliser pour obtenir des jetons d'accès pour tous les points de terminaison compatibles FOCI connus. Étant donné que le jeton d'actualisation contient également l'information indiquant si l'utilisateur a effectué une authentification multifacteur, vous pouvez l'utiliser. Une fois que vous avez le jeton d'accès d'un utilisateur, il peut être possible d'accéder à certaines applications telles que Outlook, SharePoint, OneDrive, Microsoft Teams, etc.

Par exemple, si vous disposez d'un jeton d'actualisation Graph ou MSGraph, vous pouvez alors vous connecter à Azure et extraire des utilisateurs, des groupes, etc. Vous pouvez ensuite, selon les politiques d'accès conditionnel, passer à un jeton Azure Core Management et exécuter AzureHound. Ensuite, obtenez un jeton d'accès Outlook et lisez/envoyez des e-mails, ou un jeton Microsoft Teams et lisez/envoyez des messages Teams !

Pour en savoir plus sur les types de jetons Azure, consultez Jetons d'accès de la plateforme d'identités Microsoft

Quelques exemples de requêtes vers des points de terminaison se trouvent dans le dossier resources. Vous y trouverez également un modèle de phishing pour le phishing par code d'appareil.

Vous pouvez également utiliser ces jetons avec AAD Internals. Nous vous recommandons vivement de découvrir cet outil étonnant.

Installation et utilisation

root@kitploit:~
Import-Module .\TokenTactics.psd1
Get-Help Get-EntraIDToken
Invoke-RefreshToSubstrateToken -Domain "myclient.org"

Tests

La suite de tests nécessite PowerShell 7 et Pester 5.7.1. Elle utilise des réponses HTTP simulées et ne nécessite ni identifiants Entra ID ni accès réseau.

root@kitploit:~
Install-Module Pester -RequiredVersion 5.7.1 -Scope CurrentUser
pwsh ./tests/Invoke-Tests.ps1

La même suite s'exécute sur Linux, macOS et Windows pour chaque pull request.

Obtenir un jeton d'actualisation à l'aide du flux de code d'appareil

root@kitploit:~
Get-EntraIDToken -Client MSGraph

Une fois que l'utilisateur s'est connecté, le JWT s'affiche et est sauvegardé dans la variable $response. Pour accéder au jeton d'accès, utilisez $response.access_token dans votre fenêtre PowerShell pour afficher le jeton. Vous pouvez également afficher le jeton d'actualisation avec $response.refresh_token. Astuce : c'est le jeton d'actualisation qu'il vous faut pour continuer à actualiser vers de nouveaux jetons !

Code d'appareil DoD/Mil

root@kitploit:~
Get-EntraIDToken -Client DODMSGraph

Connexion à l'aide d'une clé d'accès (passkey)

[!IMPORTANT] Cette fonctionnalité a été introduite dans la v0.2.20 et nécessite PowerShell 7.0.

Si vous avez créé une clé d'accès auprès d'un fournisseur tiers comme KeePassXC, Bitwarden, 1Password ou similaire, vous pouvez exporter le matériel de clé privée.

[!CAUTION] Exporter votre matériel de clé privée est extrêmement dangereux. Assurez-vous de bien comprendre le risque avant de continuer.

Le format de fichier de clé d'accès KeePassXC est pris en charge nativement et vous pouvez pointer la cmdlet directement vers le fichier. La procédure de connexion initiale ne permet d'obtenir que le cookie ESTSAUTH requis ; vous devez ensuite utiliser Get-EntraIDTokenFromESTSCookie pour échanger ce cookie contre un jeton porteur (jeton d'accès, jeton d'actualisation et jeton d'identité).

root@kitploit:~
# Retrieve the ESTSAUTH cookie value
Invoke-EntraIDPasskeyLogin -Verbose -KeyFilePath "C:\Users\Fabian\Microsoft.passkey"
# Exchange the ESTSAUTH cookie for bearer tokens
Get-EntraIDTokenFromESTSCookie -CookieValue $Global:ESTSAUTH

Si vous avez un format de fichier non pris en charge, vous pouvez spécifier manuellement les valeurs requises et obtenir le même résultat.

root@kitploit:~
Invoke-EntraIDPasskeyLogin -Verbose -UserPrincipalName "[email protected]" -UserHandle "XYZ" -CredentialId "9e9c8297-0cde-4726-8852-16c141e15bd3" -PrivateKey $PrivateKey
Get-EntraIDTokenFromESTSCookie -CookieValue $Global:ESTSAUTH

Obtenir des jetons d'accès à l'aide du cookie SCCAUTH

Si vous avez obtenu un cookie sccauth à partir d'une session authentifiée sur security.microsoft.com (par exemple via Evilginx ou les DevTools du navigateur), vous pouvez l'utiliser pour récupérer des jetons d'accès Entra ID pour un large ensemble de ressources via le portail Microsoft Defender XDR.

root@kitploit:~
# Retrieve a Microsoft Graph token using the sccauth cookie
Get-EntraIDTokenFromSCCAUTHCookie -SCCAuth "your_sccauth_value" -ResourceName MicrosoftGraph

# Provide an XSRF token explicitly to skip the bootstrapping request
Get-EntraIDTokenFromSCCAUTHCookie -SCCAuth "your_sccauth_value" -XSRF "your_xsrf_value" -ResourceName Azure

# Use a custom resource URL
Get-EntraIDTokenFromSCCAUTHCookie -SCCAuth "your_sccauth_value" -Resource "https://management.core.windows.net/"

Valeurs -ResourceName prises en charge : Azure, LogAnalytics, MATP, MCAS, MicrosoftGraph, MicrosoftOffice, Purview, PurviewACC, ThreatIntelligencePortal.

Obtenir un jeton d'actualisation à partir du cookie ESTSAuth*

root@kitploit:~
Get-EntraIDTokenFromESTSCookie -ESTSAuthCookie "0.AbcApTk..."

Ce module utilise le flux de code d'autorisation pour obtenir un jeton d'accès et un jeton d'actualisation à l'aide du cookie ESTSAuth (ou ESTSAuthPersistent). Utile si vous avez hameçonné une session via Evilginx ou si vous avez obtenu ce cookie d'une autre manière.

Assurez-vous d'utiliser le bon cookie ! ESTSAuthPersistent n'est utile que lorsqu'une politique d'accès conditionnel accorde effectivement une session persistante. Sinon, vous devez utiliser ESTSAuth. Vous pouvez généralement déterminer lequel utiliser en fonction de la longueur : le cookie le plus long est celui que vous voulez utiliser :)

Remarque : cela peut ne pas fonctionner dans tous les cas, car cela peut nécessiter une interaction de l'utilisateur. Dans ce cas, utilisez le flux de code d'appareil ci-dessus ou essayez roadtx interactiveauth --estscookie

Cette fonctionnalité a été rétroportée depuis la pull request de rotarydrone dans le dépôt d'origine.

Obtenir un jeton d'actualisation à l'aide du flux de code d'autorisation

L'un des exemples les plus marquants de ce flux OAuth2 (du moins au début de 2025) est le portail d'entreprise Intune, qui permet, pour certaines ressources, de contourner les exigences de conformité des appareils.

Cette information a d'abord été publiée par @dirkjan, puis présentée au Black Hat Europe à un public plus large par @TEMP43487580

JumpsecLabs a publié un article de blog et une preuve de concept sous la forme de TokenSmith peu de temps après.

Les mêmes capacités sont désormais disponibles dans TokenTacticsV2.

Get-AzureAuthorizationCode crée une URL que vous pouvez ensuite utiliser pour vous authentifier.

Get-EntraIDTokenFromAuthorizationCode utilise soit l'URL complète, soit les paramètres AuthorizationCode et RedirectUrl pour échanger le code d'autorisation contre un jeton d'accès et un jeton d'actualisation. Ensuite, vous pouvez essayer d'accéder à d'autres ressources comme d'habitude.

Comment utiliser les nouvelles cmdlets

Actualiser vers un nouveau jeton d'accès

Si vous ne spécifiez pas de jeton d'actualisation, les cmdlets utiliseront $response.refresh_token par défaut.

root@kitploit:~
Invoke-RefreshToOutlookToken -domain "myclient.org"

$OutlookToken.access_token

Se connecter à Azure AD à l'aide d'un jeton d'accès

root@kitploit:~
Connect-AzureAD -AadAccessToken $response.access_token -AccountId [email protected]

Se connecter à MgGraph à l'aide d'un jeton d'accès

root@kitploit:~
Invoke-RefreshToMSGraphToken -Domain "myclient.org"
Connect-MgGraph -AccessToken $MSGraphToken.access_token -Scopes "User.Read.All","Group.ReadWrite.All"

Effacer les jetons

Cela supprimera toutes les variables de jeton.

root@kitploit:~
Clear-Token -Token All

Évaluation continue de l'accès

Avec l'évaluation continue de l'accès, Microsoft met en œuvre des mesures de sécurité supplémentaires, mais prolonge également la durée de vie maximale d'un jeton d'accès à 24 heures. Certains services compatibles CAE comme MSGraph, Exchange, Teams et SharePoint peuvent bloquer les jetons d'accès en fonction de certains événements déclenchés par Azure AD. Actuellement, ces événements critiques sont :

  • Le compte utilisateur est supprimé ou désactivé
  • Le mot de passe d'un utilisateur est modifié ou réinitialisé
  • L'authentification multifacteur est activée pour l'utilisateur
  • L'administrateur révoque explicitement tous les jetons d'actualisation d'un utilisateur
  • Risque utilisateur élevé détecté par Azure AD Identity Protection (pas dans Teams et SharePoint Online)
root@kitploit:~
Invoke-RefreshToMSGraphToken -Domain "myclient.org" -UseCAE
if ((Parse-JWTtoken $MSGraphToken.access_token).ValidForHours -gt 23) { "MSGraph token is CAE capable" }

Utilisation avec AAD Internals

Si AADInternals est également installé, vous pouvez utiliser les jetons d'accès créés.

root@kitploit:~
Invoke-RefreshToMSTeamsToken -UseCAE -Domain "myclient.org"
Set-AADIntTeamsStatusMessage -Message "My cool status message" -AccessToken $MSTeamsToken.access_token -Verbose

Commandes

root@kitploit:~
Get-Command -Module TokenTactics

Seules les commandes publiques prises en charge sont exportées ; les fonctions d'analyse, PKCE, d'actualisation générique et les helpers cryptographiques FIDO restent des détails d'implémentation privés.

Auteurs et contributeurs

  • @rvrsh3ll Auteur de TokenTactics (original)
  • @0xBoku co-auteur de TokenTactics (original) et chercheur.
  • @f-bader a mis à jour TokenTactics pour prendre en charge le point de terminaison V2 et des fonctionnalités supplémentaires comme CAE. Mainteneur de TokenTacticsV2
  • @Pri3st a ajouté des fonctions pour récupérer les jetons d'accès Storage et Key Vault ainsi qu'un user agent personnalisé

Les méthodes de TokenTactics sont fortement influencées par les excellents travaux de recherche du Dr Nestori Syynimaa sur https://o365blog.com/.

Journal des modifications

0.3.0 (2026-07-13)

  • Ajout d'un exécuteur de tests Pester 5 épinglé, de contrôles GitHub Actions multiplateformes, de rapports de tests et d'une référence de couverture obligatoire.
  • Ajout d'une couverture simulée déterministe pour les flux de code d'appareil, cookie, code d'autorisation, SCCAUTH, jeton d'actualisation et clé d'accès.
  • Correction du nettoyage des jetons, du décodage d'URL, des horodatages JWT UTC, de la validation PEM, du champ d'application Yammer, de la prise en charge du cookie CAE, des en-têtes de locataire PurviewACC et de la construction des assertions de clé d'accès.
  • Exportation uniquement des commandes publiques prises en charge et des alias de compatibilité. Les fonctions d'implémentation auparavant exposées par l'export générique sont désormais privées ; les scripts doivent utiliser les commandes publiques correspondantes à la place.

0.2.22 (2026-04-03)

  • Ajout de Get-EntraIDTokenFromSCCAUTHCookie pour récupérer les jetons d'accès Entra ID pour diverses ressources (Azure, MicrosoftGraph, MATP, MCAS, Purview, etc.) à l'aide d'un cookie sccauth provenant de security.microsoft.com. Accepte éventuellement un jeton XSRF ; s'il est omis, l'initialisation est automatique. Prend en charge un paramètre facultatif TenantId pour l'injection d'en-têtes et la construction de la ressource PurviewACC.

0.2.20 (2026-01-01)

  • Renommé toutes les cmdlets Get-Azure en Get-EntraID
  • Ajout d'alias pour la rétrocompatibilité
  • Ajout d'une meilleure gestion des erreurs pour les interruptions ConvergedSignIn
  • Ajout d'Invoke-EntraIDPasskeyLogin pour automatiser les flux de connexion par clé d'accès. Cela enregistrera le cookie ESTSAUTH et la session web en tant que variables globales réutilisables dans d'autres cmdlets comme Get-EntraIDTokenFromESTSCookie
  • Ajout de la prise en charge des proxys pour Invoke-EntraIDPasskeyLogin, Get-EntraIDTokenFromCookie, Get-EntraIDTokenFromRefreshTokenCredentialCookie et Get-EntraIDTokenFromESTSCookie

0.2.14 (2025-09-11)

  • Ajout du paramètre -Username pour préremplir le paramètre login_hint dans la cmdlet Get-AzureAuthorizationCode
  • Ajout du paramètre -CopyToClipboard dans la cmdlet Get-AzureAuthorizationCode

0.2.13 (2025-07-29)

  • Correction du paramètre Custom User Agent

0.2.12 (2025-06-22)

  • Ajout de la prise en compte de l'espace d'exécution actuel et réduction de la sortie en cas d'exécution en tant que PSTask (par exemple dans Foreach-Object -parallel)

0.2.11 (2025-06-08)

  • Ajout de la possibilité de définir librement n'importe quel UserAgent à l'aide de la nouvelle propriété -CustomUserAgent. Merci à Pri3st

0.2.10 (2025-02-25)

  • Correction de bogue : mauvaise initialisation du type

0.2.9 (2025-02-17)

  • Ajout de ResourceTenant pour Get-EntraIDToken afin de prendre en charge le phishing par code d'appareil B2B
  • Remplacement de l'ID client Azure Management
  • Ajout de UseCodeVerifier pour prendre en charge la Proof Key for Code Exchange (PKCE)
  • Ajout de UseV1Endpoint à certaines fonctions pour prendre en charge une plus grande variété de tests de points de terminaison

0.2.8 (2025-01-18)

  • Ajout de Get-AzureTokenFromRefreshTokenCredentialCookie (« x-ms-RefreshTokenCredential ») et ajout de la version modulaire de Get-AzureTokenFromCookie
  • Ajout d'un paramètre pour choisir le type de cookie (ESTSAuth, ESTSAUTHPERSISTENT) dans Get-AzureTokenFromESTSCookie
  • Ajout d'un exemple de sortie pour Get-AzureTokenFromAuthorizationCode à la sortie de Get-AzureAuthorizationCode
  • Amélioration de la sortie et gestion des erreurs plus détaillée

0.2.7 (2025-01-08)

  • Extension de Get-AzureTokenFromESTSCookie pour prendre en charge le point de terminaison appverify
  • Amélioration de la gestion des cookies de Get-AzureTokenFromESTSCookie

0.2.6 (2025-01-04)

  • Correction d'un bogue avec les portées personnalisées dans Get-AzureAuthorizationCode et Get-AzureTokenFromAuthorizationCode
  • Modification de l'URI de redirection par défaut pour Get-AzureAuthorizationCode

0.2.5 (2025-01-04)

  • Ajout de nouvelles cmdlets Get-AzureAuthorizationCode et Get-AzureTokenFromAuthorizationCode
    Ces cmdlets sont fortement inspirées de TokenSmith maintenu par @gladstomych
  • Ajout de la nouvelle cmdlet Invoke-RefreshToDeviceRegistrationToken, une version TokenTactics de la cmdlet AADInternals Get-AccessTokenForAADJoin
  • Ajout de la prise en charge du point de terminaison v1 pour Invoke-RefreshToToken avec UseV1Endpoint. Cette prise en charge était nécessaire pour ajouter Invoke-RefreshToDeviceRegistrationToken
  • Ajout de la prise en charge du pipeline pour ConvertFrom-JWTtoken
  • Ajout de valeurs par défaut à Get-ForgedUserAgent

0.2.1 (2023-07-21)

  • Prise en charge de Linux comme plateforme d'appareil
  • Prise en charge d'OS/2 comme plateforme d'appareil 😁

0.2.2 (2023-07-22)

  • Rétroportage de la prise en charge des jetons Yammer
  • Rétroportage du passage aux verbes PowerShell autorisés, ajout d'un alias pour la rétrocompatibilité

0.2.3 (2023-07-23)

  • Rétroportage de la pull request de rotarydrone pour convertir ESTSAuth en jeton d'accès

Nouvelles fonctionnalités de la v2

  • Passage à la version v2.0 du point de terminaison OAuth2 d'Azure AD
  • Prise en charge de l'évaluation continue de l'accès à l'aide du nouveau commutateur -UseCAE
  • ClientId est désormais un paramètre
  • Modification de client_id pour MSTeams
  • Ajout de la prise en charge d'OneDrive et de SharePoint
  • Ajout de IssuedAt, NotBefore, ExpirationDate et ValidForHours dans la sortie de ConvertFrom-JWTtoken dans un format lisible par l'humain
  • Prise en charge de la connexion par clé d'accès
  • Refactorisation de la base de code pour faciliter la maintenance
Télécharger l’outil