フィッシングの調査

この記事では、組織内のフィッシング攻撃の特定と調査に関するガイダンスを提供します。 詳細な手順は、情報を保護し、さらなるリスクを最小限に抑えるために必要な修復アクションを実行するのに役立ちます。

この記事には、次のセクションが含まれています。

  • 前提 条件: 調査を開始する前に完了する必要がある特定の要件について説明します。 たとえば、有効にする必要があるログ記録、必要なロールとアクセス許可などです。
  • ワークフロー: この調査を実行するために従う必要がある論理フローを示します。
  • チェックリスト: フローチャートの各手順のタスクの一覧が含まれています。 このチェックリストは、厳しく規制された環境で、自分が行ったことを確認したり、単に自分の品質ゲートとして使用したりするのに役立ちます。
  • 調査手順: この特定の調査に関する詳細なステップ バイ ステップ ガイダンスが含まれています。

前提 条件

フィッシングの調査を続行する前に完了する必要がある一般的な設定と構成を次に示します。

アカウントの詳細

調査を続行する前に、侵害されたと思われるアカウントのユーザー名、ユーザー プリンシパル名 (UPN)、または電子メール アドレスを使用することをお勧めします。

Microsoft 365基本要件

監査設定を確認する

既定でメールボックス監査が有効になっていることを確認します。 組織のメールボックス監査が有効になっていることを確認するには、powerShell で次のコマンドMicrosoft Exchange Online実行します。

Get-OrganizationConfig | Format-List AuditDisabled

False の値は、組織のメールボックス監査が既定で有効になっていることを示します。 これは 、既定で組織の値によって 、特定のメールボックスのメールボックス監査設定よりも優先されます。 たとえば、メールボックスに対してメールボックスの監査が無効になっている場合 ( メールボックスの AuditEnabled プロパティは False )、既定のメールボックス操作は、組織に対して既定でメールボックス監査が有効になっているため、メールボックスに対して監査されます。

メモ

テナントが 2019 より前に作成された場合は、 メールボックスの監査すべての監査設定を 有効にする必要があります。 メールボックス監査を有効にする方法について説明します

テナント内のメールボックス監査設定を確認する

特定のテナント内のすべてのメールボックスを確認するには、Exchange Online PowerShell で次のコマンドを実行します。

Get-Mailbox -ResultSize Unlimited -Filter {RecipientTypeDetails -eq "UserMailbox"} | Set-Mailbox -AuditEnabled $true

メールボックス監査が有効になっている場合、既定のメールボックス ログアクションが適用されます。

  • AuditLogAgeLimit: 90 日間
  • AuditAdmin:(Actions): 更新、移動、MoveToDeletedItems、SoftDelete、HardDeleteFolderBind、SendAs、SendonBehalf、Create
  • AuditDelegate:(Actions): Update、SoftDelete、HardDelete、SendAs、Create
  • AuditOwner: (アクション) {}

特定のユーザーの設定を有効にするには、次のコマンドを実行します。 この例では、ユーザーは johndoe@contoso.com.

Get-Mailbox -Identity "johndoe" | Set-Mailbox -AuditEnabled $true

メッセージ トレース

メッセージ トレース ログは、メッセージの元のソースと目的の受信者を理解するために、目的のメッセージをトレースするのに非常に重要なコンポーネントです。 MessageTrace 機能は、Microsoft Exchange Online ポータルまたは Get-MessageTrace PowerShell コマンドレットを使用して使用できます。

MessageTrace 機能のいくつかのコンポーネントは自明ですが、Message-ID は電子メール メッセージの一意の識別子であり、十分な理解が必要です。 目的の電子メールの Message-ID を 取得するには、未加工の電子メール ヘッダーを調べる必要があります。

Microsoft 365セキュリティとコンプライアンス センター

ユーザーが特定のドキュメントを表示したか、メールボックス内のアイテムを削除したかを確認するには、Office 365 セキュリティ & コンプライアンス センターを使用し、ユーザーと管理者のアクセス許可とロールを確認します。

統合監査ログを検索し、Office 365組織内のユーザーと管理者のすべてのアクティビティを表示することもできます。

サインイン ログや監査ログは外部システムにエクスポートされますか?

ほとんどのAzure Active Directory (Azure AD) のサインインと監査データは 30 日または 90 日後に上書きされるため、Sentinel、Azure Monitor、または外部 SIEM を利用することをお勧めします。

必要なロールとアクセス許可

Azure ADのロール

調査の実行に使用するアカウントに対して、次のロールを有効にすることをお勧めします。

Microsoft 365セキュリティとコンプライアンス センターの役割

一般に、 グローバル リーダー または セキュリティ リーダー ロールは、関連するログを検索するための十分なアクセス許可を付与する必要があります。

メモ

ユーザーがセキュリティ & コンプライアンス センターの [アクセス許可] ページで [表示専用監査ログ] または [監査ログ] ロールを持っている場合、Office 365監査ログを検索することはできません。 このシナリオでは、Exchange Online コマンドレットを使用してログを検索するため、Exchange Onlineでアクセス許可を割り当てる必要があります。

Exchangeでロールベースのアクセス制御 (RBAC) を実装している場合、またはExchangeで必要なロールがわからない場合は、PowerShell を使用して、個々のExchange PowerShell コマンドレットに必要なロールを取得できます。

$Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-Table -Auto Role,RoleAssigneeType,RoleAssigneeName}

詳細については、Exchange コマンドレットを実行するために必要なアクセス許可に関するページを参照してください。

Microsoft Defender for Endpoint

Microsoft Defender for Endpoint (MDE) が既に有効でロールアウトされている場合は、このフローに利用する必要があります。 シグナル共有と機械学習を使用したフィッシングに取り組む方法に関する説明を参照してください。

システム要件

ハードウェア要件

システムは PowerShell を実行できる必要があります。

ソフトウェア要件

クラウド環境の調査には、次の PowerShell モジュールが必要です。

  • Azure AD
  • Azure AD プレビュー (場合によっては)
  • ms Online for Office 365
  • 統合監査ログ検索を利用するためにExchangeに接続するExchange (受信トレイ ルール、メッセージ トレース、転送ルール、メールボックス委任など)
  • Azure AD インシデント対応

Azure の組み込みモジュールの一部ではない Azure AD コマンドを使用する場合は、MSOnline モジュール (Office 365に使用されるのと同じモジュール) が必要です。 PowerShell から (一連の関数を含む) Azure ADを操作するには、Azure AD モジュールをインストールします。

さまざまな PowerShell モジュールのインストール

Azure AD PowerShell モジュールをインストールする

Azure AD PowerShell モジュールをインストールするには、次の手順に従います。

  1. 管理者特権でWindows PowerShell アプリを実行します (管理者として実行)。

  2. PowerShell で署名されたスクリプトを実行できるようにするには、次のコマンドを実行します。

    Set-ExecutionPolicy RemoteSigned
    
  3. Azure AD モジュールをインストールするには、次のコマンドを実行します。

    Install-Module -Name AzureAD -Verbose
    

    メモ

    信頼されていないリポジトリからモジュールをインストールするように求められた場合は、「 Y 」と入力して Enter キーを押 します

MSOnline PowerShell モジュールをインストールする

MSOnline PowerShell モジュールをインストールするには、次の手順に従います。

  1. 管理者特権でWindows PowerShell アプリを実行します (管理者として実行)。

  2. PowerShell で署名されたスクリプトを実行できるようにするには、次のコマンドを実行します。

    Set-ExecutionPolicy RemoteSigned
    
  3. MSOnline モジュールをインストールするには、次のコマンドを実行します。

    Install-Module -Name MSOnline -Verbose
    

    メモ

    信頼されていないリポジトリからモジュールをインストールするように求められた場合は、「 Y 」と入力して Enter キーを押 します

Exchange PowerShell モジュールをインストールする

多要素認証 (MFA) を使用して powerShell Exchangeをインストールする方法の手順に従ってください。 Exchange Online PowerShell モジュールは、Exchange管理センター (EAC) の [ハイブリッド] タブからダウンロードできるように、テナントにアクセスできる必要があります。

必要な設定を構成したら、調査を続行できます。

Azure AD インシデント対応モジュールをインストールする

新しい AzureADIncidentResponse PowerShell モジュールは、Azure ADインシデントに対して豊富なフィルタリング機能を提供します。 インストールするには、次の手順に従います。

  1. 管理者特権でWindows PowerShell アプリを実行します (管理者として実行)。

  2. このコマンドを使用します。

    Install-Module -Name AzureADIncidentResponse -RequiredVersion 4.0
    

    メモ

    信頼されていないリポジトリからモジュールをインストールするように求められた場合は、「 Y 」と入力して Enter キーを押 します

ワークフロー

Phishing investigation workflow

次の方法もあります。

  • フィッシングやその他のインシデント対応プレイブック ワークフローを PDF としてダウンロードします。
  • フィッシングやその他のインシデント対応プレイブック ワークフローをVisio ファイルとしてダウンロードします。

チェックリスト

このチェックリストは、調査プロセスを評価し、調査中にすべての手順を完了したかどうかを確認するのに役立ちます。

  • 最初のフィッシングメールを確認する
  • このメールを受け取ったユーザーの一覧を取得する
  • ユーザーがメールボックスにアクセスできた最新の日付を取得する
  • 委任されたアクセスはメールボックスで構成されていますか?
  • メールボックスに対して転送ルールが構成されていますか?
  • メール トランスポート ルールを確認する
  • メールを検索する
  • ユーザーがメールを読んだか開いたか。
  • 他Who同じメールが届きましたか?
  • メールに添付ファイルが含まれていますか?
  • 添付ファイルにペイロードは含まれていますか?
  • 送信者の真のソースのメール ヘッダーを確認する
  • 攻撃者/キャンペーンへの IP アドレスを確認する
  • ユーザーがメール内のリンクをクリックしましたか?
  • 電子メールが開かれたエンドポイントは何ですか?
  • 添付ファイルペイロードは実行されましたか?
  • 宛先 IP または URL がタッチされたか、開かれたか。
  • 悪意のあるコードは実行されましたか?
  • フェデレーション シナリオのアカウントでどのようなサインインが発生しましたか?
  • マネージド シナリオのアカウントでどのようなサインインが発生しましたか?
  • ソース IP アドレスを調査する
  • 検出されたデバイス ID を調査する
  • 各アプリ ID を調査する

フィッシングやその他のインシデント プレイブックのチェックリストをExcel ファイルとしてダウンロードすることもできます。

調査手順

この調査では、サンプルフィッシングメール、または送信者のアドレス、電子メールの件名、調査を開始するメッセージの一部などの一部があると見なされます。 また、 前提条件 セクションで推奨されているように、すべての設定を完了または有効にしていることを確認してください。

このプレイブックは、すべての Microsoft のお客様とその調査チームが、調査中のテナントで使用可能または構成された完全なMicrosoft 365 E5またはAzure AD Premium P2ライセンス スイートを持つわけではないことを意図して作成されます。 ただし、必要に応じて追加の自動化機能を強調します。

電子メールを受け取ったユーザー/ID の一覧を取得する

最初の手順として、フィッシングメールを受信したユーザー/ID の一覧を取得する必要があります。 この手順の目的は、後で追加の調査手順を反復処理するために使用する潜在的なユーザー/ID の一覧を記録することです。 この調査中に従う必要がある手順の概要フロー図については、「 ワークフロー 」セクションを参照してください。

このプレイブックには、この潜在的なユーザー/ID の一覧を記録する方法に関する推奨事項は一切ありません。 調査のサイズに応じて、Excelブック、CSV ファイル、またはデータベースを利用して大規模な調査を行うことができます。 特定のテナント内の ID の一覧を取得する方法は複数あり、例をいくつか示します。

セキュリティ & コンプライアンス センター内に検索フィルターを作成する

Microsoft 365のセキュリティ & コンプライアンス センターに移動し、指定したインジケーターを使用して新しい検索フィルターを作成します。 検索フィルターを作成する方法に関するガイダンスに従います。

セキュリティ & コンプライアンス センターの検索可能なパターンの完全な一覧については、 検索可能な電子メール のプロパティに関する記事を参照してください。

サンプル検索パターン

次のクエリ例は、2016 年 4 月 13 日から 2016 年 4 月 14 日の間にユーザーによって受信され、件名行に "action" と "required" という単語を含むメッセージを返します。

(Received:4/13/2016..4/14/2016) AND (Subject:'Action required')

次のクエリ例は、chatsuwloginsset12345@outlookによって送信されたメッセージを返します 。com と、件名行に "アカウント情報を更新する" という正確な語句が含まれています。

(From:chatsuwloginsset12345@outlook.com) AND (Subject:"Update your account information")

詳細については、 組織内のメッセージを検索して削除する方法を参照してください

Search-Mailbox コマンドレットを使用する

このコマンドレットを Search-mailbox 使用して、対象のターゲット メールボックスに対して特定の検索クエリを実行し、無関係な宛先メールボックスに結果をコピーできます。

次のクエリ例では、件名に請求書という語句が含まれるメールを Jane Smith メールボックスで検索し、結果を "調査" という名前のフォルダー内の IRMailbox にコピーします。

Search-Mailbox -Identity "Jane Smith" -SearchQuery "Subject:Invoice" -TargetMailbox "IRMailbox" -TargetFolder "Investigation" LogLevel Full

このコマンド例では、クエリはすべてのテナント メールボックスで、件名に "InvoiceUrgent" という語句を含む電子メールを検索し、結果を "調査" という名前のフォルダー内の IRMailbox にコピーします。

Get-Mailbox | Search-Mailbox -SearchQuery 'InvoiceUrgent vote' -TargetMailbox "IRMailbox" -TargetFolder "Investigation" -LogLevel Full

委任されたアクセスはメールボックスで構成されていますか?

メールボックスに対して委任されたアクセスが構成されているかどうかを確認する方法について説明します。

このレポートを作成するには、すべてのユーザーの一覧を取得する小さな PowerShell スクリプトを実行します。 次に、Get-MailboxPermission コマンドレットを使用して、テナント内のすべてのメールボックス デリゲートの CSV ファイルを作成します。

通常とは異なる名前またはアクセス許可の付与を探します。 異常な内容が表示された場合は、メールボックスの所有者に問い合わせ、それが正当かどうかを確認してください。

メールボックスに対して転送ルールが構成されていますか?

この手順では、転送ルールまたは受信トレイルールについて以前に識別された各メールボックスを確認する必要があります。 転送ルールの場合は、次の PowerShell コマンドを使用します。

Get-Mailbox | select UserPrincipalName,ForwardingSmtpAddress,DeliverToMailboxAndForward | Export-csv c:\temp\Forwarding.csv -NoTypeInformation

クエリの例を次に示します。

Search-UnifiedAuditLog -startdate 12/16/2019 -EndDate 03/16/2019 -ResultSize 5000 -recordtype exchangeadmin -Operations New-InboxRule |Export-csv NoTypeInformation -Path c:\temp\Inboxrulesoutput.csv

さらに、Office 365 セキュリティ & コンプライアンス センターの受信トレイと転送ルールレポートを利用することもできます。

  1. ダッシュボード > レポート ビューアー - セキュリティ & コンプライアンスに移動します。

  2. 通常とは異なるターゲットの場所、または外部アドレス指定の種類を探します。

  3. また、件名に請求書という単語が含まれるすべてのメールなどの条件で、通常とは異なるキーワード を含む転送ルールを探します。 メールボックスの所有者に問い合わせ、それが正当かどうかを確認します。

受信トレイルールを確認する

さらに、受信トレイルールの削除を確認します。 例として、次の PowerShell コマンドを使用します。

Search-UnifiedAuditLog -startDate 12/16/2019 -EndDate 03/16/2020 -Operations Remove-InboxRule |Export-CSV NoTypeInformation -Path c:\temp\removedInboxRules.csv

削除された受信トレイルールを探し、調査に近いタイムスタンプを検討してください。

メール トランスポート ルールを確認する

トランスポート ルールの一覧を取得するには、2 つの方法があります。

  1. Exchange管理センターで、[メール > Flow > ルール] に移動します。
  2. Office 365 セキュリティ & コンプライアンス センターで、ダッシュボード レポート ビューアー>のセキュリティ & コンプライアンス - Exchange トランスポート ルール レポートに移動し、レポートを作成します。

レポートの概要ビューには、テナント用に構成したすべてのメール トランスポート ルールの一覧が表示されます。 特定のルールを選択すると、右側の [概要 ] ウィンドウにルールの詳細が表示されます。これには、ルールの条件が一致したときに実行される条件とアクションが含まれます。

メールを外部ドメインにリダイレクトするように変更された新しいルールまたはルールを探します。 既知の適切なルールの一覧を保持できるように、ルールの数は比較的少ない必要があります。 新しいルールを作成する場合は、そのイベントの監査レポートに新しいエントリを作成する必要があります。 レポートを検索して、ルールを作成したユーザーとルールを作成した場所を特定できます。 異常な内容が表示された場合は、作成者に問い合わせ、正当なものであるかどうかを確認してください。

ユーザーがメールボックスにアクセスできた最新の日付を取得する

Office 365 セキュリティ & コンプライアンス センターで、統合監査ログに移動します。 ドロップダウン リストの [アクティビティ] で、Exchangeメールボックス アクティビティでフィルター処理できます。

侵害されたユーザーを一覧表示する機能は、Microsoft 365 セキュリティ & コンプライアンス センターで利用できます。

このレポートには、メールボックスが不正にアクセスされていることを示す可能性のあるアクティビティが表示されます。 これには、作成または受信したメッセージ、移動または削除されたメッセージ、コピーまたは削除されたメッセージ、代理送信または送信元を使用して送信されたメッセージ、すべてのメールボックス サインインが含まれます。データには、日付、IP アドレス、ユーザー、実行されたアクティビティ、影響を受けるアイテム、および拡張された詳細が含まれます。

メモ

このデータを記録するには、 メールボックス監査オプションを 有効にする必要があります。

ここに含まれるデータの量は非常に大きくなる可能性があるため、侵害された場合に影響を与えるユーザーに検索を集中させます。 奇数時や異常な IP アドレスなどの異常なパターンを探し、大量の移動、消去、削除などのパターンを探します。

ユーザーが電子メールを読み取り/開いたか。

ここでは、主に次の 2 つのケースがあります。

  • Microsoft Exchange Online
  • オンプレミスのExchange サーバーとのハイブリッド Exchange。

Microsoft Exchange Online

コマンドレットを Search-Mailbox 使用して、対象のターゲット メールボックスに対して特定の検索クエリを実行し、結果を無関係の宛先メールボックスにコピーします。
次のクエリ例では、件名に請求書という語句が含まれているメールを Janes Smith のメールボックスで検索し、結果を [調査] という名前のフォルダーの IRMailbox にコピーします。

Search-Mailbox -Identity "Jane Smith" -SearchQuery "Subject:Invoice" -TargetMailbox "IRMailbox" -TargetFolder "Investigation" LogLevel Full

次のサンプル クエリは、件名に InvoiceUrgent という語句を含むメールをすべてのテナント メールボックスで検索し、結果を [調査] という名前のフォルダー内の IRMailbox にコピーします。

Get-Mailbox | Search-Mailbox -SearchQuery 'InvoiceUrgent vote' -TargetMailbox "IRMailbox" -TargetFolder "Investigation" -LogLevel Full

オンプレミスのExchange

コマンドレットを Get-MessageTrackingLog 使用して、メッセージ追跡ログに格納されているメッセージ配信情報を検索します。 例を次に示します。

Get-MessageTrackingLog -Server Mailbox01 -Start "03/13/2018 09:00:00" -End "03/15/2018 17:00:00" -Sender "john@contoso.com"

パラメーター セットの詳細については、Exchangeコマンドレットの構文を参照してください。

他Who同じメールが届きましたか?

ここでは、オンプレミスのExchange サーバーを使用したExchange Onlineまたはハイブリッド Exchangeの 2 つの主なケースがあります。 ワークフローは基本的に、「電子メールを受け取ったユーザー/ID の一覧を取得する」のトピックで説明されているのと同じです。

Exchange Online

コマンドレットを Search-Mailbox 使用して、対象のターゲット メールボックスに対して特定の検索クエリを実行し、結果を無関係の宛先メールボックスにコピーします。

このサンプル クエリは、件名に件名 InvoiceUrgent を含む電子メールをすべてのテナント メールボックスで検索し、結果を [調査] という名前のフォルダー内の IRMailbox にコピーします。

Get-Mailbox | Search-Mailbox -SearchQuery "Subject:InvoiceUrgent" -TargetMailbox "IRMailbox" -TargetFolder "Investigation" -LogLevel Full

オンプレミスのExchange

コマンドレットを Get-MessageTrackingLog 使用して、メッセージ追跡ログに格納されているメッセージ配信情報を検索します。 例を次に示します。

Get-MessageTrackingLog -Server Mailbox01 -Start "03/13/2018 09:00:00" -End "03/15/2018 17:00:00" -MessageSubject "InvoiceUrgent"

メールに添付ファイルが含まれていますか?

Exchange Onlineには 2 つのオプションがあります。

  1. クラシック Search-Mailbox コマンドレットを使用する
  2. コマンドレットを使用するNew-ComplianceSearch

Exchange Online

コマンドレットを Search-Mailbox 使用して、対象のターゲット メールボックスに対して特定の検索クエリを実行し、結果を無関係の宛先メールボックスにコピーします。 例を次に示します。

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery attachment:trojan* -TargetMailbox "IRMailbox" -TargetFolder "Investigation" -LogLevel Full

もう 1 つのオプションは、コマンドレットを New-ComplianceSearch 使用することです。 例を次に示します。

New-ComplianceSearch -Name "Investigation" -ExchangeLocation "Research Department" -ContentMatchQuery "from:pilar@contoso.com AND hasattachment:true"

オンプレミスのExchange

コマンドレットを Search-Mailbox 使用して、メッセージ追跡ログに格納されているメッセージ配信情報を検索します。 例を次に示します。

Search-Mailbox -Identity "Jane Smith"-SearchQuery AttachmentNames:attachment_name -TargetMailbox "IRMailbox" -TargetFolder "Investigation" -LogLevel Full

メモ

Exchange 2013 では、このコマンドレットを実行するには CU12 が必要です。

添付ファイルにペイロードは含まれていますか?

この手順では、添付ファイル内の潜在的な悪意のあるコンテンツ (PDF ファイル、難読化された PowerShell、その他のスクリプト コードなど) を探します。

マルウェア検出レポートには、組織のマルウェアが含まれていると検出された受信メッセージと送信メッセージの数が表示されます。

このレポートを表示するには、セキュリティ & コンプライアンス センターの [レポート ダッシュボード>マルウェア検出] >に移動します。

脅威の保護状態レポートと同様に、このレポートには、既定で過去 7 日間のデータも表示されます。 ただし、フィルターを選択すると、最大 90 日間の日付範囲を変更して詳細を表示できます。 (試用版サブスクリプションを使用している場合は、30 日間のデータに制限される可能性があります)。詳細を表示するには、[ 詳細テーブルの表示 ] を選択するか、レポートをエクスポートします。

送信者の真のソースのメール ヘッダーを確認する

メッセージ トレース機能のコンポーネントの多くは自明ですが、 Message-ID について十分に理解する必要があります。 Message-ID は、電子メール メッセージの一意の識別子です。

目的の電子メールの Message-ID を 取得するには、未加工の電子メール ヘッダーを調べる必要があります。 電子メール ヘッダーの検査は、使用されている電子メール クライアントによって異なります。 ただし、通常はOffice 365内で電子メール メッセージを開き、[閲覧] ウィンドウで [元のメッセージの表示] を選択して電子メール クライアントを識別します。 不明な場合は、それぞれの電子メール クライアントでメッセージ ヘッダーを表示する方法を簡単に検索すると、さらにガイダンスが提供されます。

まず、電子メール ヘッダーを確認する必要があります。 たとえば、Outlook 365 でメッセージを開き、[ファイル>情報のプロパティ] >に移動します。

Example of a properties screen showing email headers電子メール ヘッダーを示すプロパティ画面

電子メール ヘッダーを表示する場合は、読みやすくするために、 MXToolbox または Azure によって提供される電子メール ヘッダー アナライザーにヘッダー情報をコピーして貼り付けすることをお勧めします。

  • ヘッダー ルーティング情報: ルーティング情報は、コンピューター間で転送される電子メールのルートを提供します。

  • Sender Policy Framework (SPF): スプーフィングの防止/検出に役立つ電子メール検証。 SPF レコードでは、ドメインに代わって電子メールを送信できる IP アドレスとドメインを特定できます。

  • SPF = Pass: 送信者がドメインに代わって送信することを許可されている SPF TXT レコード。

    • SPF = ニュートラル
    • SPF = Fail: ポリシー構成によってメッセージの結果が決定されます
      送信者 IP
    • SMTP メール: これが正当なドメインであるかどうかを検証する
  • 共通値: 最も一般的に使用および表示されるヘッダーとその値の内訳を次に示します。 これは有益な情報であり、脅威エクスプローラーの [検索 ] フィールドで使用できます。

    • 差出人住所
    • 件名
    • メッセージ ID
    • アドレスを指定するには
    • 戻りパスのアドレス
  • Authentication-Results: 電子メールが送信されたときに電子メール クライアントが認証された内容を確認できます。 SPF と DKIM 認証が提供されます。

  • 発信元 IP: 元の IP を使用して、IP がブロックリストに含まれているかどうかを判断し、地理的な場所を取得できます。

  • スパム信頼レベル (SCL): これにより、受信電子メールがスパムである確率が決まります。
    SCL レーティング:

    • -1: 安全な送信者、安全な受信者、または安全に一覧表示された IP アドレス (信頼されたパートナー) からの非スパム
    • 0、1: メッセージがスキャンされ、クリーンであると判断されたため、スパムではない
    • 5、6: スパム
    • 7、8、9: 高信頼スパム

SPF レコードは DNS データベース内に格納され、DNS 参照情報にバンドルされます。 nslookup コマンドを使用して、ドメインの Sender Policy Framework (SPF) レコードを手動で確認できます。

  1. コマンド プロンプトを開きます (コマンドの実行の開始>>)。

  2. 次のようにコマンドを入力します。 nslookup -type=txt" としてスペースを入力し、次にドメイン/ホスト名を入力します。 例えば:

     nslookup -type=txt domainname.com
    

メモ

-all (拒否または失敗する - 一致しない場合はメールを配信しない) をお勧めします。

Office 365のカスタム ドメインで DKIM が有効になっているかどうかを確認する

ドメイン キー識別メール (DKIM) を追加するドメインごとに、2 つの CNAME レコードを発行する必要があります。 DKIM を使用して、カスタム ドメインから送信された送信メールを検証する方法について説明します

ドメイン ベースのメッセージ認証、レポート、および準拠 (DMARC) を確認する

この機能を使用して、Office 365で送信メールを検証できます。

攻撃者/キャンペーンへの IP アドレスを確認する

前の調査手順で特定された IP アドレスを確認または調査するには、次のいずれかのオプションを使用できます。

  • Virustotal
  • Microsoft Defender for Endpoint
  • パブリック ソース:
    • Ipinfo.io - geo 位置を取得するための無料のオプションがあります
    • Censys.io - インターネットのパッシブ スキャンが知っていることに関する情報を取得する無料のオプションがあります
    • AbuseIPDB.com - 位置情報を提供する無料のオプションがあります
    • Bingと Google に問い合わせ - IP アドレスで検索する

URL の評価

SmartScreen テクノロジを利用する任意のWindows 10デバイスとMicrosoft Edgeブラウザーを使用できます。

サードパーティの URL 評判の例をいくつか次に示します。

IP アドレスと URL を調査するときは、出力または結果に応じて、IP アドレスを探して侵害のインジケーター (IOC) またはその他のインジケーターに関連付け、敵対者からのソースの一覧に追加します。

ユーザーが電子メール内のリンクをクリックした場合 (オン目的かどうか)、通常、このアクションはデバイス自体で新しいプロセスの作成につながります。 これが実行されたデバイスに応じて、デバイス固有の調査を実行する必要があります。 たとえば、Windows vs Android vs iOS。 この記事では、一般的なアプローチと、Windows ベースのデバイスの詳細について説明しました。 Microsoft Defender for Endpoint (MDE) を使用している場合は、iOS およびすぐに Android でも利用できます。

これらのイベントは、Microsoft Defender for Endpointを使用して調査できます。

  1. VPN/プロキシ ログ
    プロキシソリューションと VPN ソリューションのベンダーに応じて、関連するログを確認する必要があります。 イベントを SIEM または Microsoft Sentinel に転送するのが理想的です。

  2. Microsoft Defender for Endpointの使用
    これは、脅威インテリジェンスと自動分析を使用して調査を支援できるため、最適なシナリオです。 詳細については、Microsoft Defender for Endpointでアラートを調査する方法を参照してください。

    アラート プロセス ツリーは、アラートトリアージと調査を次のレベルに引き上げ、同じ実行コンテキストと期間内に発生した集計されたアラートとその周囲の証拠を表示します。
    Example of the alert process tree

  3. Windows ベースのクライアント デバイス
    [プロセス作成イベント] オプションが有効になっていることを確認します。 理想的には、 コマンド ライン トレース イベントも有効にする必要があります。

    調査の前に上記の監査イベントが有効になっているWindows クライアントでは、監査イベント 4688 を確認し、電子メールがユーザーに配信された時刻を確認できます。

    Example of Audit Event 4688

    Another example of Audit Event 4688

電子メールが開かれたエンドポイントは何ですか?

ここでのタスクは、前の調査手順と似ています。 ユーザーは電子メールのリンクをクリックしましたか?

アタッチされたペイロードは実行されましたか?

ここでのタスクは、前の調査手順と似ています。 ユーザーは電子メールのリンクをクリックしましたか?

宛先 IP/URL がタッチされたか、開かれたか。

ここでのタスクは、前の調査手順と似ています。 ユーザーは電子メールのリンクをクリックしましたか?

悪意のあるコードは実行されましたか?

ここでのタスクは、前の調査手順と似ています。 ユーザーは電子メールのリンクをクリックしましたか?

アカウントでどのようなサインインが発生しましたか?

アカウントで発生したさまざまなサインインを確認します。

フェデレーション シナリオ

監査ログの設定とイベントは、オペレーティング システム (OS) レベルとActive Directory フェデレーション サービス (AD FS) (ADFS) サーバーのバージョンによって異なります。

異なるサーバー バージョンについては、次のセクションを参照してください。

Server 2012R2

既定では、セキュリティ イベントは Server 2012R2 では監査されません。 ファーム内の各 ADFS サーバーでこの機能を有効にする必要があります。 ADFS 管理コンソールで、 フェデレーション サービスのプロパティの編集を選択します。

federatedproperties

また、OS 監査ポリシーを有効にする必要もあります。

コマンド プロンプトを開き、管理者として次のコマンドを実行します。

auditpol.exe /set /subcategory:”Application Generated” /failure:enable /success:enable

詳細については、 トラブルシューティング用に ADFS サーバーを構成する方法を参照してください。

ADFS PowerShell モジュールは、次の場所からダウンロードすることもできます。

Server 2016 以降

既定では、Windows Server 2016の ADFS では基本的な監査が有効になっています。 基本的な監査では、管理者は 1 つの要求に対して 5 つ以下のイベントを確認できます。 ただし、次のコマンドを使用して、監査レベルを上げたり下げたりすることができます。

Set-AdfsProperties -AuditLevel Verbose

詳細については、Windows サーバーの ADFS に対する監査の機能強化に関するWindows参照してください。

Azure AD Connect正常性がインストールされている場合は、危険な IP レポートも調べなければなりません。 失敗したサインイン アクティビティのクライアント IP アドレスは、Web アプリケーション プロキシ サーバーを介して集計されます。 危険な IP レポートの各項目には、指定されたしきい値を超える失敗した AD FS サインイン アクティビティに関する集計された情報が表示されます。

Example of the risky IP report

詳細については、「 危険な IP レポート」を参照してください。

Server 2012R2

イベント ID 342 – ADFS 管理者ログの "ユーザー名またはパスワードが正しくありません"。

実際の監査イベントについては、セキュリティ イベント ログを確認する必要があり、ソースを ADFS 監査として使用するクラシック監査エラーのイベント ID 411 を持つイベントを探す必要があります。 認証が成功した場合は、イベント ID 412 も探します。

イベント ID 411 - SecurityTokenValidationFailureAudit トークンの 検証に失敗しました。 詳細については、内部例外を参照してください。

Example of an event 411

Example of an event 412

イベントを対応するイベント ID 501 と関連付ける必要がある場合があります。

Server 2016 以降

実際の監査イベントについては、セキュリティ イベント ログを確認する必要があります。認証イベントが成功した場合はイベント ID 1202、エラーの場合は 1203 を探す必要があります。

イベント ID 1202 の例:

イベント ID 1202 FreshCredentialSuccessAudit The Federation Service が新しい資格情報を検証しました。 詳細については、XML を参照してください。

イベント ID 1203 の例:

イベント ID 1203 FreshCredentialFailureAudit The Federation Service が新しい資格情報を検証できませんでした。 エラーの詳細については、XML を参照してください。

Example of an event 1203

Example of an event 4624

OS レベルごとの ADFS イベント ID の完全な一覧を取得するには、 GetADFSEventList を参照してください。

マネージド シナリオ

調査しているユーザーのサインイン ログAzure AD確認します。

Azure AD ポータルで、サインイン画面に移動し、前の調査手順で見つかった時間枠の表示フィルターを追加または変更し、この画像に示すようにフィルターとしてユーザー名を追加します。

Example of a display filter

Graph APIを使用して検索することもできます。 たとえば、 ユーザー プロパティ をフィルター処理し、それに加えて lastSignInDate を取得します。 特定のユーザーを検索して、このユーザーの最後のサインイン日を取得します。 例えば https://graph.microsoft.com/beta/users?$filter=startswith(displayName,'Dhanyah')&$select=displayName,signInActivity

または、PowerShell コマンド Get-AzureADUserLastSignInActivity を使用して、オブジェクト ID の対象となるユーザーの最後の対話型サインイン アクティビティを取得することもできます。 次の使用例は、実行ディレクトリ内の日付と時刻のスタンプ付き CSV ファイルに出力を書き込みます。

Get-AzureADUserLastSignInActivity -TenantId 536279f6-1234-2567-be2d-61e352b51eef -UserObjectId 69447235-0974-4af6-bfa3-d0e922a92048 -CsvOutput

または、AzureADIncidentResponse PowerShell モジュールから次のコマンドを使用することもできます。

Get-AzureADIRSignInDetail -UserId johcast@Contoso.com -TenantId 536279f6-1234-2567-be2d-61e352b51eef -RangeFromDaysAgo 29 -RangeToDaysAgo 3

ソース IP アドレスを調査する

Azure ADサインイン ログまたは ADFS/フェデレーション サーバーのログ ファイルで検出されたソース IP アドレスに基づいて、トラフィックの送信元を詳しく調べます。

マネージド ユーザー

マネージド シナリオでは、サインイン ログの確認を開始し、ソース IP アドレスに基づいてフィルター処理する必要があります。

Example of a managed user IP address]

または、AzureADIncidentResponse PowerShell モジュールから次のコマンドを使用することもできます。

Get-AzureADIRSignInDetail -IpAddress 1.2.3.4 -TenantId 536279f6-1234-2567-be2d-61e352b51eef -RangeFromDaysAgo 29 -RangeToDaysAgo 3 -OutGridView

結果の一覧を調べるとき、[ デバイス情報 ] タブに移動します。使用されるデバイスに応じて、さまざまな出力が得られます。 いくつかの例を次に示します。

  • 例 1 - 管理されていないデバイス (BYOD):

    Example of a unmanaged device

  • 例 2 - マネージド デバイス (Azure AD join またはハイブリッド Azure AD join):

    Example of a managed device

DeviceID が存在する場合は、デバイス ID を確認します。 OS とブラウザーまたは UserAgent 文字列も探す必要があります。

Example of a device ID

CorrelationIDRequest ID、タイムスタンプを記録しますCorrelationIDtimestamp を使用して、結果を他のイベントに関連付ける必要があります。

フェデレーション ユーザー/アプリケーション

フェデレーション サインイン シナリオで提供されているのと同じ手順に従います。

DeviceID、OS レベル、CorrelationID、RequestID を探して記録します。

識別された DeviceID を調査する

この手順は、Azure ADが認識されているデバイスにのみ関連します。 たとえば、前の手順から、1 つ以上の潜在的なデバイス ID が見つかった場合は、このデバイスでさらに調査できます。 DeviceID とデバイス所有者を探して記録します

各 AppID を調査する

ここでの開始点は、サインイン ログと、テナントまたはフェデレーション サーバーの構成のアプリ構成です。

マネージド シナリオ

以前に見つかったサインイン ログの詳細から、[基本情報] タブの [アプリケーション ID] を確認します。

managedscenario

アプリケーション (と ID) とリソース (および ID) の違いに注意してください。 アプリケーションは関連するクライアント コンポーネントですが、リソースはAzure ADのサービス/アプリケーションです。

この AppID を使用すると、テナントで調査を実行できるようになりました。 例を次に示します。

Get-AzureADApplication -Filter "AppId eq '30d4cbf1-c561-454e-bf01-528cd5eafd58'"

ObjectId                              |   AppId                                |    DisplayName

3af6dc4e-b0e5-45ec-8272-56f3f3f875ad     30d4cbf1-c561-454e-bf01-528cd5eafd58         Claims X-Ray

この情報を使用すると、Enterprise アプリケーション ポータルで検索できます。 [すべてのアプリケーション] に移動し、特定の AppID を検索します。

Example of an application ID

その他のインシデント対応プレイブック

これらの追加の種類の攻撃を特定して調査するためのガイダンスを調べます。

インシデント対応リソース