プロファイリング DEV-0270: PHOSPHORUS のランサムウェア操作

news

Microsoft の脅威インテリジェンス チームは、複数のランサムウェア キャンペーンを追跡しており、これらの攻撃を DEV-0270 ( イランの攻撃者 PHOSPHORUSのサブグループである Nemesis Kitten としても知られる) に関連付けました。マイクロソフトは、DEV-0270 がイラン政府に代わって広範な脆弱性スキャンを含む、悪意のあるネットワーク操作を行っていることをある程度の確信を持って評価しています。しかし、彼らの地理的および部門別の標的設定から判断すると、政権にとって戦略的価値が欠けていることが多いため、DEV-0270 のランサムウェア攻撃の一部は、個人または企業固有の収益創出のための副業の一種であると確信しています。このブログでは、DEV-0270/PHOSPHORUS ランサムウェア キャンペーンの背後にある戦術とテクニックを紹介します。 Microsoft が関連する攻撃から顧客を保護するために使用しているこの分析が、DEV-0270 の操作の拡大をさらに明らかにし、妨害することを願っています。

DEV-0270 は、重大度の高い脆弱性のエクスプロイトを利用してデバイスにアクセスし、新たに公開された脆弱性を早期に採用することで知られています。 DEV-0270 はまた、発見と認証情報へのアクセスのために、攻撃チェーン全体で Living Off The Land バイナリ (LOLBIN) を広範囲に使用します。これは、侵害されたデバイス上のファイルを暗号化する組み込みの BitLocker ツールの悪用にまで及びます。

暗号化が成功したいくつかの例では、最初のアクセスから身代金メモまでの時間 (TTR) は約 2 日でした。このグループは、復号化キーに 8,000 米ドルを要求していることが確認されています。さらに、攻撃者は、その活動を通じて収入を得るために他の手段を追求していることが観察されています。ある攻撃では、被害を受けた組織が身代金の支払いを拒否したため、攻撃者は組織から盗んだデータを SQL データベース ダンプにパッケージ化して販売することを選択しました。

このブログでは、これらの観察結果を使用して、防御側が攻撃を特定、調査、軽減するのに役立つように、エンド ツー エンドの攻撃チェーン全体にわたるグループの戦術とテクニックについて詳しく説明します。また、ステルス攻撃を表面化するように設計された広範なハンティング クエリも提供します。このブログには、組織がこれらの攻撃や同様の攻撃に対する回復力を高めるのに役立つ保護と強化のガイダンスも含まれています。

DEV-0270 アクター グループによって使用される通常の戦術とテクニックを説明する感染チェーン。
図 1.典型的な DEV-0270 攻撃チェーン

DEV-0270とは?

Microsoft は、DEV-0270 は、Secnerd (secnerd[.]ir) と Lifeweb (lifeweb[.]ir) の 2 つのパブリック エイリアスで機能する会社によって運営されていると評価しています。 DEV-0270 と Secnerd/Lifeweb の間で多数のインフラストラクチャの重複が確認されています。これらの組織は、イランのカラジにある Najee Technology Hooshmand (ناجی تکنولوژی وشمند) とも関係があります。

このグループは通常、日和見主義的に標的を定めます。攻撃者はインターネットをスキャンして脆弱なサーバーとデバイスを見つけ、脆弱で発見可能なサーバーとデバイスを使用する組織をこれらの攻撃の影響を受けやすくします。

観察された国家の攻撃者の活動と同様に、Microsoft は、標的にされた、または侵害された顧客に直接通知し、アカウントを保護するために必要な情報を提供します。 Microsoft は DEV-#### の指定を、脅威活動の未知の、新たな、または発展途上のクラスターに付けられる一時的な名前として使用します。これにより、Microsoft Threat Intelligence Center (MSTIC) は、高いレベルに達するまで、一意の情報セットとして追跡できます。活動の背後にいるアクターの起源または身元についての信頼。基準を満たすと、DEV は名前付きアクターに変換されます。

観測されたアクターの活動

初期アクセス

観測された DEV-0270 インスタンスの多くで、攻撃者は Exchange または Fortinet の既知の脆弱性 (CVE-2018-13379) を悪用してアクセスを取得しました。 Exchange の場合、最も一般的なエクスプロイトは ProxyLogon でした。これは、インターネットに接続されたデバイスの重大度の高い脆弱性にパッチを適用する必要性を強調しています。これは、このグループが最近でもこれらの脆弱性の悪用に成功し続けているためです。 DEV-0270 がLog4j 2 の脆弱性を悪用しようとした兆候がありましたが、Microsoft は、このアクティビティが顧客に対してランサムウェアを展開するために使用されたことを確認していません。

発見

組織へのアクセスを取得すると、DEV-0270 は一連の探索コマンドを実行して、環境についてさらに学習します。コマンドwmic computersystem get domainは、ターゲットのドメイン名を取得します。 whoamiコマンドはユーザー情報を表示し、 net userコマンドはユーザー アカウントの追加または変更に使用されます。作成されたアカウントと使用された一般的なパスワード フレーズ DEV-0270 の詳細については、高度なハンティング セクションを参照してください。

  • wmic computersystem ドメインを取得
  • 私は誰
  • ネットユーザー

侵害された Exchange サーバーで、攻撃者は次のコマンドを使用して標的の環境を把握しました。

受信者を取得 |名前を選択 -ExpandProperty EmailAddresses -first 1 | SmtpAddress | を選択します。 ft -hidetableheaders

ドメイン コントローラを検出するために、攻撃者は次の PowerShell および WMI コマンドを使用しました。

資格情報へのアクセス

DEV-0270 は、多くの場合、LOLBin を使用して資格情報の盗難を実行する特定の方法を選択します。これにより、一般的な資格情報盗難ツールを削除する必要がなくなり、ウイルス対策およびエンドポイントの検出と対応 (EDR) ソリューションによって検出およびブロックされる可能性が高くなります。このプロセスは、レジストリで WDigest を有効にすることから始まります。これにより、パスワードがクリアテキストでデバイスに保存され、攻撃者はパスワード ハッシュをクラックする必要がなくなり、時間を節約できます。

"reg" HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f を追加します。

次に、攻撃者はrundll32.execomsvcs.dllを組み込みの MiniDump 機能と共に使用して、パスワードを LSASS からダンプ ファイルにダンプします。これを行うコマンドは、多くの場合、LSASS からパスワードを保存する出力を指定します。ファイル名も検出を回避するために反転されます ( ssasl.dmp) :

PowerShell コマンドのスクリーンショット。

持続性

侵害されたネットワークでアクセスを維持するために、DEV-0270 攻撃者はコマンドnet user /addを使用して、多くの場合DefaultAccountという名前の新しいユーザー アカウントをP@ssw0rd1234のパスワードでデバイスに追加または作成します。 DefaultAccountアカウントは、通常、セットアップ済みの既存のアカウントですが、ほとんどの Windows システムでは有効になっていません。

次に、攻撃者はレジストリを変更してデバイスのリモート デスクトップ (RDP) 接続を許可し、 netsh.exeを使用してファイアウォールにルールを追加して RDP 接続を許可し、ユーザーをリモート デスクトップ ユーザー グループに追加します。

"reg" add "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v TSEnabled /t REG_DWORD /d 1 /f
"reg" add "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0
"reg" add "HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v UserAuthentication /t REG_DWORD
"netsh" advfirewall ファイアウォールは、ルール名を追加します。"ターミナル サーバー" dir=in action=allow protocol=TCP localport=3389

スケジュールされたタスクは、デバイスへのアクセスを維持するために DEV-0270 が攻撃で使用する反復的な方法の 1 つです。一般に、タスクは XML ファイルを介してロードされ、コマンド プロンプトを介して .bat を起動するための最小限の権限で起動時に実行されるように構成されています。バッチ ファイルは、組織がデバイスからファイルを削除した場合でも、デバイスの制御を維持するために、名前が変更されたdllhost.exe (リバース プロキシ) をダウンロードします。

DEV-0270 アクター グループが攻撃で使用したスケジュールされたタスクのスクリーンショット。
図 2. DEV-0270 攻撃で使用されるスケジュールされたタスク

権限昇格

DEV-0270 は通常、脆弱な Web サーバー上の特権プロセスに Web シェルを挿入することで、管理者またはシステム レベルの特権で初期アクセスを取得できます。グループが Impacket の WMIExec を使用してネットワーク上の他のシステムに横方向に移動する場合、通常は、特権アカウントを使用してリモート コマンドを実行しています。また、DEV-0270 は一般的に、資格情報へのアクセス セクションで説明したように、LSASS をダンプして、ローカル システムの資格情報を取得し、権限が拡張されている可能性がある他のローカル アカウントになりすます。

DEV-0270 が使用する権限昇格の別の形式には、管理者権限を付与するためのユーザー アカウントの作成またはアクティブ化が含まれます。 DEV-0270 は、 powershell.exe および net.exeコマンドを使用してこのアカウントを作成または有効化し、より高い権限のために管理者グループに追加します。

防御回避

DEV-0270 は、検出を回避するためにいくつかの防御的回避技術を使用します。攻撃者は通常、Microsoft Defender ウイルス対策のリアルタイム保護をオフにして、Microsoft Defender ウイルス対策がカスタム バイナリの実行をブロックしないようにします。脅威グループは、 DefaultAccountアカウントを作成またはアクティブ化して、それを Administrators および Remote Desktop Users グループに追加します。 DefaultAccountの変更により、脅威アクター グループに、非標準のより高い権限を持つ正当な既存のアカウントが提供されます。 DEV-0270 はまた、 powershell.exeを使用して、カスタム ルート証明書をローカル証明書データベースにロードします。このカスタム証明書は、Microsoft が署名した正当な証明書のように偽装されています。ただし、証明書署名チェーンが検証されていないため、Windows はスプーフィングされた証明書に無効のフラグを立てます。この証明書により、グループは悪意のある通信を暗号化して、ネットワーク上の他の正当なトラフィックに紛れ込むことができます。

さらに、DEV-0270 はネイティブの LOLBin を多用して効果的に検出を回避します。この脅威グループは、通常、ネイティブの WMI、net、CMD、および PowerShell コマンドとレジストリ構成を使用して、ステルスと運用上のセキュリティを維持します。また、カスタム バイナリをインストールして正当なプロセスとして偽装し、その存在を隠します。ツールを偽装する正当なプロセスには、 dllhost.exetask_update.exeuser.exe 、およびCacheTaskなどがあります。 .bat ファイルとpowershell.exeを使用して、DEV-0270 は既存の正当なプロセスを終了し、同じプロセス名でバイナリを実行し、スケジュールされたタスクを構成して、カスタム バイナリの永続性を確保する可能性があります。

横移動

DEV-0270 は、 defaultaccountを作成し、そのアカウントを Remote Desktop Users グループに追加することが確認されています。グループは、RDP 接続を使用して横方向に移動し、ツールをターゲット デバイスにコピーし、暗号化を実行します。

RDP とともに、 Impacketの WMIExec は、グループがラテラル ムーブメントに使用する既知のツールキットです。複数の侵害で、これは、組織内の追加のデバイスにピボットし、コマンドを実行して追加の価値の高いターゲットを見つけ、資格情報をダンプして権限をエスカレートする主な方法でした。

リモート デバイスから Impacket の WMIExec を使用するコマンドの例:

cmd.exe /Q /c quser 1> 127.0.0.1ADMIN$__1657130354.2207212 2>&1

影響

DEV-0270 は、 setup.batコマンドを使用して BitLocker 暗号化を有効にすることが確認されており、ホストが動作不能になります。ワークステーションの場合、グループはDiskCryptorを使用します。これは、デバイスのハード ドライブ全体の暗号化を可能にする、Windows 用のオープン ソースのフル ディスク暗号化システムです。グループは RDP セッションからDiskCryptorをドロップし、起動時に暗号化を開始します。この方法では、インストールのために再起動し、ワークステーションへのアクセスをロックアウトするためにもう一度再起動する必要があります。

以下は、BitLocker を使用した DEV-0270 の PowerShell コマンドです。

PowerShell コマンドのスクリーンショット。

マイクロソフトは引き続き DEV-0270 と PHOSPHORUS の活動を監視し、お客様のために保護を実装します。当社のセキュリティ製品全体で実施されている現在の検出、高度な検出、および IOC の詳細を以下に示します。

推奨される軽減策

DEV-0270 によって使用される手法は、次のアクションによって軽減できます。

  • CVE-2021-26855CVE-2021-26858CVE-2021-26857およびCVE-2021-27065の適用可能な修正を含む、Exchange Server の対応するセキュリティ更新プログラムを適用します。インターネットに直接接続された Exchange サーバーに優先的にパッチを適用してリスクを軽減することが重要ですが、パッチが適用されていない内部の Exchange Server インスタンスにもできるだけ早く対処する必要があります。
    • メインストリーム サポートの Exchange Server インスタンスの場合、最近リリースされた累積更新プログラム (CU) および以前の CU の重要な製品更新プログラムがリリースされます。延長サポートの Exchange Server インスタンスの場合、重要な製品更新は、最近リリースされた CU に対してのみリリースされます。
    • サポートされている CU をお持ちでない場合、Microsoft は、お客様が環境をより迅速に保護できるように、一部の古いサポートされていない CU に適用できる追加の一連のセキュリティ更新プログラム (SU) を作成しています。これらの更新プログラムの詳細については、2021 年 3 月の Exchange Server の古い累積的な更新プログラムに関する Exchange Server セキュリティ更新プログラムを参照してください。
    • 更新プログラムをインストールすることは、これらの脆弱性に対する唯一の完全な軽減策であり、機能には影響しません。攻撃者がこれらの脆弱性を悪用してマルウェアをインストールした場合、更新プログラムをインストールしても、埋め込まれたマルウェアが削除されたり、攻撃者が排除されたりすることはありません
  • Microsoft Defender ファイアウォール、侵入防止デバイス、およびネットワーク ファイアウォールを使用して、デバイス間の RPC および SMB 通信を可能な限り防止します。これにより、横方向の動きやその他の攻撃活動が制限されます。
  • 境界ファイアウォールとプロキシを確認して、Fortinet SSL VPN デバイスなどのネットワーク アプライアンスがインターネットに勝手に接続してファイルを参照またはダウンロードすることを制限または防止します。
  • 強力なローカル管理者パスワードを強制します。 LAPSなどのツールを使用します。
  • Microsoft Defender ウイルス対策が最新の状態であり、リアルタイムの動作監視が有効になっていることを確認してください。
  • バックアップを保持して、破壊的な攻撃の影響を受けたデータを回復できるようにします。制御されたフォルダー アクセスを使用して、承認されていないアプリケーションが保護されたファイルを変更するのを防ぎます。
  • この脅威に関連するアクティビティをブロックまたは監査するには、次の攻撃面削減ルールを有効にします。
    • Windows ローカル セキュリティ機関サブシステム (lsass.exe) からの資格情報の盗用をブロックする
    • PsExec および WMI コマンドからのブロック プロセスの作成
    • WMI イベント サブスクリプションを介して持続性をブロックします。 Microsoft Defender for Endpoint が最新であり、リアルタイムの動作監視が有効になっていることを確認します

検出の詳細

エンドポイントの Microsoft Defender

セキュリティ センターの次のタイトルのアラートは、ネットワーク上の脅威の活動を示している可能性があります。

  • DEV-0270 アクティビティ グループに関連付けられたマルウェアが検出されました

次の追加のアラートも、この脅威に関連するアクティビティを示している可能性があります。ただし、これらのアラートは無関係の脅威アクティビティによってトリガーされる可能性があり、このレポートで提供されるステータス カードでは監視されません。

不審な内容のスクリプトが確認されました Exchange Server プロセスによってドロップされた疑わしいファイル
不審なファイルが確認されました 不審なレジストリの変更
一般的な実行可能ファイルによる異常な動作 疑わしい権限グループの検出
Lazagne ポストエクスプロイト ツール 疑わしい PowerShell コマンドライン
収集されたローカル電子メール 疑わしい PowerShell のダウンロードまたはエンコードされたコマンドの実行
Mimikatz 資格情報盗難ツール 疑わしいプロセスの発見
重大度の高いマルウェア「mimilove」を阻止 不審なプロセスが PowerShell コマンドを実行
新しいグループが不審に追加されました dllhost.exe を使用して起動された疑わしいプロセス
Impacket ツールキットを介した継続的なハンズオン キーボード攻撃 不審な「PShellCobStager」の動作がブロックされました
Antimalware Scan Interface (AMSI) 改ざんの可能性 疑わしいスケジュールされたタスク プロセスが開始されました
グループと権限を発見しようとする試みの可能性 疑わしい一連の探査活動
Exchange Server の脆弱性の悪用の可能性 不審な「SuspExchgSession」動作がブロックされました
ProxyShell の脆弱性の悪用の可能性 不審なシステム ネットワーク構成の検出
可能な Web シェルのインストール 疑わしいシステムの所有者/ユーザーの発見
プロセス メモリ ダンプ 不審なタスク スケジューラ アクティビティ
不審なアカウントの検出: メール アカウント 疑わしいユーザー アカウントの検出
cmd.exe による不審な動作が確認されました 不審なユーザー パスワードの変更
svchost.exe による不審な動作が確認されました Exchange での疑わしい w3wp.exe の活動
システムファイルマスカレード
Web サーバー プロセスによる不審な動作 Microsoft Defender for Endpoint センサーの改ざん
疑わしいアカウントの作成 失敗したログオンの異常なシーケンス
疑わしいファイルがドロップされました WDigest 構成の変更

ハンティング クエリ

マイクロソフト センチネル

Microsoft Sentinel のお客様は、次のクエリを使用して、環境内の関連する悪意のあるアクティビティを探すことができます。

DEV-0270 レジストリ IOC

このクエリは、DEV-0270 アクターによるレジストリの変更を特定して、セキュリティ機能を無効にし、身代金メモを追加します。

DEV-0270 悪意のある PowerShell の使用

DEV-0270 は、PowerShell を多用して、攻撃のさまざまな段階で目的を達成します。このクエリは、アクターに関連付けられた PowerShell アクティビティを特定します。

DEV-0270 WMIC 発見

このクエリは、WMIC を使用してdllhost.exeを識別し、環境内の追加のホストと関連するドメインを検出します。

DEV-0270 新規ユーザー作成

このクエリは、既知の DEV-0270 ユーザー名/パスワード スキーマを使用して、新しいユーザーの作成を検出しようとします。

Microsoft 365 ディフェンダー

アクター アクティビティの可能性を特定するには、次のクエリを実行します。

レジストリ経由でサービスを無効にする
レジストリを変更してセキュリティ機能を無効にするプロセスを検索します。 GitHub リンク

DeviceProcessEvents
| | where InitiatingProcessCommandLine has_all(@'”reg”', 'add', @'”HKLMSOFTWAREPolicies', '/v','/t', 'REG_DWORD', '/d', '/f')
    InitiatingProcessCommandLine has_any('DisableRealtimeMonitoring', 'UseTPMKey', 'UseTPMKeyPIN', 'UseAdvancedStartup', 'EnableBDEWithNoTPM', 'RecoveryKeyMessageSource')

レジストリを変更して身代金メッセージ通知を追加する

DEV-0270 に関連付けられた身代金メモを示すレジストリの変更を特定します。 GitHub リンク

DeviceProcessEvents
| | where InitiatingProcessCommandLine has_all('”reg”', 'add', @'”HKLMSOFTWAREPolicies', '/v','/t', 'REG_DWORD', '/d', '/f', ' RecoveryKeyMessage', 'あなたのドライブは暗号化されています!', '@')

PowerShell による DLLHost.exe ファイルの作成

PowerShell によって作成された、偽装されたDLLHost.exeファイルを特定します。 GitHub リンク

DeviceProcessEvents
| |どこで InitiatingProcessFileName =~ 'powershell.exe'
| | where InitiatingProcessCommandLine has_all('$file=', 'dllhost.exe', 'Invoke-WebRequest', '-OutFile')

PowerShell を使用して悪意のあるユーザーを管理者および RDP ユーザー グループに追加する

PowerShell 経由でリモート デスクトップ ユーザーの管理者にユーザーを追加する方法を探します。 GitHub リンク

DeviceProcessEvents
| |どこで InitiatingProcessFileName =~ 'powershell.exe'
| | where InitiatingProcessCommandLine has_all('$admins=', 'System.Security.Principal.SecurityIdentifier', 'Translate', '-split', 'localgroup', '/add', '$rdp=')

PowerShell による電子メール データの流出

PowerShell によって実行された電子メールの流出を特定します。 GitHub リンク

DeviceProcessEvents
| |どこで FileName =~ 'powershell.exe'
| | where ProcessCommandLine has_all('Add-PSSnapin', 'Get-Recipient', '-ExpandProperty', 'EmailAddresses', 'SmtpAddress', '-hidetableheaders')

既知の DEV-0270 ユーザー名/パスワードで新しいユーザーを作成します
既知の DEV-0270 ユーザー名/パスワード スキーマを使用して、新しいユーザーの作成を検索します。 GitHub リンク

DeviceProcessEvents
| | where InitiatingProcessCommandLine has_all('net user', '/add')
| | InitiatingProcessCommandLine を * "user " username " "* で解析します
| |パスワードの拡張 = 抽出 (@"busers+[^s]+s+([^s]+)", 1, InitiatingProcessCommandLine)
| |ユーザー名 in('DefaultAccount') またはパスワード in('P@ssw0rd1234', '_AS_@1394')

ProgramData の Microsoft Defender の除外パスを追加する PowerShell

Microsoft Defender が監視しないように、ProgramData ディレクトリの除外パスを作成する PowerShell を特定します。 GitHub リンク

DeviceProcessEvents
| |どこで FileName =~ "powershell.exe" および ProcessCommandLine has_all("try", "Add-MpPreference", "-ExclusionPath", "ProgramData", "catch")

DLLHost.exe WMIC ドメインの検出

WMIC を使用して dllhost.exe を特定し、追加のホストと関連するドメインを検出します。 GitHub リンク

DeviceProcessEvents
| |ここで、InitiatingProcessFileName =~ "dllhost.exe" および InitiatingProcessCommandLine == "dllhost.exe"
| | ProcessCommandLineには「wmic computersystem get domain」があります

参照: https://www.microsoft.com/en-us/security/blog/2022/09/07/profiling-dev-0270-phosphorus-ransomware-operations/

Comments

タイトルとURLをコピーしました