SOC Prime Bias: クリティカル

27 1月 2026 17:21

ウォータリングホール攻撃がEmEditorユーザーを情報窃盗マルウェアで狙う

Author Photo
Ruslan Mikhalov SOC Primeの脅威リサーチ責任者 linkedin icon フォローする
ウォータリングホール攻撃がEmEditorユーザーを情報窃盗マルウェアで狙う
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

要約

トロイの木馬化された EmEditor インストーラーが、多段階マルウェアチェーンを配布するために利用されました。侵害されたインストーラーは、攻撃者が制御するドメインから PowerShell スクリプトを取得し、その後、資格情報を収集し、ホストおよび環境の詳細を収集し、結果を抽出するフォローオンペイロードを取得します。配信メカニズムはウォータリングホール技法と一致し、ベンダーのダウンロードパスが侵害され、正当なソフトウェアを求めるユーザーに到達します。

調査

分析により、MSI パッケージが修正され、エンベデッド PowerShell コマンドを実行して偽装された EmEditor テーマのドメインに接触することが判明しました。最初のスクリプトは、その後、二つの追加ステージをダウンロードし、分析回避行動、資格情報の窃取、およびシステムの指紋化を行い、収集したデータをコマンド&コントロールサーバーに送信します。調査では、実行チェーン全体で使用された特定の URL や一意の文字列を含む明確な指標が文書化されました。

緩和策

デプロイ前にベンダー署名検証およびハッシュチェックを使用してインストーラの整合性を確認します。PowerShell の厳格な制御と監視を適用し、ETW やその他のテレメトリを無効化する動作に注意してください。特定された悪意のあるドメインのネットワークフィルタリングを実施し、異常なアウトバウンド HTTPS アクティビティに警告を発します。

対応策

悪意のあるドメインを参照する PowerShell コマンドラインを探し、関連する URL/ドメインをブロックし、影響を受けたエンドポイントを隔離し、改ざんされた MSI などの法医学的アーティファクトを保持します。ベンダー配布ワークフローのサプライチェーンレビューを行い、ユーザー通知と修復指針を調整します。

“graph TB %% クラス定義 classDef technique fill:#ffcc99 classDef file fill:#e6e6fa classDef command fill:#add8e6 classDef server fill:#ffd700 classDef tool fill:#d3d3d3 %% テクニックノード tech_T1195[“<b>テクニック</b> – T1195 サプライチェーンの妥協:<br/>ソフトウェアサプライチェーンの妥協を利用して悪意のあるペイロードを配布。”] class tech_T1195 technique tech_T1199[“<b>テクニック</b> – T1199 信頼された関係:<br/>信頼されたベンダー関係を利用して悪意のあるコンテンツを配信。”] class tech_T1199 technique tech_T1546_016[“<b>テクニック</b> – T1546.016 イベントトリガー実行(インストーラーパッケージ):<br/>MSIの中でCustomActionがインストーラー実行時にスクリプトを実行。”] class tech_T1546_016 technique tech_T1059_001[“<b>テクニック</b> – T1059.001 PowerShell:<br/>PowerShellコマンドの実行によりペイロードをダウンロードし実行。”] class tech_T1059_001 technique tech_T1027[“<b>テクニック</b> – T1027 ファイルまたは情報の難読化:<br/>ペイロードが文字列操作やエンコーディングで高度に難読化されている。”] class tech_T1027 technique tech_T1620[“<b>テクニック</b> – T1620 反射的コードローディング:<br/>悪意のあるコードがディスクに触れずにメモリに反射的にロードされる。”] class tech_T1620 technique tech_T1497[“<b>テクニック</b> – T1497 仮想化/サンドボックス回避:<br/>ユーザーアクティビティと時間ベースのロジックを使用して分析環境をチェック。”] class tech_T1497 technique tech_T1218_007[“<b>テクニック</b> – T1218.007 システムバイナリプロキシ実行:<br/>msiexecが信頼されたバイナリとして使用され、悪意のあるMSIを起動。”] class tech_T1218_007 technique tech_T1555_004[“<b>テクニック</b> – T1555.004 パスワードストアからのクレデンシャル:<br/>Windowsクレデンシャルマネージャーからの保存されたクレデンシャルの抽出。”] class tech_T1555_004 technique tech_T1082[“<b>テクニック</b> – T1082 システム情報収集:<br/>OS、ハードウェア、ソフトウェアの詳細を収集。”] class tech_T1082 technique tech_T1016_001[“<b>テクニック</b> – T1016.001 インターネット接続の発見:<br/>ネットワーク接続のステータスを決定。”] class tech_T1016_001 technique tech_T1592_002[“<b>テクニック</b> – T1592.002 被害者ホスト情報の収集(ソフトウェア):<br/>インストールされたアプリケーションとバージョンを列挙。”] class tech_T1592_002 technique tech_T1102[“<b>テクニック</b> – T1102 ウェブサービス:<br/>HTTPSウェブサービスをコマンド&コントロール通信に使用。”] class tech_T1102 technique tech_T1090_002[“<b>テクニック</b> – T1090.002 プロキシ外部プロキシ:<br/>トラフィックが外部プロキシサーバーを通じてルーティング。”] class tech_T1090_002 technique tech_T1070_001[“<b>テクニック</b> – T1070.001 インジケータ削除(Windowsイベントログのクリア):<br/>ETWを無効にし、ログをクリアして活動を隠蔽。”] class tech_T1070_001 technique tech_T1546_013[“<b>テクニック</b> – T1546.013 イベントトリガー実行(PowerShellプロファイル):<br/>悪意のあるPowerShellプロファイルスクリプトによる永続化。”] class tech_T1546_013 technique tech_T1068[“<b>テクニック</b> – T1068 特権上昇のための脆弱性の悪用:<br/>ローカルな脆弱性の可能性を利用して権限を上げる。”] class tech_T1068 technique %% ファイル、ツール、コマンド、サーバーノード file_msi[“<b>ファイル</b> – EmEditor.msi:<br/>ベンダーダウンロードページにホストされた妥協されたMSIインストーラー。”] class file_msi file tool_msiexec[“<b>ツール</b> – Msiexec:<br/>Windowsインストーラー実行ファイルとして悪意のあるMSIを実行。”] class tool_msiexec tool command_ps[“<b>コマンド</b> – PowerShell:<br/>CustomActionがInvoke-WebRequestを介してスクリプトをダウンロードするためのPowerShellを実行。”] class command_ps command server_c2[“<b>サーバー</b> – C2 HTTPS:<br/>https://cachingdrive.com/gate/init/2daef8cd”] class server_c2 server %% 攻撃フローを示す接続 tech_T1195 u002du002d>|delivers| file_msi tech_T1199 u002du002d>|downloads| file_msi file_msi u002du002d>|executed by| tool_msiexec tool_msiexec u002du002d>|triggers| tech_T1546_016 tech_T1546_016 u002du002d>|runs| command_ps command_ps u002du002d>|executes| tech_T1059_001 command_ps u002du002d>|uses obfuscation| tech_T1027 command_ps u002du002d>|loads code reflectively| tech_T1620 command_ps u002du002d>|performs sandbox checks| tech_T1497 command_ps u002du002d>|proxy execution via msiexec| tech_T1218_007 command_ps u002du002d>|extracts credentials| tech_T1555_004 command_ps u002du002d>|gathers system info| tech_T1082 command_ps u002du002d>|discovers internet connection| tech_T1016_001 command_ps u002du002d>|enumerates software| tech_T1592_002 command_ps u002du002d>|communicates with| server_c2 server_c2 u002du002d>|uses| tech_T1102 server_c2 u002du002d>|routes through| tech_T1090_002 command_ps u002du002d>|clears logs| tech_T1070_001 command_ps u002du002d>|establishes persistence| tech_T1546_013 command_ps u002du002d>|may trigger| tech_T1068 “

攻撃フロー

シミュレーション実行

前提条件: テレメトリー & ベースライン プリフライト チェックが合格している必要があります。

理由: このセクションは、検出ルールをトリガーするために設計された敵の技術(TTP)の正確な実行を詳述します。コマンドと物語は、特定されたTTPを直接反映し、検出論理によって期待される正確なテレメトリーを生成することを目的としています。

  • 攻撃の説明とコマンド:
    敵は公式のEmEditorインストーラーパッケージを侵害しました。被害者がインストーラーを実行した後、悪意のあるバイナリはハードコーディングされたC2ドメインにアクセスします。 cachingdrive.com/gate/init/2daef8cd。このアウトバウンドリクエストは、特権を昇格させ、資格情報を収集する二次ペイロードをダウンロードします。攻撃者は、標準のWindowsコマンドライン(cmd.exe)を使用してインストーラーを起動し、Sigmaルールの文字列一致条件に一致するプロセス生成イベントに悪意のあるURLが文字通り表示されるようにします。

  • リグレッションテストスクリプト:

    # --------------------------------------------------------------
    # 侵害されたEmEditorインストーラーの悪意のある実行のシミュレーション
    # --------------------------------------------------------------
    $installerPath = "C:TempEmEditorSetup.exe"
    $maliciousUrl   = "https://cachingdrive.com/gate/init/2daef8cd"
    
    # インストーラーが存在することを確認する(プレースホルダー–実際のテストでは無害なexeをコピーする)
    if (-not (Test-Path $installerPath)) {
        Write-Error "インストーラーが $installerPath に見つかりません"
        exit 1
    }
    
    # 悪意のある引数でインストーラーを実行する
    Write-Host "[*] 改ざんされたインストーラーを起動中..."
    Start-Process -FilePath $installerPath -ArgumentList $maliciousUrl -Wait
    
    Write-Host "[+] 実行完了。検出ルールが発動したことを確認します。"
    # --------------------------------------------------------------
  • クリーンアップコマンド:

    # --------------------------------------------------------------
    # シミュレーテッドテストによって残されたアーティファクトを削除する
    # --------------------------------------------------------------
    $installerPath = "C:TempEmEditorSetup.exe"
    
    if (Test-Path $installerPath) {
        Remove-Item $installerPath -Force
        Write-Host "[*] インストーラーバイナリを削除しました。"
    }
    
    # (オプション)ダウンロードされたペイロードが物理的に存在する場合、それを削除する
    $downloadedPath = "$env:TEMPpayload.bin"
    if (Test-Path $downloadedPath) {
        Remove-Item $downloadedPath -Force
        Write-Host "[*] ダウンロードされた悪意のあるペイロードを削除しました。"
    }
    # --------------------------------------------------------------