SOC Prime Bias: クリティカル

13 2月 2026 15:45

Cato CTRL 脅威調査:Foxveil – 新たなマルウェアローダがCloudflare、Discord、Netlifyをステージングインフラとして悪用

Author Photo
Ruslan Mikhalov SOC Primeの脅威リサーチ責任者 linkedin icon フォローする
Cato CTRL 脅威調査:Foxveil – 新たなマルウェアローダがCloudflare、Discord、Netlifyをステージングインフラとして悪用
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

Foxveilは2025年8月に初めて確認された、新たに識別された初期段階のマルウェアローダーです。これは“信頼された”ホスティング面(Cloudflare Pages、Netlify、Discordの添付ファイル)からDonutで生成されたシェルコードを取り込み、プロセスインジェクション技術を用いて実行します。持続性を保つために、ローダーはWindowsサービスを登録するか、Microsoft Defenderの設定を改ざんしようとします。観察された変異体では、主要な違いは、ステージングソース、インジェクションアプローチ、および持続性手法です。

調査

Catoの研究者はFoxveilの2つの変異体を分析し、シェルコードの取得、Early Bird APC(または直接の自己インジェクション)を通じた注入、AarSvcという名のサービスを通じた持続性というエンドツーエンドの流れを文書化しました。ドロップされた成果物は、C:WindowsSysWOW64の下で、正当なコンポーネントと馴染む名前で観察されました。ローダーはまた、静的検出を減らすために高信号用語を書き換えるストリング変異ロジックを含んでいます。ネットワークテレメトリーは、複数のCloudflareおよびNetlifyドメインへの接続を示し、時折、Discord添付ファイルURLからの取得が見られました。

緩和策

Cato SASEプラットフォームは、ダウンロード行動と疑わしいプロセス作成パターンを調査することで、ペイロード実行前にローダーをブロックしました。リスクを減らすには、既知のステージングドメインをブロックし、Foxveilのトレードクラフトに関連するインジェクション関連の行動について警報を発するようにします。信頼されていないスクリプトの実行を無効にし、Windows Defenderの除外設定に対するポリシーを強化して持続性の試行を制限します。誤検知を最小限にしつつカバレッジを保つために、正当なクラウドサービスの許可リストルールを最新の状態に保ちます。

対応策

Foxveilの活動が検出された場合、エンドポイントを分離し、悪意のあるプロセスを終了し、登録されたサービス(AarSvcを含む)を削除します。C:WindowsSysWOW64のフォレンジックレビューを実施し、ドロップされた実行ファイルのハッシュを収集して範囲を特定します。特定されたステージングドメインへのネットワークログを軸にし、それらをDNS/プロキシ層でブロックします。Early Bird APCインジェクションおよび自己インジェクションパターンの検出を展開し、影響を受けたホストを特定します。

<div class="wp-block-socprime-category-attack-flow attack-flow-class" data-title="Attack Flow" data-attack-flow="graph TB %% Class Definitions classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef tool fill:#99ccff classDef payload fill:#ccccff classDef operator fill:#ff9900 %% Node Definitions initial_execution["<b>Technique</b> – <b>T1574.005 Hijack Execution Flow: Executable Installer File Permissions Weakness</b><br/>Victim runs malicious EXE/DLL dropping the Foxveil loader."] class initial_execution technique staging_retrieval["<b>Technique</b> – <b>T1102.001 Web Service: Dead Drop Resolver</b> and <b>T1102 Web Service</b><br/>Foxveil contacts attacker‑controlled Cloudflare Pages, Netlify domains or Discord attachment links to download Donut‑generated shellcode."] class staging_retrieval technique in_memory_loading["<b>Technique</b> – <b>T1620 Reflective Code Loading</b><br/>Downloaded shellcode is loaded directly into memory without touching disk."] class in_memory_loading technique process_injection["<b>Technique</b> – <b>T1055.002 Portable Executable Injection</b> and <b>T1055.001 DLL Injection</b><br/>Foxveil v1 injects via Early‑Bird APC into a newly spawned svchost.exe process; Foxveil v2 self‑injects."] class process_injection technique persistence_service["<b>Technique</b> – <b>T1543 Create or Modify System Process</b><br/>Foxveil v1 registers a Windows service (AarSvc) for boot persistence."] class persistence_service technique masquerading["<b>Technique</b> – <b>T1036.005 Match Legitimate Resource Name or Location</b><br/>Dropped binaries named sms.exe, sihost.exe, taskhostw.exe, audiodg.exe, real1.exe placed in C:\Windows\SysWOW64."] class masquerading technique hide_artifacts["<b>Technique</b> – <b>T1564.012 File/Path Exclusions</b><br/>Attempts WMI call to MSFT_MpPreference to remove an exclusion for C:\Windows\SysWOW64."] class hide_artifacts technique obfuscation["<b>Technique</b> – <b>T1027.014 Polymorphic Code</b><br/>Runtime string‑mutation routine replaces high‑signal strings such as "fox", "payload", "meterpreter", "beacon"."] class obfuscation technique multistage_delivery["<b>Technique</b> – <b>T1104 Multi‑Stage Channels</b><br/>After initial shellcode execution, additional executables are downloaded from the same staging infrastructure (e.g., potential Cobalt Strike beacon)."] class multistage_delivery technique foxveil["<b>Malware</b> – Foxveil Loader<br/>Initial dropper that retrieves and loads shellcode."] class foxveil malware donut_shellcode["<b>Payload</b> – Donut generated shellcode<br/>Contains further malicious capabilities."] class donut_shellcode payload cobalt_strike["<b>Tool</b> – Potential Cobalt Strike beacon

graph TB %% Class Definitions classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef tool fill:#99ccff classDef payload fill:#ccccff classDef operator fill:#ff9900 %% Node Definitions initial_execution[“<b>技術</b> – <b>T1574.005 実行フローの乗っ取り: 実行ファイルインストーラのファイルパーミッションの弱点</b><br/>被害者が悪意のあるEXE/DLLを実行し、Foxveilローダーをドロップします。”] class initial_execution technique staging_retrieval[“<b>技術</b> – <b>T1102.001 Webサービス: デッドドロップリゾルバー</b> および <b>T1102 Webサービス</b><br/>Foxveilは攻撃者が制御するCloudflare Pages、Netlifyドメイン、またはDiscord添付リンクに接触し、Donutで生成されたシェルコードをダウンロードします。”] class staging_retrieval technique in_memory_loading[“<b>技術</b> – <b>T1620 リフレクティブコードローディング</b><br/>ダウンロードしたシェルコードはディスクに触れることなくメモリに直接ロードされます。”] class in_memory_loading technique process_injection[“<b>技術</b> – <b>T1055.002 ポータブル実行ファイルインジェクション</b> および <b>T1055.001 DLL インジェクション</b><br/>Foxveil v1はEarly-Bird APCを介して新たに生成されたsvchost.exeプロセスに注入します; Foxveil v2は自己注入します。”] class process_injection technique persistence_service[“<b>技術</b> – <b>T1543 システムプロセスの作成または変更</b><br/>Foxveil v1はブート持続性のためにWindowsサービス (AarSvc) を登録します。”] class persistence_service technique masquerading[“<b>技術</b> – <b>T1036.005 正当なリソース名または場所との一致</b><br/>ドロップされたバイナリはsms.exe、sihost.exe、taskhostw.exe、audiodg.exe、real1.exeの名前でC:\Windows\SysWOW64に配置されます。”] class masquerading technique hide_artifacts[“<b>技術</b> – <b>T1564.012 ファイル/パス除外</b><br/>C:\Windows\SysWOW64の除外を解除するためにMSFT_MpPreferenceへのWMI呼び出しを試みます。”] class hide_artifacts technique obfuscation[“<b>技術</b> – <b>T1027.014 ポリモーフィックコード</b><br/>ランタイムのストリング変異ルーチンは「fox」、「payload」、「meterpreter」、「beacon」などの高信号ストリングを置き換えます。”] class obfuscation technique multistage_delivery[“<b>技術</b> – <b>T1104 マルチステージチャンネル</b><br/>初期シェルコード実行後、追加の実行ファイルが同じステージングインフラストラクチャからダウンロードされます(例: ポテンシャルCobalt Strikeビーコン)。”] class multistage_delivery technique foxveil[“<b>マルウェア</b> – Foxveil ローダー<br/>シェルコードを取得してロードする初期ドロッパー。”] class foxveil malware donut_shellcode[“<b>ペイロード</b> – Donutで生成されたシェルコード<br/>さらなる悪意のある機能を含んでいます。”] class donut_shellcode payload cobalt_strike[“<b>ツール</b> – ポテンシャルCobalt Strikeビーコン<br/>後のステージでダウンロードされ、コマンド&コントロール用に使用されます。”] class cobalt_strike tool %% Connections initial_execution –>|ドロップ| foxveil foxveil –>|取得| staging_retrieval staging_retrieval –>|ダウンロード| donut_shellcode donut_shellcode –>|ロード経由| in_memory_loading in_memory_loading –>|実行| process_injection process_injection –>|可能にする| persistence_service foxveil –>|行う| masquerading foxveil –>|行う| hide_artifacts foxveil –>|行う| obfuscation process_injection –>|につながる| multistage_delivery multistage_delivery –>|ダウンロード| cobalt_strike cobalt_strike –>|提供| persistence_service

攻撃フロー

シミュレーション実行

前提条件: テレメトリーとベースラインの事前確認が合格していること。

根拠: このセクションでは、検出ルールをトリガーするように設計された敵対者の技術 (TTP) の正確な実行を詳細に説明します。コマンドや説明は、識別されたTTPを直接反映し、検出ロジックが期待する正確なテレメトリーを生成することを目的としなければなりません。

  • 攻撃の説明とコマンド

    1. 偵察: 攻撃者はFoxveilステージングドメインを取得しました syscore.pages.dev から漏洩した認証情報のダンプ。
    2. ステージ1 – DNS解決: ネイティブWindowsツールを使用して、攻撃者はステージングドメインを解決し、悪意のあるペイロードホストのIPアドレスを取得します。このステップは実際のマルウェアの振る舞いを反映し、観測可能なトリガーです。
    3. ステージ2 – ペイロード取得 (テストでは実行しない): 実際の攻撃では、解決されたIPを使用してHTTP経由で第2段階のペイロードをダウンロードします。検出の検証の目的のためには、DNS解決のみが必要です。
  • 回帰テストスクリプト

    <# 
    Foxveilステージングドメイン解決をシミュレートします。
    このスクリプトは、既知のFoxveilドメインに対してDNSクエリを実行し、
    Sigmaルールが監視する正確なテレメトリーを生成します。
    #>
    
    # ステージングドメインを定義する(ルールのホワイトリストから選択)
    $stagingDomain = "syscore.pages.dev"
    
    # ドメインを解決する – これにより、DNSクエリイベントが生成されます
    try {
        $result = Resolve-DnsName -Name $stagingDomain -Type A -ErrorAction Stop
        Write-Host "Resolved $stagingDomain to $($result.IPAddress)"
    } catch {
        Write-Error "DNS resolution failed: $_"
    }
    
    # オプション: ログパイプラインがイベントを処理するのを確認するために一時停止
    Start-Sleep -Seconds 5
  • クリーンアップコマンド

    # 解決済みエントリを削除するためにDNSキャッシュをフラッシュする(後続のテストへのキャッシュ効果を防ぐため)
    ipconfig /flushdns
    Write-Host "DNS cache flushed."