
Analysiere und verfolge OAuth 2.0-, OIDC- und Microsoft Entra ID-Token aus Burp-, mitmproxy- oder Chrome DevTools-Captures. Visualisiere Token-Lebenszyklen, erkenne riskante Scopes und exportiere Token für Replay über ein interaktives Dashboard.
Verfolgt OAuth 2.0-, OIDC- und Microsoft Entra ID-Tokens über erfassten Netzwerkverkehr. Nimmt Burp Suite XML-Exporte, mitmproxy-Flow-Dateien oder Live-Chrome-DevTools-Protocol-Streams in eine einzige SQLite-Datenbank auf und stellt dann ein interaktives Web-Dashboard bereit, um Tokens zu filtern, Exchanges nachzuvollziehen, riskante Scopes zu erkennen, Tokens für Replay zu exportieren und Token-Lebenszyklen als Mermaid-Graphen zu visualisieren.
Status: TATS ist stabil für den persönlichen / Engagement-Einsatz. Optimiert für das Microsoft 365 / Entra-Ökosystem (FOCI, BroCI/NAA, ESTSAUTH-Session-Cookies, entrascopes.com-Anreicherung), funktioniert aber mit jedem standardmäßigen OAuth/OIDC-Verkehr.
Wenn man eine lange Microsoft 365- oder Azure-Sitzung durch Burp / mitmproxy proxyt, ist die resultierende Aufzeichnung enorm und die meisten Tools entweder:
Dieses Tool extrahiert jedes beobachtete Access- / Refresh- / ID-Token, fingerprintet sie, um dasselbe Token über Quellen hinweg korrelieren zu können, dekodiert JWT-Claims, löst Microsoft-Client- / Resource-GUIDs gegen entrascopes.com auf und rendert das Gesamtbild als ein einziges Dashboard — einschließlich einer Refresh-Token-Chain-Ansicht, die FOCI-übergreifende App-Exchanges und BroCI-Token-Ausstellung für verschachtelte Apps verfolgt.
Dieses Projekt ist in erster Linie für Forschungs- und Bildungszwecke gedacht, bietet aber Optionen wie Command-Preview und Token-Export-Funktionen, die einige offensive Tooling-Anwendungen unterstützen können.
ingest — Burp Suite "Save items" XML-Exportmitm — mitmproxy .mitm-Flow-Datei (HTTP und WebSocket-Frames)cdp — Live-Attach an Chrome / Edge über das DevTools Protocol
(Echtzeit, erfasst TLS-entschlüsselte HTTP- und WebSocket-Frames
ohne Proxy-CA; verfolgt jeden existierenden Tab UND jeden während des
Laufs geöffneten Tab über browser-level Auto-Attach)--append ausgeführt werden, um in eine
bestehende Datenbank zu mergen; Tokens werden upserted (Nutzungszähler +
beobachtete Lebensdauer akkumulieren), Events und Exchanges werden
angehängt, und das source_tag der Zeile zeichnet jeden Durchlauf auf,
der das Token gesehen hat.pip install mitmproxy).access_token, refresh_token, id_token) und
Cookie-Namen-Heuristiken bestimmen den Token-Typ.ESTSAUTH, ESTSAUTHPERSISTENT,
ESTSAUTHLIGHT, SignInStateCookie) werden explizit als
refresh-äquivalente Tokens erkannt (sie würden sonst durch den generischen
"auth"-Cookie-Hinweis falsch klassifiziert).foci-Feld
in Token-Endpoint-Antworten.brk_client_id, brk_redirect_uri und brk-<guid>://-Redirect-Schemes
im Request-Body.--enrich-Flag ruft firstpartyscopes.json und
resources.json von https://entrascopes.com/ ab und löst appid /
azp / aud-GUIDs in benutzerfreundliche Namen mit klickbaren Links auf.upn / preferred_username /
unique_name / email / name, mit Fallback auf sub@iss oder oid,
und separate Ausgabe von App-only- und Unknown-Identity-Buckets. Jede
Identity-Zeile zeigt ein captures-Badge, wenn der Benutzer in
≥2 source_tags erscheint (Cross-Capture-Survival, das zentrale
--append-Forschungssignal) plus eine first_seen → last_seen-Spanne und
einen timeline-Button, der jedes Token für diesen Benutzer auf dem
Sequence-Diagram-Tab hervorhebt.appid / azp / Form-Body
client_id / brk_client_id / brk_nested_id), die in Exchanges
aufgetreten ist, mit FOCI- / brokerable- / broker- / nested-Badges.aud-Claim, wo möglich aufgelöst zu
entrascopes-Ressourcennamen.tid-Werte mit Token- / User- / App-Zählern.scp / scope / roles jedes
Tokens gegen eine kuratierte Watchlist hochwirksamer Microsoft Graph-
Berechtigungen und Azure-Ressourcen-Scopes.(token, host)-Paar, bei
dem das Token an einem Host verwendet wurde, der nicht mit seinem
aud-Claim übereinstimmt (deutet auf Credential-Leak oder Missbrauch hin).amr) — Verteilung von pwd / mfa / pop / smartcard.xms_cc=CP1),
Proof-of-Possession-Bindung (cnf-Claim, mit Shared-kid-Erkennung über
Audiences hinweg), Step-up-Auth-Anforderungen (acrs) und die acr-
Authentication-Context-Stufe. Jede Zeile ist klickbar und filtert den
Tokens-Tab auf nur die Tokens, die diesen Marker tragen.⚠ priv-Badge — das FOCI- /
BroCI-artige Privilege-Expansion-Forschungssignal.source_tag, sodass man sieht, wie viele
Zeilen aus jedem Ingest-Durchlauf stammen.