Teams クッキー窃取 BOF(teams-cookies-bof)

Security

概要

本リポジトリ「teams-cookies-bof」は、ms-teams.exe の実行コンテキスト内で動作する BOF(Beacon Object File)モジュールで、Teams の WebView2(msedgewebview2.exe)によって管理される Cookie ストレージからクッキーを窃取するための機能を提供します。実装は Cookie-Monster-BOF をベースにしており、暗号化キーの抽出や、Cookies ファイルに対するハンドルの探索・複製、ファイルレスでの対象ファイル読み出しといった技術を組み合わせることで、痕跡を残しにくくデータを取得することを目指しています。攻撃的なツールであるため検証用途に限定し、適切な権限と同意のある環境でのみ利用すべきです。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 4
  • ファイル数: 9
  • メインの言語: C

主な特徴

  • ms-teams.exe 内で実行される BOF 形式のモジュール実装(C言語)
  • WebView2(msedgewebview2.exe)が開いている Cookies ファイルのハンドルを検出・複製する手法
  • 暗号化キーの抽出により保存済みクッキーの復号を支援
  • Cookie-Monster-BOF をベースにした設計で、ファイルレス読み出しによる低痕跡性を志向

技術的なポイント

teams-cookies-bof は、組み込みの Chromium ベースの WebView(msedgewebview2)を利用する Electron/ネイティブラップアプリに特有のクッキー保管構造を前提としています。WebView2(Chromium系)はクッキーを SQLite ファイルや暗号化されたバイナリとして保存することが多く、復号にはプロセス側で管理される暗号化キーや OS のシークレットにアクセスする必要があります。本リポジトリはその前提に着目し、ms-teams.exe のコンテキスト内で実行される BOF として動作することで、同一ホスト上のプロセスが保持するリソース(ファイルハンドルやメモリ内キー)にアクセスしやすくしています。

実装面では、既存の Cookie-Monster-BOF のアプローチを踏襲しつつ、Teams 固有のプロセス構成に合わせたハンドル探索ロジックや暗号化キー抽出の処理を組み合わせています。具体的には、msedgewebview2.exe が Cookies ファイルに対して持つハンドルを列挙・特定し、それらのハンドルを複製して対象ファイルに対して直接的な読み出しを行う「ファイルレス」なデータ取得を行う点が特徴です。これにより通常のファイルコピーの痕跡を減らし、メモリやハンドル経由での回収を優先します。

また、暗号化キーに関しては、WebView2/Chromium 系が利用する「Local State」や OS 統合型の暗号化機構(例:Windows DPAPI)周りの情報を参照する設計を取り入れているため、復号まで含むワークフローを想定しています。ただし本リポジトリの目的は実証/検証であり、一般利用や防御側にとってはこれらの技術的特徴が検出・軽減の指標になります。たとえば、プロセス間ハンドル複製のパターン、ファイルを迂回してメモリから読み取る振る舞い、Lateral Movement の前段に見られる特異なアクセスログなどが検出シグネチャになり得ます。防御策としては、プロセスアイソレーションの徹底、最小権限の原則、WebView2 のストレージ保護強化やログ監視(異常なハンドル操作やプロセス間メモリアクセスの検出)を検討するのが適切です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • LICENSE: file
  • Makefile: file
  • README.md: file
  • beacon.h: file

…他 4 ファイル

まとめ

調査・防御観点で有用な実証実装だが、誤用リスクに注意が必要。

リポジトリ情報:

READMEの抜粋:

teams-cookies-bof

Steal cookies for Teams, while running within the ms-teams.exe process.

Based on: https://blog.randorisec.fr/ms-teams-access-tokens/.

This tool is heavily based on the Cookie-Monster-BOF.

The BOF will extract the Encryption Key, locate the msedgewebview2.exe processes with a handle to the Cookies file, copy the handle(s) and then filelessly download the target file(…)