
Analysez et suivez les jetons OAuth 2.0, OIDC et Microsoft Entra ID à partir des captures de Burp, mitmproxy ou Chrome DevTools. Visualisez les cycles de vie des jetons, détectez les scopes à risque et exportez les jetons pour rejouer via un tableau de bord interactif.
Suivez les jetons OAuth 2.0, OIDC et Microsoft Entra ID à travers le trafic réseau capturé. Ingère les exports XML de Burp Suite, les fichiers de flux mitmproxy ou les flux live du Chrome DevTools Protocol dans une base de données SQLite unique, puis sert un tableau de bord web interactif pour filtrer les jetons, parcourir les échanges, repérer les scopes à risque, exporter les jetons pour rejeu et visualiser les cycles de vie des jetons sous forme de graphes Mermaid.
Statut : TATS est stable pour un usage personnel / en engagement. Optimisé pour l'écosystème Microsoft 365 / Entra (FOCI, BroCI/NAA, cookies de session ESTSAUTH, enrichissement entrascopes.com) mais fonctionne contre tout trafic OAuth/OIDC à peu près standard.
Lorsque vous proxifiez une longue session Microsoft 365 ou Azure via Burp / mitmproxy, la capture résultante est énorme et la plupart des outils soit :
Cet outil extrait chaque jeton access / refresh / id observé, les empreinte pour pouvoir corréler le même jeton entre les sources, décode les claims JWT, résout les GUID de client / ressource Microsoft contre entrascopes.com, et restitue l'ensemble du tableau sous forme d'un seul tableau de bord — y compris une vue des chaînes de refresh-token qui suit les échanges inter-applications FOCI et l'émission de jetons d'applications imbriquées BroCI.
Ce projet est destiné principalement à des fins de recherche et d'éducation mais fournit des options telles que l'aperçu de commandes et les fonctionnalités d'export de jetons qui peuvent soutenir certains outils offensifs.
ingest — export XML « Save items » de Burp Suitemitm — fichier de flux .mitm de mitmproxy (HTTP et trames WebSocket)cdp — attachement live à Chrome / Edge via le DevTools Protocol
(temps réel, capture le HTTP déchiffré TLS et les trames WebSocket
sans CA de proxy ; suit chaque onglet existant ET chaque onglet ouvert
pendant l'exécution via l'auto-attachement au niveau du navigateur)--append pour fusionner dans une base de données existante ; les jetons
sont upsertés (le nombre d'utilisations + la durée de vie observée s'accumulent), les événements et
les échanges sont ajoutés, et le source_tag de la ligne enregistre chaque passe
qui a vu le jeton.pip install mitmproxy).access_token, refresh_token, id_token) et
les heuristiques sur les noms de cookies déterminent le type de jeton.ESTSAUTH, ESTSAUTHPERSISTENT,
ESTSAUTHLIGHT, SignInStateCookie) sont explicitement reconnus comme
des jetons équivalents à des refresh (ils seraient sinon mal classés par
l'indice générique de cookie « auth »).foci
dans les réponses du point de terminaison de jeton.brk_client_id, brk_redirect_uri, et les schémas de redirection brk-<guid>://
dans le corps de la requête.--enrich récupère firstpartyscopes.json et
resources.json depuis https://entrascopes.com/ et résout les GUID appid /
azp / aud en noms conviviaux avec des liens cliquables.upn / preferred_username /
unique_name / email / name, avec repli sur sub@iss ou oid,
et exposition séparée des compartiments app-only et identité inconnue. Chaque
ligne d'identité affiche un badge captures lorsque l'utilisateur apparaît dans
≥2 source_tags (survie inter-captures, le signal de recherche phare de --append)
plus une plage first_seen → last_seen et un
bouton timeline qui met en évidence chaque jeton pour cet utilisateur sur
l'onglet Diagramme de séquence.appid / azp / client_id du corps de formulaire
/ brk_client_id / brk_nested_id) apparue dans
les échanges, avec badges FOCI / brokerable / broker / nested.aud observé, résolu en noms de
ressources entrascopes lorsque possible.tid distinctes avec comptages de jetons / utilisateurs / applications.scp / scope /
roles de chaque jeton contre une liste de surveillance curatée de permissions
Microsoft Graph à fort impact et de scopes de ressources Azure.(token, host) où
le jeton a été utilisé sur un hôte qui ne correspond pas à son claim aud
(suggère une fuite d'identifiants ou un usage abusif).amr) — distribution pwd / mfa / pop / smartcard.xms_cc=CP1),
la liaison proof-of-possession (claim cnf, avec détection de kid partagé
entre audiences), les exigences d'authentification step-up (acrs), et le niveau
de contexte d'authentification acr. Chaque ligne est cliquable et filtre l'
onglet Tokens pour ne montrer que les jetons portant ce marqueur.⚠ priv — le
signal de recherche d'expansion de privilèges de style FOCI / BroCI.source_tag pour voir combien de
lignes proviennent de chaque passe d'ingestion.