APT-Q-27 マルウェアキャンペーンがWeb3カスタマーサポートを狙う
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
APT-Q-27(別名 GoldenEyeDog)として追跡される金銭的動機を持つ脅威アクターが、Web3のカスタマーサポートチャットインタラクションから始まる多段マルウェアキャンペーンを展開しています。初期の誘引はスクリーンショットとして偽装された.pifファイルで、カスタム.NETローダーを展開します。そのローダーはAWS S3から追加段階を引き出し、隠されたステージングディレクトリを構築し、不正なDLLを正当なYYプラットフォームの実行ファイルと組み合わせることでサイドローディングを行います。最終段階では、標準外のTCPポートを介して通信を行うバックドアをインストールし、通常のウェブトラフィックベースラインを超えたステルスなリモートアクセスを可能にします。
調査
ZeroShadowはFeedback.exeやphoto2025060268jpg.exeを含む複数のローダーバリアントを分析し、チェーン内に埋め込まれた重複Base64エンコードのC2 URLを回収しました。リバースエンジニアリングにより、ローダーの復号ロジックおよび実行をブートストラップするために使用されるサイドローディングのワークフローが明らかにされました。アナリストは、「@27」を含む一貫したステージングパスのマーカー、およびSystemUpdatsというHKCU実行値を用いた永続性メカニズムも記録しました。観察されたバックドアは、37のハードコードされたC2 IPアドレスのセットを使用し、TCP 15628を介して通信し、Microsoftの更新URLをデコイネットワーク指標として参照することで活動を隠蔽していました。
緩和策
エンドポイント全体でファイル拡張子の完全な可視性を有効にし、.pifファイルの実行をブロックします。Windows Updateスタイルのキャッシュ場所の下での隠しディレクトリ作成を監視し、SystemUpdats実行キー値でアラートを発します。攻撃者が3つの関連ポリシーキーを同時にゼロ化するのを防ぐことでUACを強化し、イグレスポイントでTCP 15628への外向き接続を制限します。コードサイン検証を強化し、非システムディレクトリから起動される署名済みバイナリを精査してDLLサイドローディングリスクを低減します。
対応
検出が発生した場合、エンドポイントを隔離し、トリアージのためにメモリとディスクの両方のアーティファクトを保存します。「@27」が含まれるステージングディレクトリ、SystemUpdats実行キーエントリ、および正当なYY実行ファイルとペアになった疑わしいDLLを捜索します。識別されたC2 IPs/ドメインをブロックし、ユーザープロファイルパスからの未署名または不信頼なバイナリエクスキューションを防ぐアプリケーション制御ポリシーを展開します。同じ永続性およびネットワークパターンの下でフリート全体を拡大し、追加の影響を受けたホストを特定します。
"graph TB %% クラス定義 classDef action fill:#99ccff classDef file fill:#ffcc99 classDef registry fill:#c2f0c2 classDef network fill:#ff99cc classDef builtin fill:#cccccc %% ノード action_phishing_link["<b>アクション</b> – <b>T1204.001 ユーザー実行: 悪意のあるリンク</b><br/>ライブチャットで送信された欺瞞的なURL、被害者がクリックし、photo2025060268jpg.exeという名前の.pifファイルをダウンロードします"] class action_phishing_link action file_pif["<b>ファイル</b> – <b>名前</b>: photo2025060268jpg.exe<br/><b>種類</b>: 画像として偽装された.pif実行ファイル"] class file_pif file action_malicious_file["<b>アクション</b> – <b>T1204.002 ユーザー実行: 悪意のあるファイル</b><br/>.pifが実行され、偽のエラー画像でペイントが開き、ローダーを起動します"] class action_malicious_file action file_loader["<b>マルウェア</b> – <b>名前</b>: ローダー<br/><b>振る舞い</b>: ペイロードを復号し、updat.exeを起動します"] class file_loader builtin action_obfuscation["<b>アクション</b> – <b>T1027.008 難読化されたファイルまたは情報</b><br/>すべての文字列、URL、ペイロードが重複Base64で暗号化されています"] class action_obfuscation action action_debugger_evasion["<b>アクション</b> – <b>T1622 デバッガー回避</b><br/>IsDebuggerPresentとコールスタックをチェックし、デバッガーが検出された場合は終了します"] class action_debugger_evasion action action_persistence["<b>アクション</b> – <b>T1547.001 レジストリ実行キー/スタートアップフォルダ</b><br/>HKCUSoftwareMicrosoftWindowsCurrentVersionRunSystemUpdats → updat.exeを隠しステージングフォルダに書き込みます"] class action_persistence action registry_run_key["<b>レジストリ</b> – <b>パス</b>: HKCUSoftwareMicrosoftWindowsCurrentVersionRunSystemUpdats<br/><b>値</b>: updat.exeパス"] class registry_run_key registry file_updat["<b>ファイル</b> – <b>名前</b>: updat.exe<br/><b>場所</b>: 隠しステージングディレクトリ"] class file_updat file action_uac_bypass["<b>アクション</b> – <b>T1548.002 UACバイパス</b><br/>EnableLUA、ConsentPromptBehaviorAdmin、PromptOnSecureDesktopを0に設定します"] class action_uac_bypass action action_appinit["<b>アクション</b> – <b>T1546.010 AppInit DLLs</b> & <b>T1546.009 AppCert DLLs</b><br/>updat.exeがステージングフォルダに設定された作業ディレクトリで起動され、悪意のあるDLLが読み込まれます"] class action_appinit action file_vcruntime["<b>DLL</b> – <b>名前</b>: vcruntime140.dll (悪意あり)"] class file_vcruntime file file_msvcp["<b>DLL</b> – <b>名前</b>: msvcp140.dll (悪意あり)"] class file_msvcp file file_crashreport["<b>DLL</b> – <b>名前</b>: crashreport.dll (悪意あり)"] class file_crashreport file action_dll_sideload["<b>アクション</b> – <b>T1574.002 DLLサイドローディング</b><br/>正規のランタイムライブラリではなく、悪意のあるDLLが読み込まれます"] class action_dll_sideload action action_c2["<b>アクション</b> – <b>T1571 標準外ポート</b> & <b>T1573 暗号化チャネル</b><br/>バックドアがポート15628でC2にTCP接続を確立し、トラフィックを暗号化、AWS S3からマニフェストを取得します"] class action_c2 action network_c2["<b>ネットワーク</b> – <b>プロトコル</b>: TCP<br/><b>ポート</b>: 15628<br/><b>エンドポイント</b>: C2サーバー (AWS S3)"] class network_c2 network %% 接続 action_phishing_link –>|downloads| file_pif file_pif –>|executes| action_malicious_file action_malicious_file –>|launches| file_loader file_loader –>|uses| action_obfuscation file_loader –>|uses| action_debugger_evasion file_loader –>|initiates| action_persistence action_persistence –>|writes| registry_run_key registry_run_key –>|points to| file_updat file_updat –>|triggered by| action_uac_bypass action_uac_bypass –>|enables| action_appinit action_appinit –>|loads| file_vcruntime action_appinit –>|loads| file_msvcp action_appinit –>|loads| file_crashreport file_vcruntime –>|contribute to| action_dll_sideload file_msvcp –>|contribute to| action_dll_sideload file_crashreport –>|contribute to| action_dll_sideload action_dll_sideload –>|enables| action_c2 action_c2 –>|communicates with| network_c2 "
攻撃フロー
検出
可能なUACバイパス – 同意管理者の無効化 (via registry_event)
表示
可能な悪意のあるファイルのダブル拡張子 (via process_creation)
表示
可能な永続点 [ASEPs – ソフトウェア/NTUSERハイブ] (via registry_event)
表示
可能なUACバイパス – UAC無効化試行 (via registry_event)
表示
Vcruntime140の動的ライブラリが疑わしいディレクトリからロードされました (via image_load)
表示
可能なUACバイパス – セキュアデスクトップのプロンプト無効化試行 (via registry_event)
表示
IOCs (DestinationIP) を検出する: Queueの処理: APT-Q-27のマルウェアがWeb3カスタマーサポートをターゲットにします パート1
表示
IOCs (SourceIP) を検出する: Queueの処理: APT-Q-27のマルウェアがWeb3カスタマーサポートをターゲットにします パート2
表示
IOCs (DestinationIP) を検出する: Queueの処理: APT-Q-27のマルウェアがWeb3カスタマーサポートをターゲットにします パート2
表示
IOCs (HashSha256) を検出する: Queueの処理: APT-Q-27のマルウェアがWeb3カスタマーサポートをターゲットにします
表示
IOCs (SourceIP) を検出する: Queueの処理: APT-Q-27のマルウェアがWeb3カスタマーサポートをターゲットにします パート1
表示
レジストリの変更を通じてUACの無効化を検出 [Windowsレジストリイベント]
表示
AppDataのUpdat.exeを通じたDLLサイドローディングの検出 [Windowsプロセス作成]
表示
シミュレーションの実行
前提条件: テレメトリー & ベースラインの事前チェックが合格している必要があります。
理論: このセクションでは、検出ルールをトリガーするために設計された敵対者技術 (TTP) の正確な実行を詳細に説明します。コマンドとナラティブは、特定されたTTPsを直接反映し、検出ロジックが期待する正確なテレメトリーを生成することを目的としなければなりません。
-
攻撃ナラティブとコマンド:
ローカル管理者権限を持つ敵対者は、さらなる権限昇格ツールへの道をスムーズにするためにUACを無効化しようとします。ネイティブreg.exeユーティリティ (生活オフのランドバイナリ) を使って、攻撃者は3つの重要なUACポリシー値を0に素早く (30秒以内) 設定して、手動監査プロセスによる検出を回避します。# ステップ1 – UAC「EnableLUA」を無効化 reg add "HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem" /v EnableLUA /t REG_DWORD /d 0 /f # ステップ2 – 管理者の同意プロンプトを無効化 reg add "HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 0 /f # ステップ3 – UACプロンプトのセキュアデスクトップを無効化 reg add "HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem" /v PromptOnSecureDesktop /t REG_DWORD /d 0 /fこれらの3つのコマンドは、3つの レジストリエベント ログ (
イベントID 4657セキュリティチャンネルと対応するMicrosoft-Windows-Registry/Operationalイベント) を生成し、Sigmaルールが一致するターゲットオブジェクトパスと詳細値を含みます。 -
回帰テストスクリプト: 以下のPowerShellスクリプトは、30秒以内に収まるように、各5秒間のポーズを伴って3つの書き込みを実行し、また決定的な実行フローを提供します。
# 回帰テスト – レジストリを通じてUACを無効化 $regPath = "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem" # 後でクリーンアップするために元の値を保存 $originalEnableLUA = (Get-ItemProperty -Path $regPath -Name EnableLUA -ErrorAction SilentlyContinue).EnableLUA $originalConsent = (Get-ItemProperty -Path $regPath -Name ConsentPromptBehaviorAdmin -ErrorAction SilentlyContinue).ConsentPromptBehaviorAdmin $originalPrompt = (Get-ItemProperty -Path $regPath -Name PromptOnSecureDesktop -ErrorAction SilentlyContinue).PromptOnSecureDesktop # UACを無効化 Set-ItemProperty -Path $regPath -Name EnableLUA -Value 0 Start-Sleep -Seconds 5 Set-ItemProperty -Path $regPath -Name ConsentPromptBehaviorAdmin -Value 0 Start-Sleep -Seconds 5 Set-ItemProperty -Path $regPath -Name PromptOnSecureDesktop -Value 0 Write-Host "UACを無効にしました – 検証ログが今取り込まれたはずです。" -
クリーンアップコマンド: システムをテスト前の状態に戻すために、元のUAC設定を復元します。
# クリーンアップ – 元のUAC設定を復元 $regPath = "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem" if ($null -ne $originalEnableLUA) { Set-ItemProperty -Path $regPath -Name EnableLUA -Value $originalEnableLUA } if ($null -ne $originalConsent) { Set-ItemProperty -Path $regPath -Name ConsentPromptBehaviorAdmin -Value $originalConsent } if ($null -ne $originalPrompt) { Set-ItemProperty -Path $regPath -Name PromptOnSecureDesktop -Value $originalPrompt } Write-Host "UAC設定を元の値に復元しました。"