Share via


パスワード スプレー攻撃に関連する疑わしい IP アドレスのアラート分類

適用対象:

  • Microsoft Defender XDR

脅威アクターは、パスワード推測手法を使用して、ユーザー アカウントにアクセスします。 パスワード スプレー攻撃では、脅威アクターは、多くの異なるアカウントに対して最も使用されるパスワードのいくつかに頼る可能性があります。 多くのユーザーがまだ既定の脆弱なパスワードを使用しているため、攻撃者はパスワード スプレーを使用してアカウントを侵害することに成功しました。

このプレイブックは、IP アドレスに危険というラベルが付けられたり、パスワード スプレー攻撃に関連付けられたり、不明な場所からユーザーがサインインしたり、ユーザーが予期しない多要素認証 (MFA) プロンプトを受け取ったりするなど、原因不明の疑わしいアクティビティが検出されたインスタンスを調査するのに役立ちます。 このガイドは、セキュリティ オペレーション センター (SOC) や、アラートを確認、処理、管理、分類する IT 管理者などのセキュリティ チーム向けです。 このガイドは、アラートを 真陽性 (TP) または偽陽性 (FP) として迅速に分類するのに役立ち、TP の場合は、攻撃を修復し、セキュリティ リスクを軽減するために推奨されるアクションを実行します。

このガイドを使用した場合の目的の結果は次のとおりです。

  • パスワード スプレー IP アドレスに関連付けられているアラートが悪意のある (TP) または誤検知 (FP) アクティビティとして識別されました。

  • IP アドレスがパスワード スプレー攻撃を実行している場合は、必要なアクションを実行しました。

調査手順

このセクションには、アラートに応答し、organizationをそれ以上の攻撃から保護するための推奨されるアクションを実行するためのステップバイステップのガイダンスが含まれています。

1. アラートを確認する

アラート キュー内のパスワード スプレー アラートの例を次に示します。

Microsoft Defender 365 アラートのスクリーンショット。

つまり、脅威インテリジェンス ソースに従ってブルートフォースまたはパスワード スプレーの試行に関連付けられている可能性がある IP アドレスから発生する疑わしいユーザー アクティビティが発生します。

2. IP アドレスを調査する

  • IP から発生した アクティビティ を見てください。

    • サインインの試行はほとんど失敗していますか?

    • サインインの試行間隔は疑わしいと見なされますか? 自動パスワード スプレー攻撃は、試行の間隔が定期的に設定される傾向があります。

    • MFA プロンプトを使用してユーザーまたは複数のユーザーがサインインしようとして成功しましたか? これらの試行の存在は、IP が悪意を持たないことを示している可能性があります。

    • レガシ プロトコルは使用されますか? POP3、IMAP、SMTP などのプロトコルを使用すると、パスワード スプレー攻撃を実行しようとする可能性があります。 アクティビティ ログでユーザー エージェント (デバイスの種類) を見つけることUnknown(BAV2ROPC)は、レガシ プロトコルの使用を示します。 アクティビティ ログを見ると、次の例を参照できます。 このアクティビティは、他のアクティビティとさらに関連付ける必要があります。

      デバイスの種類を示す Microsoft Defender 365 インターフェイスのスクリーンショット。

      図 1. [デバイスの種類] フィールドには、Microsoft Defender XDRのユーザー エージェントが表示されますUnknown(BAV2ROPC)

    • 匿名プロキシまたは Tor ネットワークの使用を確認します。 脅威アクターは、多くの場合、これらの代替プロキシを使用して情報を非表示にし、トレースが困難になります。 ただし、上記のプロキシのすべての使用が悪意のあるアクティビティと相関しているわけではありません。 より良い攻撃インジケーターを提供する可能性があるその他の不審なアクティビティを調査する必要があります。

    • IP アドレスは仮想プライベート ネットワーク (VPN) から送信されますか? VPN は信頼できますか? IP が VPN から発信されているかどうかを確認し、RiskIQ などのツールを使用して、その背後にあるorganizationを確認します

    • 同じサブネット/ISP を持つ他の IP を確認します。 パスワード スプレー攻撃は、同じサブネット/ISP 内の多数の異なる IP から発生する場合があります。

  • テナントの IP アドレスは一般的ですか? 過去 30 日間にテナントに IP アドレスが表示されたかどうかを確認するには、アクティビティ ログを確認します。

  • テナント内の IP から発生したその他の不審なアクティビティまたはアラートのSearch。 調査するアクティビティの例としては、メールの削除、転送ルールの作成、サインインが成功した後のファイルのダウンロードなどがあります。

  • RiskIQ などのツールを使用して、IP アドレスのリスク スコアを確認します。

3. サインイン後に疑わしいユーザー アクティビティを調査する

疑わしい IP が認識されたら、サインインしたアカウントを確認できます。 アカウントのグループが侵害され、IP やその他の同様の IP からサインインするために正常に使用された可能性があります。

アラートが発生した直後に、IP アドレスからサインインが成功したすべての試行をフィルター処理します。 次に、サインイン後に、そのようなアカウントで悪意のあるアクティビティや異常なアクティビティを検索します。

  • ユーザー アカウント アクティビティ

    パスワード スプレー アクティビティの前のアカウントのアクティビティが疑わしいではないことを検証します。 たとえば、共通の場所や ISP に基づく異常なアクティビティがある場合、アカウントが以前に使用していなかったユーザー エージェントを利用している場合、他のゲスト アカウントが作成された場合、悪意のある IP からサインインした後に他の資格情報が作成された場合など、チェックします。

  • アラート

    ユーザーがパスワード スプレー アクティビティの前に他のアラートを受け取ったかどうかを確認します。 これらのアラートは、ユーザー アカウントが侵害される可能性があることを示します。 たとえば、不可能な旅行アラート、頻度の低い国/地域からのアクティビティ、疑わしい電子メールの削除アクティビティなどがあります。

  • インシデント

    アラートがインシデントを示す他のアラートに関連付けられているかどうかを確認します。 その場合は、インシデントに他の真陽性アラートが含まれているかどうかをチェックします。

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

高度なハンティング は、クエリベースの脅威ハンティング ツールで、ネットワーク内のイベントを検査し、脅威インジケーターを見つけることができます。

このクエリを使用して、悪意のある IP から得たリスクスコアが最も高いサインインを試みたアカウントを検索します。 このクエリでは、対応するリスク スコアを使用してサインインが成功したすべての試行もフィルター処理されます。

let start_date = now(-7d);
let end_date = now();
let ip_address = ""; // enter here the IP address
AADSignInEventsBeta
| where Timestamp between (start_date .. end_date)
| where IPAddress == ip_address
| where isnotempty(RiskLevelDuringSignIn)
| project Timestamp, IPAddress, AccountObjectId, RiskLevelDuringSignIn, Application, ResourceDisplayName, ErrorCode
| sort by Timestamp asc
| sort by AccountObjectId, RiskLevelDuringSignIn
| partition by AccountObjectId ( top 1 by RiskLevelDuringSignIn ) // remove line to view all successful logins risk scores

このクエリを使用して、不審な IP がサインインの試行でレガシ プロトコルを使用したかどうかをチェックします。

let start_date = now(-8h);
let end_date = now();
let ip_address = ""; // enter here the IP address
AADSignInEventsBeta
| where Timestamp between (start_date .. end_date)
| where IPAddress == ip_address
| summarize count() by UserAgent

このクエリを使用して、疑わしい IP に関連付けられている過去 7 日間のすべてのアラートを確認します。

let start_date = now(-7d);
let end_date = now();
let ip_address = ""; // enter here the IP address
let ip_alert_ids = materialize ( 
        AlertEvidence
            | where Timestamp between (start_date .. end_date)
            | where RemoteIP == ip_address
            | project AlertId);
AlertInfo
| where Timestamp between (start_date .. end_date)
| where AlertId in (ip_alert_ids)

このクエリを使用して、侵害された疑いのあるアカウントのアカウント アクティビティを確認します。

let start_date = now(-8h);
let end_date = now();
let ip_address = ""; // enter here the IP address
let compromise_users = 
    materialize ( AADSignInEventsBeta
                    | where Timestamp between (start_date .. end_date)
                    | where IPAddress == ip_address
                    | where ErrorCode == 0
                    | distinct AccountObjectId);
CloudAppEvents
    | where Timestamp between (start_date .. end_date)
    | where AccountObjectId in (compromise_users)
    | summarize ActivityCount = count() by AccountObjectId, ActivityType
    | extend ActivityPack = pack(ActivityType, ActivityCount)
    | summarize AccountActivities = make_bag(ActivityPack) by AccountObjectId

このクエリを使用して、侵害された疑いのあるアカウントのすべてのアラートを確認します。

let start_date = now(-8h); // change time range
let end_date = now();
let ip_address = ""; // enter here the IP address
let compromise_users = 
    materialize ( AADSignInEventsBeta
                    | where Timestamp between (start_date .. end_date)
                    | where IPAddress == ip_address
                    | where ErrorCode == 0
                    | distinct AccountObjectId);
let ip_alert_ids = materialize ( AlertEvidence
    | where Timestamp between (start_date .. end_date)
    | where AccountObjectId in (compromise_users)
    | project AlertId, AccountObjectId);
AlertInfo
| where Timestamp between (start_date .. end_date)
| where AlertId in (ip_alert_ids)
| join kind=innerunique ip_alert_ids on AlertId
| project Timestamp, AccountObjectId, AlertId, Title, Category, Severity, ServiceSource, DetectionSource, AttackTechniques
| sort by AccountObjectId, Timestamp
  1. 攻撃者の IP アドレスをブロックします。
  2. ユーザー アカウントの資格情報をリセットします。
  3. 侵害されたアカウントのアクセス トークンを取り消します。
  4. レガシ認証をブロックします。
  5. 可能であれば、アカウントのセキュリティを強化し、パスワード スプレー攻撃によるアカウントの侵害を攻撃者にとって困難にするために、ユーザーに MFA を要求します。
  6. 必要に応じて、侵害されたユーザー アカウントのサインインをブロックします。

関連項目

ヒント

さらに多くの情報を得るには、 Tech Community: Microsoft Defender XDR Tech Community の Microsoft Security コミュニティとEngageします