Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
TATS — Burp、mitmproxy、またはChrome DevToolsのキャプチャからOAuth 2.0、OIDC、およびMicrosoft Entra IDトークンを分析・追跡します。トークンのライフサイクルを可視化し、リスクの高いスコープを検出し、インタラクティブなダッシュボードを通じてリプレイ用にトークンをエクスポートします。 | Kitploit
ツール/GitHubGitHub/icemoonhsv/tats
ウェブセキュリティペネトレーションテストアイデンティティ&アクセス管理 (IAM)認証ログ分析
GitHubicemoonhsv/tats

TATS

Burp、mitmproxy、またはChrome DevToolsのキャプチャからOAuth 2.0、OIDC、およびMicrosoft Entra IDトークンを分析・追跡します。トークンのライフサイクルを可視化し、リスクの高いスコープを検出し、インタラクティブなダッシュボードを通じてリプレイ用にトークンをエクスポートします。

リポジトリを見る
393661ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

TATS — Token Analysis and Tracking System

キャプチャしたネットワークトラフィック全体にわたって OAuth 2.0、OIDC、および Microsoft Entra ID トークンを追跡します。Burp Suite の XML エクスポート、mitmproxy フローファイル、またはライブの Chrome DevTools Protocol ストリームを単一の SQLite データベースに取り込み、トークンのフィルタリング、交換の追跡、リスクの高いスコープの特定、リプレイ用のトークンエクスポート、トークンライフサイクルの Mermaid グラフとしての可視化を行うインタラクティブな Web ダッシュボードを提供します。

ステータス: TATS は個人利用 / エンゲージメント利用において安定しています。Microsoft 365 / Entra エコシステム (FOCI、BroCI/NAA、ESTSAUTH セッション Cookie、entrascopes.com によるエンリッチメント) に最適化されていますが、標準的な OAuth/OIDC トラフィックであれば何でも動作します。


なぜ存在するのか

長い Microsoft 365 または Azure セッションを Burp / mitmproxy 経由でプロキシすると、結果として得られるキャプチャは膨大になり、ほとんどのツールは次のいずれかです:

  • 一度に 1 つのトークンしか表示しない (Burp の JWT 拡張機能)、または
  • Microsoft の OAuth 方言 (FOCI、BroCI、ESTSAUTH Cookie) に追随しない、または
  • Teams / Skype / SignalR がトークンを送信する WebSocket フレームを追跡しない、または
  • どのトークンが今この瞬間もまだ有効かを教えてくれない。

このツールは、観測されたすべての access / refresh / id トークンを抽出し、ソース間で同じトークンを相関させられるようにフィンガープリントを付与し、JWT クレームをデコードし、Microsoft のクライアント / リソース GUID を entrascopes.com に対して解決し、全体像を単一のダッシュボードとして描画します — これには FOCI のクロスアプリ交換や BroCI のネストされたアプリのトークン発行を追跡するリフレッシュトークンチェーン表示も含まれます。

このプロジェクトは主に研究および教育目的を意図していますが、コマンドプレビューやトークンエクスポート機能など、一部の攻撃的ツーリングを支援できるオプションも提供します。


機能

コア

  • 1 つのツールに 3 つの取り込みソース:
    • ingest — Burp Suite の「Save items」XML エクスポート
    • mitm — mitmproxy の .mitm フローファイル (HTTP および WebSocket フレーム)
    • cdp — DevTools Protocol 経由で Chrome / Edge にライブ接続 (リアルタイムで、プロキシ CA なしで TLS 復号済みの HTTP および WebSocket フレームをキャプチャ。ブラウザレベルの自動アタッチにより、既存のすべてのタブと実行中に開かれたすべてのタブを追跡)
  • ダッシュボードが読み取る単一の正規 SQLite ストア。各取り込みパスは --append を付けて実行することで既存のデータベースにマージできます。トークンはアップサートされ (使用回数 + 観測されたライフタイムが累積)、イベントと交換は追記され、行の source_tag にはそのトークンを観測したすべてのパスが記録されます。
  • stdlib HTTP サーバーが提供するライブ Web ダッシュボード。5 秒ごとにデータベースをポーリングし、基盤となるデータが変更されると再レンダリングします — そのため、実行中の CDP キャプチャはダッシュボードをほぼリアルタイムで更新します。
  • コアパスにプロプライエタリな依存関係はありません。 Burp 取り込み、データベース層、Web UI、および CDP アタッチはすべて stdlib のみです。mitmproxy インポートが唯一のオプション依存です (pip install mitmproxy)。

トークンの分類とエンリッチメント

  • OAuth ボディキー (access_token、refresh_token、id_token) と Cookie 名のヒューリスティックがトークンタイプを決定します。
  • Microsoft セッション Cookie (ESTSAUTH、ESTSAUTHPERSISTENT、ESTSAUTHLIGHT、SignInStateCookie`) はリフレッシュ相当のトークンとして明示的に認識されます (そうでなければ、汎用的な「auth」Cookie ヒントによって誤分類されるでしょう)。
  • JWT クレーム (ヘッダー + ペイロード) はデコードされ、そのまま保存されます — 切り詰められることはありません。
  • Microsoft FOCI (Family of Client IDs) は、トークンエンドポイントのレスポンス内の foci フィールドを介して検出されます。
  • Microsoft BroCI / Nested App Authentication は、リクエストボディ内の brk_client_id、brk_redirect_uri、および brk-<guid>:// リダイレクトスキームを介して検出されます。
  • オプションの --enrich フラグは https://entrascopes.com/ から firstpartyscopes.json と resources.json を取得し、appid / azp / aud GUID をクリック可能なリンク付きの分かりやすい名前へと解決します。

ダッシュボードカード

  • サマリータイル — トークン数、ホスト、交換 (FOCI / BroCI の注記付き)、およびエンリッチメントステータスインジケーター。
  • ユーザー — upn / preferred_username / unique_name / email / name によるトークンのバケット化。sub@iss または oid にフォールバックし、アプリ専用および不明な ID のバケットを別途表示します。各 ID 行は、そのユーザーが 2 つ以上の source_tag に現れる場合に captures バッジ (クロスキャプチャ生存、--append の主要な研究シグナル) を表示し、さらに first_seen → last_seen のスパンと、Sequence-diagram タブでそのユーザーのすべてのトークンをハイライトする timeline ボタンを表示します。
  • トークン有効性 — 現在有効な access トークンと期限切れの access トークンの数、リフレッシュトークンの有効期限ステータス (不透明トークンには「unknown expiry」)、および 30 秒の自動更新付きのトップ 3「次に期限切れになる」リスト。
  • クライアント — 交換に現れたすべての異なるアプリ (appid / azp / フォームボディの client_id / brk_client_id / brk_nested_id)。FOCI / brokerable / broker / nested バッジ付き。
  • オーディエンス — 観測されたすべての aud クレーム。可能な場合は entrascopes のリソース名に解決されます。
  • テナント — トークン / ユーザー / アプリの数を含む、異なる tid 値。
  • ホスト — ホストごとのイベント、異なるベアラ受信者、異なる発行者、および交換数。
  • 特権スコープとロール — 各トークンの scp / scope / roles を、影響度の高い Microsoft Graph アクセス許可と Azure リソーススコープの厳選されたウォッチリストに対してチェックします。
  • オーディエンス / ホストの不一致 — トークンがその aud クレームと一致しないホストで使用されたすべての (token, host) ペアにフラグを立てます (資格情報の漏洩または誤用を示唆)。
  • 認証方法 (amr) — pwd / mfa / pop / smartcard の分布。
  • セキュリティ機能 — Continuous Access Evaluation (xms_cc=CP1)、proof-of-possession バインディング (cnf クレーム、オーディエンス間での共有 kid 検出付き)、ステップアップ認証要件 (acrs)、および acr 認証コンテキストレベルにフラグを立てます。各行はクリック可能で、そのマーカーを持つトークンのみに Tokens タブをフィルタリングします。
  • リフレッシュトークンチェーン — 交換エッジをたどってローテーション系統、最長チェーン長、およびアイドル状態のリフレッシュトークンを特定します。各チェーンは Δ scopes 列 (ホップ間で追加 / 削除されたスコープ、ホバー時にホップごとの完全な差分を表示) を表示し、追加されたスコープが特権スコープのウォッチリストに一致するチェーンには ⚠ priv バッジを付けます — FOCI / BroCI スタイルの特権拡大の研究シグナルです。
  • ソース — source_tag ごとのトークン数。各取り込みパスから何行が来たかを確認できます。

Tokens / Exchanges タブ

  • 列ヘッダーをクリックして並べ替え。
  • 複数選択チェックボックスがツールバーを操作します:
    • Highlight in Graph — 選択したノードに黄色のアクセントを付けます。
    • Isolate in Graph — 選択したトークンとそれらが交換するトークンのみを表示するように図を再描画します。
    • Show in Sequence — 選択したトークンのフォーカスされたシーケンス図。
  • 行をクリックすると、完全な JWT ヘッダー + ペイロード (生の JSON)、すべてのイベント、関連する交換、リプレイ可能なエクスポートボタン (raw / Bearer / curl / JSON / roadtx トークンキャッシュ)、および roadtx describe、roadtx auth、curl、Python requests、PowerShell Invoke-RestMethod のコピー&ペースト用スニペットを含むコマンドプレビューブロックを備えたインラインパネルが展開されます。
  • フィルター: タイプチップ (access / refresh / id / unknown)、フォーマットチップ (jwt / opaque)、used / unused ドロップダウン、validity ドロップダウン (any / valid / expired / unknown expiry)、FOCI-only、BroCI-only、has-app-match、has-resource-match、さらに fp / sample / claims / host / app / resource / source_tag / user にわたるフリーテキスト検索。
  • 現在フィルタリングおよび並べ替えられた行の CSV / JSON エクスポート。
  • URL ハッシュの永続化 — アクティブなタブとすべてのフィルター状態が URL ハッシュにシリアル化されるため、特定のフィルタリング済みビューへのリンクを共有できます。

WebSocket サポート

  • mitmproxy および CDP キャプチャは、すべての WebSocket テキスト / バイナリフレームのペイロードを保持します。フレームの内容は、HTTP ボディを処理するのと同じ JSON / フォーム / 生 JWT ウォーカーでトークンをスキャンされます。
  • フレーム内で見つかったトークンは、ロール ws-frame-sent / ws-frame-received、ソース ws[body_json[<key>]]、および 1 つの WebSocket 接続内のすべてのフレームをグループ化する ws_session_id を持つイベントを生成します。
  • ハンドシェイクは通常の HTTP イベントとしてキャプチャされるため、アップグレードに持ち込まれた Cookie / ベアラトークンも追跡されます。

プライバシー

  • データベースは、観測されたすべてのトークンの SHA-256 フィンガープリント (先頭 12 桁の 16 進文字) と 12 文字のプレフィックスを保存します。完全なトークン文字列が入力ファイルから外に出ることはありません。

  • デコードされた JWT クレームの内容 (ヘッダー + ペイロード、oid、sub、upn、email、tid、スコープリストなどを含む) は、分析のまさに目的であるため、デフォルトでそのまま保存されます。JWT が存在する場合は常に、データベースおよび共有されたダッシュボード URL を機密として扱ってください。

  • --redact-claims (ingest、mitm、および cdp で利用可能) は、データベースに到達する前に、リストされたクレーム値を安定したハッシュプレースホルダーに置き換えます。デフォルトのフィールドリストは sub、oid、upn、email、name、unique_name、preferred_username、emails、mail、ipaddr、given_name、family_name をカバーします。明示的なカンマ区切りリスト (例: --redact-claims sub,upn,oid) を渡してデフォルトを上書きします。同じ入力は常に同じプレースホルダーにマッピングされるため、ダッシュボードの Users / Tenants のグループ化はユーザーを明かすことなく機能し続けます。

  • --store-tokens (ingest、mitm、および cdp で利用可能、デフォルトではオフ) は、ダッシュボードが以下を提供できるように、完全なトークン文字列をデータベースに書き込むことを選択します:

    • Copy raw / Copy Bearer / Copy curl アクション。
    • トークン JSON のダウンロード (raw + claims + 観測されたイベント)。
    • roadtools トークンキャッシュとしてのコピー / ダウンロード (ファイルを .roadtools_auth にドロップすると、任意の roadtx サブコマンドがそれを拾い上げます)。
    • トークンごとの Command preview ブロック。最も一般的なリプレイ呼び出し — roadtx describe、roadtx auth、curl、Python requests、PowerShell Invoke-RestMethod — を、トークンの実際の tid、appid、および aud クレームを使用して事前入力します。
    • /api/export?fps=... は、下流のツーリング用に最大 200 個のトークン (raw、claims、events、exchanges) を 1 つの JSON バンドルで返します。

    これを有効にすると、データベースはまるごと資格情報になります — キャプチャされた任意のセッションをリプレイするために必要なすべてのバイトがそこに含まれます。--redact-claims と組み合わせてデコードされた JWT ビューをスクラブできますが、生のトークンには依然としてその内部にエンコードされた未編集のクレームが含まれていることに注意してください。フラグがオフの場合でも、ダッシュボードのコマンドプレビューブロックはレンダリングされますが、<TOKEN> がプレースホルダーとして使用されるため、構文リファレンスとして機能します。エクスポートボタンは再取り込みを促すヒントを表示します。


インストール

要件

  • Python 3.10+ (match 文に適した型構文とモダンな dataclasses を使用)。3.12 でテスト済み。
  • ビルドステップはありません。リポジトリをクローンして python -m tats を直接実行します。

オプションの依存関係

必要なものインストール
mitm サブコマンドpip install mitmproxy
Chrome / Edge からのライブキャプチャなし — stdlib の WebSocket クライアントを使用
--enrich (entrascopes.com)なし — urllib.request を使用

クイックインストール

ツールをダウンロード