次の方法で共有


セッション Cookie の盗難アラートのアラート の採点

適用対象:

  • Microsoft Defender XDR

この記事には、Microsoft Defender XDR でのセッション Cookie 盗難アラートのアラート の採点に関する情報が含まれています。

  • 盗まれたセッション Cookie が使用されました
  • AiTM 関連のフィッシング ページからの認証要求

脅威アクターは、革新的な方法を使用して、ターゲット環境に侵入します。 この種の攻撃は、敵対者インザミドル攻撃からインスピレーションを得て、悪意のあるアクションを実行するためにフィッシングを使用して資格情報やサインイン セッションを盗みます。 BEC キャンペーンは優れた例です。

この攻撃は、中間 (フィッシング) サイトを設定することで機能し、攻撃者が偽装している正当な Web サイトとユーザー間のプロキシ接続として効果的に機能します。 仲介 (プロキシ) として機能することで、攻撃者はターゲットのパスワードとセッション Cookie を盗むことができます。 そのため、攻撃者はユーザーの代わりに認証を行っているので、正当なセッションに対して認証を行うことができます。

このプレイブックは、Cookie の盗難に対する攻撃の種類を示す疑わしい動作が観察されるケースの調査に役立ちます。 これにより、セキュリティ オペレーション センター (SOC) や IT 管理者などのセキュリティ チームは、アラートを True Positive (TP) または False Positive (FP) として確認、管理、および評価するのに役立ちます。また、TP の場合は、攻撃を修復し、それが原因で発生するセキュリティ リスクを軽減するための推奨アクションを実行できます。

このプレイブックを使用した結果は次のとおりです。

  • AiTM に関連付けられているアラートは、悪意のある (TP) または問題のない (FP) アクティビティとして識別されています。
  • 悪意があると特定された場合は、攻撃を修復するために必要なアクションを実行しました。

手順の調査

  1. 影響を受けるユーザーが他のセキュリティ アラートをトリガーしたかどうかを調査します。

    • サインインの地理的位置の異常に基づくアラートに焦点を当てます [AadSignInEventsBeta or IdentityLogonEvents]
    • セッション ID 情報 [AadSignInEventsBeta]を参照して、関連するサインイン イベントを調査します。
      • 特定された (盗まれた) セッション ID に関連付けられているイベントを探して、盗まれた Cookie を使用して実行されたアクティビティをトレースします [CloudAppEvents]
      • 地理的な場所に違いがあるサインイン アクティビティ間の時間差を探します。 場所が異なる同じアカウントに対して複数のセッションを使用することはできません (セッションが盗まれる可能性があることを示します)。
    • 企業ホストからアカウントに対して生成されたアラートを確認します。
      • アカウントが侵害された場合、攻撃を示す侵害の前にアラートが発生する可能性があります (たとえば、SmartScreen アラート [NetworkConnectionEvents])。
  2. 疑わしい動作を調査します。

    • ISP/Country/City などのユーザーの一般的でないプロパティなどの不審なパターンを識別するための異常なパターン [CloudAppEvents] を示すイベントを探します。
    • サインイン試行 [成功/失敗] から新しいサービスまたは以前に使用されていないサービスへのアクセス、メール アクセス アクティビティの増加、Azure リソース使用率の変更など、新しいアクティビティまたは以前に見えないアクティビティを示すイベントを探します。
    • 次から始まる環境内の最近の変更を検査します。
      • Office 365 アプリケーション (Exchange オンラインアクセス許可の変更、メールの自動転送、リダイレクトなど)
      • PowerApps (PowerAutomate を使用した自動データ転送の構成など)
      • Azure 環境 (Azure portal サブスクリプションの変更など)
      • SharePoint Online (複数のサイトへのアクセス、または資格情報や財務諸表などの機密性の高いコンテンツを含むファイルへのアクセスなど)
    • 影響を受けるユーザーに対して、短時間で複数のプラットフォーム (EXO、SPO、Azure など) で観察される操作を検査します。
      • たとえば、メールの読み取り/送信操作と Azure リソースの割り当て/変更 (新しいマシンのプロビジョニングまたは Microsoft Entra ID への追加) の監査イベントのタイムラインは、互いに一致しません。
  3. 後続攻撃の可能性を調査します。 AiTM 攻撃は通常、エンドゲームではなく、手段間の攻撃であるため、影響を受けるアカウントに続く他の攻撃がないか環境を調べます。

    • たとえば、BEC ケースを調べることです
      • アラートされたユーザー アカウント メールボックスに表示される検索アクティビティを探します [CloudAppEvents]
        • メールボックス内の検索アクティビティでは、疑わしい財務詐欺 (請求書、支払いなど) でキーワードが観察される可能性があります。
        • また、読み取りとして移動してマークする目的で作成された受信トレイ ルール (New-InboxRule、UpdateInboxRules、Set-InboxRule) および RawEventData has_all (MarkAsRead、MoveToFolder、Archive) の ActionType 行に沿って作成された受信トレイ ルールも探します。
    • 複数のメールが同じ URL で送信されるメール フロー イベント [EmailEvents & EmailUrlInfo on NetworkMessageId] を探します。
      • メールボックス アカウントに対して、メールの削除の増加または大量の削除 (ActivityType をごみ箱または削除) が観察 [CloudAppEvents] するかどうかを確認する手順に従います。
      • 照合動作は、非常に疑わしいと見なされる可能性があります。
    • Office 365 メールのクリック イベントに一致する URL イベントのデバイス イベント [DeviceEvents on AccountName|AccountUpn] を調べます。
      • クリック ソースのイベント (たとえば、同じ URL の異なる IP アドレス) と一致すると、悪意のある動作が示される可能性があります。

高度なハンティング クエリ

高度なハンティング は、クエリベースの脅威ハンティング ツールで、ネットワーク内のイベントを検査し、脅威インジケーターを見つけることができます。 これらのクエリを使用して、アラートに関連する詳細情報を収集し、アクティビティが疑わしいかどうかを判断します。

次のテーブルにアクセスできることを確認します。

  • AadSignInEventsBeta - ユーザーのサインイン情報が含まれています。
  • IdentityLogonEvents - ユーザーのサインイン情報が含まれています。
  • CloudAppEvents - ユーザー アクティビティの監査ログが含まれています。
  • EmailEvents - メール フロー/トラフィック情報が含まれます。
  • EmailUrlInfo - 電子メールに含まれる URL 情報が含まれます。
  • UrlClickEvents - 電子メールでクリックされた URL の URL クリック ログが含まれています。
  • DeviceEvents - デバイス アクティビティ監査イベントが含まれます。

疑わしいサインイン動作を特定するには、次のクエリを使用します。

let OfficeHomeSessionIds = 
AADSignInEventsBeta
| where Timestamp > ago(1d)
| where ErrorCode == 0
| where ApplicationId == "4765445b-32c6-49b0-83e6-1d93765276ca" //OfficeHome application 
| where ClientAppUsed == "Browser" 
| where LogonType has "interactiveUser" 
| summarize arg_min(Timestamp, Country) by SessionId;
AADSignInEventsBeta
| where Timestamp > ago(1d)
| where ApplicationId != "4765445b-32c6-49b0-83e6-1d93765276ca"
| where ClientAppUsed == "Browser" 
| project OtherTimestamp = Timestamp, Application, ApplicationId, AccountObjectId, AccountDisplayName, OtherCountry = Country, SessionId
| join OfficeHomeSessionIds on SessionId
| where OtherTimestamp > Timestamp and OtherCountry != Country

一般的でない国/地域を特定するには、次のクエリを使用します。

AADSignInEventsBeta 
| where Timestamp > ago(7d) 
| where ApplicationId == "4765445b-32c6-49b0-83e6-1d93765276ca" //OfficeHome application 
| where ClientAppUsed == "Browser" 
| where LogonType has "interactiveUser" 
| summarize Countries = make_set(Country) by AccountObjectId, AccountDisplayName

不審なサインイン セッション中に作成された新しい電子メール 受信トレイ ルールを検索するには、次のクエリを使用します。

//Find suspicious tokens tagged by AAD "Anomalous Token" alert
let suspiciousSessionIds = materialize(
AlertInfo
| where Timestamp > ago(7d)
| where Title == "Anomalous Token"
| join (AlertEvidence | where Timestamp > ago(7d) | where EntityType == "CloudLogonSession") on AlertId
| project sessionId = todynamic(AdditionalFields).SessionId);
//Find Inbox rules created during a session that used the anomalous token
let hasSuspiciousSessionIds = isnotempty(toscalar(suspiciousSessionIds));
CloudAppEvents
| where hasSuspiciousSessionIds
| where Timestamp > ago(21d)
| where ActionType == "New-InboxRule"
| where RawEventData.SessionId in (suspiciousSessionIds)

アラート アクティビティが悪意があると判断したら、それらのアラートを True Positive (TP) として分類し、次のアクションを実行します。

  • ユーザーのアカウント資格情報をリセットします。 また、侵害されたアカウントのトークンを無効または取り消します。
  • 見つかった成果物が電子メールに関連している場合は、Sender IP アドレスと Sender ドメインに基づいてブロックを構成します。
    • 入力ミスが発生したドメインは、DMARC、DKIM、SPF ポリシー (ドメインが完全に異なるため) をクリアするか、"null 結果 ( 脅威アクターによって構成されていない可能性があるため) を返す可能性があります。
  • 調査中に悪意があると特定された URL または IP アドレス (ネットワーク保護プラットフォーム上) をブロックします。

関連項目

Cookie の盗難から BEC へ

ヒント

さらに多くの情報を得るには、 Tech Community: Microsoft Defender XDR Tech Community で Microsoft セキュリティ コミュニティに参加します。