Microsoft 365 Defender を使用して Solorigate から保護する

news

更新:マイクロソフトは、SolarWinds のサプライ チェーンを侵害し、他の複数の組織に影響を与えた国家レベルのサイバー攻撃の背後にある脅威アクターに関する知識を拡大するために、パートナーおよび顧客と協力し続けています。 Microsoft はこれまで攻撃者の主要な指定として「Solorigate」を使用していましたが、今後は、攻撃者が使用するマルウェアの例ではなく、巧妙な攻撃の背後にある攻撃者に適切な焦点を当てたいと考えています。 Microsoft Threat Intelligence Center (MSTIC) は、SolarWinds、SUNBURST バックドア、TEARDROP マルウェア、および関連コンポーネントに対する攻撃の背後にいる攻撃者をNOBELIUMと名付けました。新しいコンテンツと分析をリリースする際には、NOBELIUM を使用してアクターと攻撃キャンペーンを参照します。

マイクロソフトのセキュリティ研究者は、サプライ チェーンの侵害とそれに続くクラウド資産の侵害を伴う、 Solorigate (FireEye ではSunburstとも呼ばれる) として知られる巧妙なサイバー攻撃の調査と対応を続けています。関連する調査と影響評価が進行中ですが、Microsoft は、組織がこの攻撃を特定して阻止し、その影響の潜在的な範囲を理解できるように、防御者コミュニティに攻撃チェーンと関連する脅威インテリジェンスの可視性をできるだけ早く提供しています。このアクティブな脅威からの回復プロセスを開始します。 https://aka.ms/solorigateでより多くの情報が入手可能になると、常に更新されるリソース センターが確立されました。

このブログは、Microsoft 365 Defender を使用して、Solorigate 攻撃が環境内で見つかった場合に、その攻撃を特定、調査、および対応するセキュリティ オペレーションおよびインシデント対応チーム向けの包括的なガイドです。このブログでの攻撃の説明は、マイクロソフト、マイクロソフトのパートナー、および攻撃に対応するために積極的に協力しているインテリジェンス コミュニティ全体の研究者による現在の分析と調査に基づいています。これは進化し続けるアクティブな脅威であり、ここに含まれる調査結果は、公開時点でわかっていることを表しています。私たちは、情報、指標、戦術、技術、手順 (TTP)、および関連する詳細を発見次第、公開および更新し続けます。 Microsoft Security Response Center (MSRC) からのレポートには、この脅威の最新の分析、既知の侵害の兆候 (IOC)、および最初に推奨される防御策が含まれており、新しいデータが利用可能になると更新されます。

このブログの内容:

エンドポイントからクラウドへのクロスドメイン Solorigate 攻撃の追跡

Solorigate 攻撃は、最新のクロスドメイン侵害の一例です。この種の攻撃は複数のドメインにまたがるため、攻撃の範囲全体を可視化することが、その拡散を阻止および防止するための鍵となります。

この攻撃は、ソフトウェア サプライ チェーンの侵害を伴う高度な手法を特徴としており、攻撃者は、人気のある IT 管理ソフトウェアである SolarWinds Orion プラットフォームの署名付きバイナリに悪意のあるコードを導入することができました。侵害されたアプリケーションは、署名されたアプリケーションとバイナリが一般的であり、信頼されていると見なされるため、検出のリスクがほとんどなく、アプリケーションを使用し、定期的に更新するさまざまな組織に「無料で」簡単に展開できます。この最初の広範な足掛かりにより、攻撃者は、活動を継続したい特定の組織を選択することができます (バックドアがインストールされ、検出されない限り、他の組織はいつでもオプションのままです)。調査に基づいて、攻撃の次の段階には、次の手順によるクラウド リソースへのオフプレミス アクセスを目的としたオンプレミス アクティビティが含まれます。

  1. 侵害された SolarWinds DLL を使用してバックドアをアクティブ化し、攻撃者がデバイスをリモートで制御および操作できるようにする
  2. バックドア アクセスを使用して資格情報を盗み、権限をエスカレートし、横方向に移動して、次の 2 つの方法のいずれかを使用して有効な SAML トークンを作成する機能を取得します。
    1. SAML 署名証明書を盗む (パス 1)
    2. 既存のフェデレーション信頼への追加または変更 (パス 2)
  3. 攻撃者が作成した SAML トークンを使用してクラウド リソースにアクセスし、電子メールの流出とクラウドでの永続化につながるアクションを実行する

ソロリゲート攻撃チェーンの概要図

図 1. エンドツーエンドのソロリゲート攻撃チェーンの概要

この攻撃は、溶け込む機能を備えた高度でステルスなキャンペーンであり、攻撃者が検出される前に長期間レーダーの下にとどまることができます. Microsoft 365 Defenderの深く統合されたクロスドメイン セキュリティ機能により、組織とそのセキュリティ オペレーション (SOC) チームは、この攻撃を発見し、エンドポイントからクラウドまでのエンド ツー エンドの違反を特定し、ブロックして修復するための措置を講じることができます。それ。このブログでは、次の概要を説明することで、これを行うための段階的なガイダンスを提供します。

  • エンドポイント、ID、およびクラウド全体で攻撃の兆候がどのように現れるか
  • Microsoft 365 Defender が、これらの異なるドメイン間でアラートを自動的に組み合わせて、包括的なエンド ツー エンドのストーリーにする方法
  • 詳細な調査、ハンティング、対応に利用できる強力なツールセットを活用して、SOC が攻撃者と戦い、オンプレミス環境とクラウド環境の両方からこれらの攻撃者を排除できるようにする方法

脅威分析: アクティブな攻撃の理解と対応

この攻撃が発見されるとすぐに、Microsoft の研究者は、組織が影響を受けているかどうかを判断し、攻撃の影響を評価し、それを封じ込めるためのアクションを特定するのに役立つ 2 つの脅威分析レポートを公開しました。

レポートはMicrosoft 365 セキュリティセンターで公開され、すべての Microsoft Defender for Endpoint のお客様と Microsoft 365 Defender のアーリー アダプターが利用できます。レポートは、攻撃、TTP、および侵害の兆候 (IoC) の詳細な説明に加えて、Microsoft 365 Defender 全体のシグナルから集計されたリアルタイム データを提供し、組織に対する脅威の全体的な影響を示します。調査を開始する関連インシデントとアラートの詳細。これらのレポートは、追加情報が利用可能になると更新され続けます。

この脅威の重大性を考慮して、IOC の最新リストを含む同様の関連する Microsoft 脅威インテリジェンス データを、すべてのユーザーが一般に公開できるようにします。ガイダンスと洞察の包括的なリストは、 https: //aka.ms/solorigate で入手できます。

Microsoft Defender セキュリティ センターの Soloriage に関する脅威分析レポートのスクリーンショット

図 2.Solorigate 攻撃に関する脅威分析レポート

Microsoft 365 Defender のお客様は、ここから調査を開始することをお勧めします。脅威を深く理解し、最新の調査結果を入手したら、次の推奨手順を実行できます。

SolarWinds Orion アプリケーションが侵害されたデバイスを見つける

脅威分析レポートは、 脅威と脆弱性の管理からの洞察を使用して、SolarWinds Orion プラットフォーム バイナリが侵害されているか、構成ミスにより攻撃にさらされているデバイスを特定します。

脅威分析の脆弱性パッチ適用ステータスチャートから、軽減策の詳細を表示して、脆弱性 ID TVM-2020-0002 を持つデバイスのリストを確認できます。これは、Solorigate の調査を支援するために特別に追加されたものです。

Solorigate の影響に関する脅威と脆弱性の管理に関する洞察

図 3. 危険にさらされたデバイスのデータを示す脅威と脆弱性の管理データ

脅威と脆弱性の管理では、脆弱性 ID TVM-2020-0002 および関連するすべてのアプリケーションに関する詳細情報が、ソフトウェア インベントリビューを介して提供されます。また、露出したデバイスにインストールされているソフトウェア バージョンを更新する手順など、この特定の脅威に対処するためのセキュリティに関する推奨事項も複数あります。

Microsoft Defender セキュリティ センターでの Solorigate のセキュリティに関する推奨事項のスクリーンショット

図 4.脅威と脆弱性の管理からのセキュリティの推奨事項

関連するアラートとインシデントを調査する

脅威分析レポートから、攻撃に関連するアラートでデバイスをすばやく見つけることができます。アラートのあるデバイスチャートは、Solorigate に直接関連していることが知られている悪意のあるコンポーネントまたはアクティビティを持つデバイスを識別します。クリックしてアラートのリストを取得し、調査します。

一部の Solorigate アクティビティは、この特定の脅威に直接関連付けられていない可能性がありますが、一般的に疑わしいまたは悪意のある動作が原因でアラートをトリガーします。さまざまな Microsoft 365 製品によって提供される Microsoft 365 Defender のすべてのアラートは、インシデントに関連付けられています。インシデントは、検出されたアクティビティ間の関係を確認し、攻撃の全体像をよりよく理解し、統合された方法で脅威を調査、封じ込め、修復するのに役立ちます。

脅威分析レポート (このブログの最後にも記載) で説明されているように、 インシデントキューでインシデントを確認し、この攻撃者の TTP に関連するアラートがあるものを探します。

Solorigate の Microsoft Defender セキュリティ センターのインシデント ビューのスクリーンショット

図 5. Solorigate の統合インシデント ビュー

一部のアラートは、Microsoft の研究者がハンティング中に顧客の環境で発見した悪意のあるアクティビティを示すために、 Microsoft Threat Expertsで特別にタグ付けされています。 Microsoft Threat Experts サービスの一環として、研究者はこの攻撃の展開を調査し、関連する攻撃者の行動を探し、 標的型攻撃の通知を送信しました。 Microsoft Threat Experts でタグ付けされたアラートが表示された場合は、すぐに対処することを強くお勧めします。

Microsoft Threat Experts の検出を示す Microsoft Defender セキュリティ センターのスクリーンショット

図 6. Microsoft Threat Experts の標的型攻撃の通知

さらに、 エキスパート オンデマンドサブスクリプションをお持ちの Microsoft Threat Experts のお客様は、オンデマンド ハンターに直接連絡して、Solorigate の脅威とその環境への影響の範囲を理解するための追加の支援を受けることができます。

関連する攻撃者の活動を探す

脅威分析レポートは、アナリストがエンドポイント、アイデンティティ、およびクラウド全体で追加の関連または類似のアクティビティを見つけるのに役立つ高度なハンティングクエリも提供します。高度なハンティングでは豊富なデータ ソースのセットが使用されますが、Solorigate に対応して、Microsoft は高度なハンティングへの Azure Active Directory (Azure AD) 監査ログのストリーミングを有効にし、 パブリック プレビューですべてのお客様が利用できるようにしました。これらのログは、Azure AD 内のさまざまな機能によって行われたすべての変更の追跡可能性を提供します。監査ログの例には、ユーザー、アプリ、グループ、ロール、ポリシーの追加または削除など、Azure AD 内のリソースに対して行われた変更が含まれます。 Microsoft Defender for Endpoint を持っていないか、Microsoft 365 Defender のアーリー アダプターではないお客様は、 推奨される高度な検索クエリを参照できます。

現在、このデータは、Microsoft Cloud App Security とOffice365 コネクタを使用しているお客様が利用できます。私たちの意図は、より多くの Microsoft 365 Defender のお客様が利用できるようにすることです。 CloudAppEventsテーブルで新しいログ データを使用できます。

CloudAppEvents
| |ここで、アプリケーション == 「Office 365」

ログ データには、Azure AD 関連のアクティビティを調査して見つけるのに役立つアクティビティ ログが含まれています。このデータは、 Exchange Online と Microsoft Teams のアクティビティも含む CloudAppEvents テーブルをさらに充実させます。

この新しいデータを利用できるようにする一環として、サフィックス[Solorigate]で識別されるいくつかの関連する高度なハンティング クエリも GitHub リポジトリに公開しました。

「管理者の同意」アクセス許可が付与された後、いつ Azure AD アプリケーションに資格情報が追加されるかを確認するのに役立つクエリの例を次に示します。

CloudAppEvents
| |ここで、アプリケーション == 「Office 365」
| |ここで、ActionType == 「アプリケーションへの同意。」
| |ここで、RawEventData.ModifiedProperties[0].Name == “ConsentContext.IsAdminConsent” および RawEventData.ModifiedProperties[0].NewValue == “True”
| |拡張 spnID = tostring(RawEventData.Target[3].ID)
| | RawEventData.ModifiedProperties[4].NewValue with * “=> [[” dummpy “Scope: ” After “]]” * を解析します
| | PermissionsGranted = split(After, “]”,0) を拡張します。
| |プロジェクト ConsentTime = Timestamp 、 AccountDisplayName 、 spnID 、 PermissionsGranted
| |加入 (
CloudAppEvents
| |ここで、アプリケーション == 「Office 365」
| |ここで、ActionType == 「サービス プリンシパルの資格情報を追加します。」または ActionType == 「アプリケーションの更新 – 証明書と秘密の管理」
| |拡張 spnID = tostring(RawEventData.Target[3].ID)
| | project AddSecretTime = Timestamp, AccountDisplayName , spnID
) spnID で
| |ここで、ConsentTime < AddSecretTime および AccountDisplayName <> AccountDisplayName1

Microsoft 356 Defender の高度な検索は、ブログで概説されている推奨されるインシデント調査タスクの多くにも役立ちます。 体系的な ID 侵害からの回復に関するインシデント対応者へのアドバイス.

残りのセクションでは、エンドポイント、ID、およびクラウドの攻撃チェーン全体で Solorigate アクティビティを監視および検出する Microsoft 365 ソリューションによって生成されるアラートの例を選択して説明します。これらは、組織がこの脅威の影響を受けている場合に、Microsoft 365 セキュリティ センターでインシデントを調査するときに発生する可能性があるアラートです。また、現在 Microsoft 365 Defender によってブロックされているアクティビティも示します。最後に、各セクションには、環境内のさまざまな攻撃者のアクティビティを探すのに役立つハンティング クエリの例が含まれています。

エンドポイントでのマルウェアと悪意のある動作の検出とブロック

Solorigate マルウェアが関与するエンドポイントへの攻撃チェーンを示す図

図 7. ソロリゲート攻撃チェーン: 初期アクセスとコマンド アンド コントロール

バックドア アクティビティの検出とブロック

侵害された SolarWinds バイナリSolarWinds.Orion.Core.BusinessLayer.dllが通常の更新チャネルを介してデバイスにロードされると、バックドアは広範なチェック リストを通過して、アナリストのマシンではなく実際の企業ネットワークで実行されていることを確認します。次に、影響を受けたデバイスから収集された情報で部分的に生成されたサブドメインを使用して、コマンド アンド コントロール (C2) サーバーに接続します。これは、影響を受けたドメインごとに一意のサブドメインが生成されることを意味します。バックドアにより、攻撃者はリモートでデバイス上でコマンドを実行し、攻撃の次の段階に進むことができます。詳細については、Solorigate マルウェアの詳細な分析をご覧ください

Microsoft Defender for Endpoint は、この脅威に対する包括的な保護を提供します (このブログの最後にある検出および保護アラートの完全なリストを参照してください)。 Windows 10 の既定のマルウェア対策ソリューションである Microsoft Defender ウイルス対策は、悪意のある DLL とその動作を検出してブロックします。プロセスが実行中であっても、マルウェアを隔離します。

Solorigate マルウェアのブロックに関するアラートを示す Microsoft Defender セキュリティ センターのスクリーンショット

図 8. Microsoft Defender for Endpoint は悪意のあるバイナリをブロックします

悪意のあるコードの展開に成功すると、バックドアは最大 2 週間休止状態になります。次に、プライマリ ドメインが*.avsvmcloud[.]comである多数の C2 ドメインに接続しようとします。バックドアは、ドメイン生成アルゴリズムを使用して検出を回避します。 Microsoft 365 Defender は、この動作を検出してブロックします。

悪意のあるネットワーク接続のアラートを示す Microsoft Defender セキュリティ センターのスクリーンショット

図 9. Microsoft Defender for Endpoint が悪意のある C2 コールバックを阻止

改ざんされた可能性のあるデバイスの検出

セキュリティ ソフトウェアとアナリスト ツールを回避するために、Solorigate マルウェアはターゲット システムを列挙し、特定の実行中のプロセス、ロードされたドライバー、およびレジストリ キーを探し、それらを無効にすることを目的としています。

Microsoft Defender for Endpoint センサーは、マルウェアが無効にしようとするプロセスの 1 つです。 Microsoft Defender for Endpoint には、強化された OS 保護、 改ざん防止ポリシー、さまざまな改ざんの試みの検出など、エンドポイント センサーを無効にするために攻撃者が使用する多くの手法に対する保護が組み込まれています。 「Microsoft Defender for Endpoint センサー設定の改ざん」または「メモリ内のセンサー改ざんの可能性」。

Microsoft Defender for Endpoint を正常に無効にすると、システムが観察されたアクティビティを報告できなくなる可能性があります。ただし、Microsoft 365 Defender に報告された多数のシグナルは、使用された改ざん手法が成功した可能性があるシステムを探すためのユニークな機会を提供します。次の高度なハンティング クエリを使用して、報告する必要があるが報告していないデバイスを見つけることができます。

// 必要に応じて変更する時間
timeAgo=1d;
SilenceTime = 8h;をさせてください。
// ネットワーク イベントからすべてのサイレント デバイスと IP を取得します
let allNetwork=materialize(DeviceNetworkEvents
| | where タイムスタンプ > ago(timeAgo)
and isnotempty(LocalIP)
and isnotempty(RemoteIP)
および ActionType in (“ConnectionSuccess”, “InboundConnectionAccepted”)
および LocalIP !in (“127.0.0.1”, “::1”)
| |プロジェクトの DeviceId、Timestamp、LocalIP、RemoteIP、ReportId);
let nonSilentDevices=allNetwork
| | where タイムスタンプ > ago(silenceTime)
| |ユニオン (DeviceProcessEvents | where Timestamp > ago(silenceTime))
| | DeviceId で要約します。
let nonSilentIPs=allNetwork
| | where タイムスタンプ > ago(silenceTime)
| | LocalIP で要約します。
let silentDevices=allNetwork
| |どこで DeviceId !in (nonSilentDevices)
および LocalIP !in (非サイレント IP)
| |プロジェクトの DeviceId、LocalIP、Timestamp、ReportId;
// 最近アクティブだったすべてのリモート IP を取得します
アドレスを許可しますDuringSilence = allNetwork
| | where タイムスタンプ > ago(silenceTime)
| | RemoteIP で要約します。
// 潜在的に切断されたデバイスは接続されましたが、サイレントです
サイレントデバイス
| |どこで LocalIP in (addressesDuringSilence)
| | ReportId=arg_max(Timestamp, ReportId), Timestamp=max(Timestamp), LocalIP=arg_max(Timestamp, LocalIP) by DeviceId
| |プロジェクトの DeviceId、ReportId=ReportId1、タイムスタンプ、LocalIP=LocalIP1

Microsoft は、これらの種類の改ざん活動をブロックして警告するための追加の対策を継続的に開発しています。

オンプレミス環境でのハンズオン キーボード アクティビティの検出

オンプレミスでの Solorigate ハンズオン キーボード攻撃を示す図

図 10. Solorigate 攻撃チェーン: オンプレミスでのハンズオン キーボード攻撃

影響を受けるデバイスでバックドア接続を確立した後、攻撃者の次の目標は、組織のクラウド サービスへのオフプレミス アクセスを達成することです。これを行うには、これらのサービスへのアクセス許可を取得する方法を見つける必要があります。攻撃者が使用する手法の 1 つは、組織の Active Directory フェデレーション サービス ( AD FS ) サーバーを追跡して、ID 王国への有名な「キー」を取得することです。 AD FS は、セキュリティと企業の境界を越えてデジタル ID と権利を安全に共有することにより、フェデレーション ID とアクセス管理を可能にします。事実上、それは「クラウドの LSASS」です。特に、AD FS は Security Assertion Markup Language ( SAML ) トークン署名証明書を格納します。これは、認証後にクラウド アプリケーションやリソースにアクセスできるように、組織内のユーザーまたはサービスの承認トークンを作成するために使用されます。

AD FS インフラストラクチャを攻撃するには、攻撃者はまず、オンプレミスの情報収集、水平移動、および資格情報の盗難を通じて、適切なドメイン アクセス許可を取得する必要があります。攻撃者は、前述のバックドアを利用して、システム バイナリを使用して分析を回避したり、他の無害なバイナリになりすました探索ツールを使用したりして、ファイルレス技術を利用して権限昇格、永続化、横移動を行います。また、攻撃者は、組織固有のコマンド アンド コントロール (C2) ドメインを慎重に選択し、組織固有のカスタム ツール名と場所を使用しています。

Microsoft Defender for Endpoint は、これらのさまざまな攻撃手法を検出し、SOC チームが環境内の攻撃者のアクションを追跡し、攻撃を封じ込めるためのアクションを実行できるようにします。次のセクションでは、攻撃者が AD FS インフラストラクチャを侵害するために使用する手法の検出について説明します。

攻撃者による偵察の特定

攻撃者は、ADFind ユーティリティの名前を変更したバージョンを使用して Active Directory からデータを収集し、攻撃の偵察段階の一部としてドメイン コントローラに対してクエリを実行します。 Microsoft Defender for Endpoint はこの動作を検出し、SOC アナリストがこの段階で侵害されたデバイスを追跡して、攻撃者が探している情報を可視化できるようにします。

探索ツールの検出に関する Microsoft Defender セキュリティ センターのアラートのスクリーンショット

図 11. Microsoft Defender for Endpoint がマスカレード探索ツールの使用を検出

LDAP クエリの検出に関する Microsoft Defender Security Center アラートのスクリーンショット

図 12. Microsoft Defender for Endpoint は、偵察のための LDAP クエリの使用を検出します。

ラテラルムーブメントと認証情報の盗難を阻止

キル チェーンの後半のステップで必要となる高度な権限を持つアカウントへのアクセスを取得するために、攻撃者はデバイス間を横方向に移動し、必要な権限を持つアカウントが侵害されるまで資格情報をダンプします。

LSASS メモリのダンプなど、さまざまな資格情報の盗難方法が Microsoft Defender for Endpoint によって検出され、ブロックされます。以下の例は、 Rundll32.exeプロセスを使用して攻撃者のペイロードを実行するために、Windows Management Instrumentation (WMI) を使用してラテラル ムーブメントを検出する方法を示しています。

リモート WMI 実行の検出に関する Microsoft Defender Security Center アラートのスクリーンショット

図 13.攻撃者のデバイスとペイロードを強調表示する、疑わしいリモート WMI 実行に関する Microsoft Defender for Endpoint アラート

また、Microsoft Defender for Identity は、さまざまな資格情報の盗難手法を検出して警告を発します。セキュリティ アナリストは、アラートを監視するだけでなく、Microsoft 365 Defender の ID データを調べて、ID 侵害の兆候を探すことができます。このようなパターンを探す Microsoft Defender for Identity クエリの例を次に示します。

高価値の DC 資産の列挙とそれに続く、盗まれた資格情報を検証するためのログオン試行

Let MaxTime = 1d;
Let MinNumberLogon = 5;
//高価値 DC の列挙を試みるデバイス
IdentityQueryEvents
| |タイムスタンプ > ago(30d)
| |ここで、アプリケーション == 「Active Directory」
| | where QueryTarget in (「読み取り専用ドメイン コントローラー」)
//価値の高い RODC アセット
| |プロジェクトのタイムスタンプ、プロトコル、クエリ、DeviceName、AccountUpn
| |結合の種類 = innerunique (
//列挙後に {MaxTime} のログオンを試みるデバイス
IdentityLogonEvents
| |タイムスタンプ > ago(30d)
| |ここで、ActionType == “LogonSuccess”
| | project LogonTime = Timestamp, DeviceName, DestinationDeviceName) on DeviceName
| | LogonTime between (Timestamp .. (Timestamp + MaxTime))
| | n=dcount(DestinationDeviceName)、TargetedDC = makeset(DestinationDeviceName) を Timestamp、Protocol、DeviceName で要約
| |ここで n >= MinNumberLogon

非 DC デバイスの短時間フィルタリングでの大量の LDAP クエリ

しきい値 = 12 にします。
BinTime = 1m とします。
// DC のおおよそのリスト
let listDC=IdentityDirectoryEvents
| |ここで、アプリケーション == 「Active Directory」
| |ここで、ActionType == 「ディレクトリ サービスのレプリケーション」
| | DestinationDeviceName で要約します。
IdentityQueryEvents
| |タイムスタンプ > ago(30d)
// DC 全体の LDAP トラフィックを除外します
| | where DeviceName !in (listDC)
| |ここで、ActionType == 「LDAP クエリ」
| | parse Query with * “Search Scope: ” SearchScope “, Base Object:” BaseObject “, Search Filter: ” SearchFilter
| | NumberOfDistinctLdapQueries = dcount(SearchFilter) by DeviceName, bin(Timestamp, BinTime) の要約
| |ここで、NumberOfDistinctLdapQueries > しきい値

この時点で、SOC チームは、Microsoft 365 セキュリティ センター内で封じ込め対策を講じることができます。たとえば、 インジケーターを使用して関連するデバイスを分離し、リモートで実行されたペイロードを環境全体でブロックしたり、疑わしいユーザーを侵害されたものとしてマークしたりできます。

持続性の検出と修復

Microsoft Defender for Endpoint は、WMI イベント フィルターを論理コンシューマーにバインドして持続性を維持するなど、攻撃者がアクションを可能な限り通常に近づけるために使用する高度な防御回避およびマスカレード手法も検出します。アラートで推奨されるアクションに従って永続性を削除し、再起動後に攻撃者のペイロードが読み込まれないようにします。

疑わしいコンシューマーにバインドされた WMI イベント フィルターの検出に関する Microsoft Defender セキュリティ センターのアラートのスクリーンショット

図 14. 不審なコンシューマーにバインドされた WMI イベント フィルターの Microsoft Defender for Endpoint アラートで、持続性とスケジュールされたコマンド ラインが表示されている

AD FS の侵害と、攻撃者がクラウドでユーザーを偽装する能力を検出する

攻撃の次のステップは、AD FS インフラストラクチャに焦点を当てており、クラウド内のユーザーの偽装を可能にする有効な SAML トークンを作成する機能という、同じ結果につながる 2 つの別々のパスに展開できます。

  • パス 1 – SAML 署名証明書を盗む: 組織のオンプレミス ネットワークで管理者特権を取得し、AD FS サーバー自体にアクセスできるようになった後、攻撃者は SAML 署名証明書にアクセスして抽出します。この署名証明書を使用して、攻撃者は有効な SAML トークンを作成し、選択した ID として目的のさまざまなクラウド リソースにアクセスします。
  • パス 2 – 既存のフェデレーション信頼への追加または変更: 侵害された資格情報を使用して Azure Active Directory (Azure AD) の管理権限を取得した後、攻撃者は、既存のテナントに新しいフェデレーション信頼を追加することによって、独自の証明書を信頼されたエンティティとしてドメインに追加します。または、既存のフェデレーション トラストのプロパティを変更します。その結果、作成して署名した SAML トークンは、選択した ID に対して有効になります。

最初のパスでは、SAML 署名証明書を取得するには、通常、最初に AD FS コンテナーに存在する秘密暗号化キーを照会し、次にそのキーを使用して署名証明書を復号化する必要があります。この証明書を使用して、不正ではあるが有効な SAML トークンを作成し、アクターがユーザーになりすますことができるようにして、エンタープライズ クラウド アプリケーションやサービスにアクセスできるようにします。

Microsoft Defender for Endpoint および Microsoft Defender for Identity は、攻撃者が SAML 署名証明書の暗号化を解除するために必要な暗号化キーを盗むために実行するアクションを検出します。どちらのソリューションも、独自の LDAP テレメトリを活用して、攻撃者が不正な SAML トークンを作成している状況を強調する重大度の高いアラートを生成します。

LDAP クエリと AD FS 秘密キーの抽出に関する Microsoft Defender Security Center アラートのスクリーンショット

図 15. Microsoft Defender for Endpoint は、疑わしい LDAP クエリが起動され、AD FS 秘密キーの抽出が試行されたことを検出します

図 16. Microsoft Defender for Identity は、悪意のある LDAP 要求による秘密キーの抽出を検出します

2 番目のパスでは、攻撃者は組織の環境外で独自の SAML 署名証明書を作成します。次に、Azure AD の管理アクセス許可を使用して、新しい証明書を信頼できるオブジェクトとして追加します。次の Azure AD 監査ログに対する高度なハンティング クエリは、ドメイン フェデレーション設定がいつ変更されたかを示しており、攻撃者が独自の署名証明書によって署名された認証トークンを受け入れるようにドメインを構成した場所を発見するのに役立ちます。これらはまれなアクションであるため、特定されたインスタンスが正当な管理活動の結果であることを確認することをお勧めします。

ADFSDomainTrustMods

auditLookback = 1d にします。 CloudAppEvents
| | where タイムスタンプ > ago(auditLookback)
| |ここで、ActionType =~ 「ドメインでフェデレーション設定を設定します。」
| |拡張 targetDetails = parse_json(ActivityObjects[1])
| |拡張 targetDisplayName = targetDetails.Name
| | extend resultStatus = extractjson(“$.ResultStatus”, tostring(RawEventData), typeof(string))
| |プロジェクト タイムスタンプ、ActionType、InitiatingUserOrApp=AccountDisplayName、targetDisplayName、resultStatus、InitiatingIPAddress=IPAddress、UserAgent

SAML 署名証明書が侵害されていることが確認された場合、または攻撃者が新しい証明書を追加した場合は、証明書のローテーションによる無効化のベスト プラクティスに従って、攻撃者による SAML トークンの使用と作成を防止します。さらに、影響を受ける AD FS サーバーを分離して修復し、攻撃者による制御や永続性が残らないようにする必要がある場合があります。

攻撃者がいずれかのパスを達成した場合、トークンを受け入れるサービスまたはアプリケーションは、MFA が適切に署名されたトークンを作成するために必要な前のステップであると想定するため、選択した ID に対して不正な SAML トークンを作成し、多要素認証 (MFA) をバイパスすることができます。トークン。攻撃者がクラウド リソースへのアクセスという次の段階に進むのを防ぐには、この段階で攻撃を発見して修復する必要があります。

クラウド環境でのハンズオン キーボード アクティビティの検出

クラウドでのハンズオン キーボード攻撃の図

図 17. ソロリゲート攻撃チェーン: クラウドでのハンズオン キーボード攻撃

不正な SAML トークンを作成できるため、攻撃者は侵害されたデバイスから発信したり、オンプレミスの永続性に限定されたりすることなく、機密データにアクセスできます。既存の OAuth アプリケーションまたはサービス プリンシパルを介して API アクセスを悪用することにより、通常のアクティビティ パターンに溶け込もうとする可能性があります。最も顕著なのは、既存のMail.ReadまたはMail.ReadWriteアクセス許可を持つアプリまたはサービス プリンシパルで、Microsoft Graph を介して Exchange Online から電子メール コンテンツを読み取ることです。 .アプリケーションに電子メールの読み取り権限がまだない場合は、それらの権限を付与するようにアプリを変更できます。

OAuth アプリへの認証情報の異常な追加の識別

Microsoft Cloud App Security (MCAS) は、組織からデータを抽出するために侵害されたアプリについて SOC に警告するために、OAuth アプリケーションへの異常な資格情報の追加の新しい自動検出を追加しました。この検出ロジックは、環境内の各ユーザーから学習する異常検出エンジンに基づいて構築されており、通常の使用パターンを除外して、アラートが誤検知ではなく実際の攻撃を強調するようにします。お使いの環境でこのアラートが表示され、悪意のあるアクティビティが確認された場合は、直ちにユーザーを一時停止し、ユーザーを危険にさらされているとマークし、ユーザーのパスワードをリセットし、資格情報の追加を削除する必要があります。調査および修復中は、アプリケーションを無効にすることを検討してください。

図 18. OAuth アプリへの異常な資格情報の追加に関する Microsoft Defender Cloud App Security アラート

SOC は、次の Microsoft 365 Defender の高度なハンティング クエリを Azure AD 監査ログに対して使用して、サービス プリンシパルまたはアプリケーションに新しい資格情報がいつ追加されたかを調べることができます。一般に、サービス プリンシパルまたはアプリケーションの種類と用途によっては、資格情報の変更はまれな場合があります。 SOC は、異常な変更が正当な管理アクションの結果であることを確認するために、それぞれの所有者に確認する必要があります。

NewAppOrServicePrincipalCredential

auditLookback = 1d にします。 CloudAppEvents
| | where タイムスタンプ > ago(auditLookback)
| | where ActionType in (“Add service principal.”, “Add service principal credentials.”, “Update application – Certificates and secret management “)
| | RawEventData を拡張 = parse_json(RawEventData)
| | RawEventData.ResultStatus =~ 「成功」
| | AccountDisplayName には「@」が含まれます
| |拡張 targetDetails = parse_json(ActivityObjects[1])
| |拡張 targetId = targetDetails.Id
| |拡張 targetType = targetDetails.Type
| |拡張 targetDisplayName = targetDetails.Name
| |キーイベントを拡張 = RawEventData.ModifiedProperties
| |ここで、keyEvents には「KeyIdentifier=」があり、keyEvents には「KeyUsage=Verify」があります。
| | mvexpand keyEvents
| | where keyEvents.Name =~ “KeyDescription”
| | * “KeyIdentifier=” keyIdentifier:string “,KeyType=” keyType:string “,KeyUsage=” keyUsage:string “,DisplayName=” keyDisplayName:string “]” * で keyEvents.NewValue を解析します。
| | * “KeyIdentifier=” keyIdentifierOld:string “,KeyType” で keyEvents.OldValue を解析します *
| |ここで、keyEvents.OldValue == “[]” または keyIdentifier != keyIdentifierOld
| | where keyUsage == 「検証」
| |プロジェクトアウェイのキーイベント
| |プロジェクト タイムスタンプ、ActionType、InitiatingUserOrApp=AccountDisplayName、InitiatingIPAddress=IPAddress、UserAgent、targetDisplayName、targetId、targetType、keyDisplayName、keyType、keyUsage、keyIdentifier

メール アイテムへの悪意のあるアクセスの発見

Mail.ReadまたはMail.ReadWriteアクセス許可を持つ OAuth アプリケーションまたはサービス プリンシパルは、Microsoft Graph を介して Exchange Online から電子メール コンテンツを読み取ることができます。これらの動作の可視性を高めるために、新しい Exchange メールボックスの高度な監査機能を介してMailItemsAccessedアクションが利用できるようになりました。 この機能がデフォルトで有効になっているかどうかを確認してください。お客様への重要な注意事項: 収集する監査イベントのリストをカスタマイズした場合は、このテレメトリを手動で有効にする必要がある場合があります。

24 時間以内に 1,000 件を超えるMailItemsAccessed監査レコードが生成された場合、Exchange Online はMailItemsAccessedアクティビティの監査レコードの生成を 24 時間停止し、この期間の後にログ記録を再開します。この調整動作は、SOC が侵害された可能性のあるメールボックスを検出するための適切な出発点です。

MailItemsAccessedThrottling

starttime = 2d とします。
終了時間 = 1d とします。
CloudAppEvents
| | where Timestamp between (startofday(ago(starttime))..startofday(ago(endtime)))
| |ここで、ActionType == 「MailItemsAccessed」
| |ここで、isnotempty(RawEventData[‘ClientAppId’]) および RawEventData[‘OperationProperties’][1] は「True」です
| |プロジェクトのタイムスタンプ、RawEventData[‘OrganizationId’]、AccountObjectId、UserAgent

調整されたテレメトリを探すだけでなく、Microsoft Graph API を介してメールを読み取る OAuth アプリケーションを探すこともできます。このアプリケーションは、ベースライン期間の前に動作が変更されました。

OAuthGraphAPIAnomalies

// GraphAPI 経由でメールを読み取る OAuth アプリを探します — 前の週にグラフ API 経由でメールを読み取らなかったもの
let appMailReadActivity = (timeframeStart:datetime, timeframeEnd:datetime) {
CloudAppEvents
| |ここで、(timeframeStart .. timeframeEnd) の間のタイムスタンプ
| |ここで、ActionType == 「MailItemsAccessed」
| |ここで、RawEventData には「00000003-0000-0000-c000-000000000000」があります // パフォーマンス チェック
| | rawData = parse_json(RawEventData) を拡張します。
| | extend AppId = tostring(parse_json(rawData.AppId))
| | extends OAuthAppId = tostring(parse_json(rawData.ClientAppId)) // OAuthAppId を抽出します
| | OAuthAppId で要約
};
appMailReadActivity(ago(1d),now()) // 検出期間
| | join kind = leftanti appMailReadActivity(ago(7d),ago(2d)) // ベースライン期間
OAuthAppId で

Microsoft 365 Defender のクロスドメイン XDR 相関により、重大なセキュリティ インシデントへのより強力な対応が可能になります

他のセキュリティ業界と同様に、Microsoft は、Solorigate 攻撃を追跡し続けています。これは、展開と進化を続けるアクティブな脅威です。インテリジェンスを共有し、アドバイスを提供することで、お客様とより大きなセキュリティ コミュニティがこの攻撃に対応できるようにする一環として、このブログは、Microsoft 365 のお客様が Microsoft 365 Defender で利用できる包括的な可視性と豊富な調査ツールを最大限に活用するためのガイドとなります。このブログは、Microsoft 365 Defender の既存の機能の多くがこの攻撃に対処するのに役立つことを示していますが、脅威によって作成された独自のシナリオにより、Solorigate 固有の検出や、深く統合されたクロスドメインによって可能になったものを含むその他の革新的な保護がもたらされました。脅威防御。

追加情報と詳細なガイダンスについては、次の Microsoft リソースを参照してください。

Microsoft は、Microsoft セキュリティ ソリューションの保護機能を強化するだけでなく、この攻撃のパターンと手法、およびお客様が防御できるように関連するインテリジェンスに関する公開情報を引き続き提供します。

付録: 検出とハンティングに関する追加情報

検出の詳細

攻撃ステージ Microsoft 365 Defender の検出または警告
初期アクセス エンドポイントの Microsoft Defender:

  • ‘Solorigate’ 重大度の高いマルウェアが検出/ブロック/防止されました ( Trojan:MSIL/Solorigate.BR!dha )
  • SolarWinds サプライ チェーン攻撃に関連する悪意のあるバイナリ
実行と永続性 エンドポイントの Microsoft Defender:

  • ‘Solorigate’ 重大度の高いマルウェアが検出/ブロック/防止されました ( Trojan:Win64/Cobaltstrike.RN!dhaTrojan:PowerShell/Solorigate.H!dha )
  • Rundll32.exe による不審なプロセスの起動
  • 悪意のあるコードを実行するための生活オフ ザ ランド バイナリの使用
  • WMI イベント フィルタが疑わしいイベント コンシューマにバインドされました
コマンドと制御 エンドポイントの Microsoft Defender:

防御回避 エンドポイントの Microsoft Defender:

  • 疑わしい監査ポリシーの改ざん
偵察 エンドポイントの Microsoft Defender:

  • マスカレード Active Directory 探索ツール
  • 疑わしい一連の探査活動
  • 疑わしい既知の LDAP クエリ フラグメントの実行
資格情報へのアクセス エンドポイントの Microsoft Defender:

  • LSASS への不審なアクセス (資格情報アクセス)
  • AD FS 秘密キーの抽出試行
  • ADFS キー マテリアルへのアクセス試行の可能性
  • 疑わしい ADFS アダプター プロセスが作成されました

Microsoft Defender for Identity:

  • OAuth アプリへの異常なアクセス許可の追加
  • Active Directory 属性 LDAP を使用した偵察

マイクロソフト クラウド アプリのセキュリティ:

  • OAuth アプリへの異常な資格情報の追加
横移動 エンドポイントの Microsoft Defender

  • リモートで開始された疑わしいファイルの作成 (ラテラル ムーブメント)
  • 疑わしいリモート WMI 実行 (ラテラル ムーブメント)
流出 エンドポイントの Microsoft Defender

  • 疑わしいメールボックスのエクスポートまたはアクセスの変更
  • 疑わしいアーカイブの作成

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

攻撃ステージ GitHub リポジトリのクエリ リンク
全般的 エンドポイントの脅威と脆弱性の管理のための Microsoft Defender:

初期アクセス エンドポイントの Microsoft Defender:

実行 エンドポイントの Microsoft Defender:

DeviceProcessEvents
| |どこで InitiatingProcessFileName =~”Microsoft.IdentityServer.ServiceHost.exe”
| | where FileName in~(“werfault.exe”, “csc.exe”)
| |ここで ProcessCommandLine !contains (“nameId”)

コマンドと制御 エンドポイントの Microsoft Defender

資格情報へのアクセス Azure Active Directory (Microsoft Cloud App Security):

  • 管理者の同意後に AAD アプリに追加された資格情報
  • アプリケーションまたはサービス プリンシパルに追加された新しいアクセス資格情報
  • ドメイン フェデレーションの信頼設定が変更されました
  • 珍しい認証情報タイプをアプリケーションに追加する
  • ロールに追加されたサービス プリンシパル
流出 Exchange Online (Microsoft Cloud App Security):

  • アクセスされたメール アイテムのスロットリング分析
  • メール アイテム アクセスの異常分析
  • OAuth アプリが GraphAPI 異常を介してメールを読み取る
  • OAuth アプリは、GraphAPI 経由と直接の両方でメールを読み取ります

参照: https://www.microsoft.com/en-us/security/blog/2020/12/28/using-microsoft-365-defender-to-coordinate-protection-against-solorigate/

Comments

Copied title and URL