SOC Prime Bias: 中程度

05 Jan 2026 16:10 UTC

新型VVS Stealerマルウェアが難読化されたPythonコードを介してDiscordアカウントを標的に

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon フォローする
新型VVS Stealerマルウェアが難読化されたPythonコードを介してDiscordアカウントを標的に
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

VVS Stealerは、Telegramで販売されている新しく観測されたPythonベースの情報スティーラーです。Pyarmorで難読化され、PyInstallerでパッケージ化され、Windowsのスタートアップフォルダ経由で持続化します。このマルウェアはDiscordトークン、ブラウザの資格情報、クッキー、履歴、パスワード、スクリーンショットを収集します。また、アクティブなDiscordセッションをハイジャックするために悪意のあるJavaScriptペイロードを注入することも可能です。

調査

Palo Alto Networks Unit 42は、このマルウェアを開示し、2025年4月から販売されていると指摘しました。研究者たちは、その難読化技術、配布モデル、資格情報の窃取やDiscord注入を含む機能を説明しました。このレポートは、スティーラーに焦点を当てたTelegramグループで活動するフランス語を話す脅威アクターにツールを関連付けています。

緩和策

組織は、未知のPyInstaller実行ファイルとスタートアップフォルダ内の予期しないショートカットを監視するべきです。難読化されたPythonスクリプトや疑わしいJavaScriptペイロードのエンドポイント検出ルールを展開します。Discordやブラウザアカウントに多要素認証を強制し、資格情報収集が悪用される可能性のある管理権限を制限します。

対応

VVS Stealerが検出された場合、影響を受けたエンドポイントを隔離し、メモリおよびファイルアーティファクトを収集し、IOCを抽出します。悪意のあるスタートアップエントリを削除し、注入されたDiscordプロセスを終了し、侵害されたアカウントのパスワードを強制的にリセットします。追加の盗まれた資格情報を見つけるために完全なフォレンジック調査を実施し、リモートC2インフラストラクチャがブロックされていることを確認します。

攻撃フロー

シミュレーション実行

前提条件: テレメトリおよびベースラインのプレフライトチェックに合格していること。

根拠: このセクションは、攻撃者の手法(TTP)の正確な実行を説明し、検出ルールを発動するように設計されています。コマンドと説明は、識別されたTTPを直接反映し、検出ロジックによって期待された正確なテレメトリを生成することを目的とします。抽象的または無関係な例は、誤診につながります。

  • 攻撃の説明およびコマンド:
    攻撃者は、Windowsワークステーションで低権限ユーザーアカウントを侵害しました。PowerShellドロッパーを使用して、PyInstallerでパッケージ化された悪意のある実行ファイル(VVS_Stealer.exe)を起動し、まずコマンドラインに“PyInstaller”を含むプロセスを生成します。このペイロードは、その後トークンスティーリングの注入ステージに備えて実行中のDiscordクライアントを強制終了します。すべてのアクションは現在のユーザーコンテキストの下で行われ、一つの プロセス生成 イベントがルールの基準に一致する形で生成されます。

    ステップバイステップ:

    1. 悪意のあるPyInstallerバンドルを %TEMP%.
    2. にコピーします。
    3. “PyInstaller”という言葉を明示的に含むコマンドラインでそれを実行します。 その悪意のあるバイナリは内部的に その悪意のあるバイナリは内部的に
    4. を呼び出してDiscordを終了します。 プロセス生成 終了は、 イメージ フィールドがDiscordの実行ファイルパス(C:Users<user>AppDataLocalDiscordapp-... Discord.exe)に解決され、元の生成コマンドラインが“PyInstaller”を依然として含んでいる
  • イベントを生成します。 回帰テストスクリプト: notepad.exe プロセスを起動しますが、 PyInstallerでパッケージ化された実行ファイルである かのように振る舞い、コマンドラインにキーワードを埋め込みます。また、Discordプロセスを終了して“Image endswith Discord.exe”という条件を模倣します。

    # -------------------------------------------------
    # シミュレーションスクリプト – Sigmaルール #f63685c4-feea-431b-a749-55cf8661e6ac をトリガー
    # -------------------------------------------------
    
    # 1. Discordが実行中であることを確認します(オプション、停止を保証するために)。
    $discordPath = "$env:LOCALAPPDATADiscordapp-1.0.9005Discord.exe"
    if (-Not (Get-Process -Name "Discord" -ErrorAction SilentlyContinue)) {
        Start-Process -FilePath $discordPath -WindowStyle Hidden
        Start-Sleep -Seconds 5
    }
    
    # 2. コマンドラインに「PyInstaller」を含むダミープロセスを起動します。
    #    無害なプレースホルダとして、notepad.exeを使用。
    $dummyCmd = "C:WindowsSystem32notepad.exe"
    $cmdLine = "PyInstaller_dummy_execution -run $dummyCmd"
    Start-Process -FilePath $dummyCmd -ArgumentList $cmdLine -WindowStyle Hidden
    Write-Host "[+] PyInstallerキーワードを含むダミープロセスを起動しました。"
    
    # 3. Discordをすぐに終了してDiscord.exeイメージイベントを生成します。
    if (Get-Process -Name "Discord" -ErrorAction SilentlyContinue) {
        Stop-Process -Name "Discord" -Force
        Write-Host "[+] Discord.exeを終了しました。"
    }
    
    # 4. オプション: 短時間後にダミーのノートパッドウィンドウをクリーンアップします。
    Start-Sleep -Seconds 8
    Get-Process -Name "notepad" -ErrorAction SilentlyContinue | Stop-Process -Force
    Write-Host "[+] クリーンアップ完了。"
  • クリーンアップコマンド: 以下のPowerShellスクリプトは、検出ルールを発動するために必要な正確なテレメトリを再現します。これは意図的に本物の悪意のあるペイロードを避け、代わりに無害な

    残存プロセスが残っていないことを確認します。