VVS Stealer(VVS $tealerとも呼ばれる)として知られるマルウェアの詳細な技術分析がオンラインで公開されました。このデータ窃取ツールはPythonで書かれており、主にDiscordユーザーを標的としています。トークン、認証情報、ブラウザデータを吸い上げ、アクティブなセッションを乗っ取ることも可能です。このマルウェアはTelegramを通じて積極的に宣伝され、少なくとも2025年4月以降販売されており、一定期間は開発が特に活発だったようです。
Palo Alto NetworksのUnit 42の研究者は、VVS Stealerの決定的な特徴は高度な難読化戦略にあると指摘しています。マルウェアのコードは、正当な知的財産保護を目的として作られたPython難読化ツールPyArmorによって保護されています。しかしこのケースでは、解析を大幅に困難にし、シグネチャベースのセキュリティ防御を回避するために用いられています。攻撃者にとって扱いやすいPythonという特性と相まって、VVS Stealerは効果的かつステルス性の高いマルウェアファミリーとなっています。
このマルウェアは、埋め込みPythonバイトコードを含むPyInstallerバンドルとして配布されます。アナリストは丹念にペイロードを抽出し、正しい.pycファイルヘッダーを再構築してコードを逆コンパイルし、可読なPythonソースを復元しました。さらに複雑さを増しているのがPyArmorのBCCモードで、Python関数の一部がCコードに変換され、別個のELFファイルに格納された機械命令としてコンパイルされます。Pythonコードとこれらのコンパイル済み関数の結び付けは、意図的かつ慎重に隠蔽されています。
難読化の全レイヤーを取り除くと、VVS Stealerが非常に幅広い機能セットを備えていることが明らかになりました。主な狙いは、LevelDBファイル内にある暗号化されたDiscordトークンを見つけ出し、Windowsのシステム機構を用いて復号し、それを利用してDiscord APIとやり取りすることです。これにより、メールアドレス、電話番号、フレンドリスト、サーバー、Nitroサブスクリプション状況、支払い方法、二要素認証設定など、詳細なアカウント情報を収集できます。収集されたデータはすべてDiscordのWebhookを介して攻撃者へ送信されます。
特に注目すべきは、このマルウェアがDiscordクライアントに自己注入できる点です。実行中のDiscordプロセスを終了させ、JavaScriptファイルを置き換え、ユーザー活動を監視する難読化スクリプトを埋め込みます。このスクリプトは、パスワード変更、支払い情報の追加、バックアップコードの閲覧を傍受し、その情報を密かに攻撃者へ送信できます。その後Discordは再起動され、ユーザーは通常、改ざんに気づきません。
Discord以外にも、VVS StealerはChrome、Edge、Firefox、Opera、Brave、Vivaldi、Yandex Browserなど、幅広い人気ブラウザからデータを収集します。パスワード、Cookie、閲覧履歴、自動入力データを抽出し、アーカイブに圧縮して、同じ流出チャネルで送信します。永続化のために、このマルウェアは自身をWindowsのスタートアップディレクトリにコピーし、システム再起動後やDiscordの再インストール後でも生き残れるようにします。
活動をさらに隠すため、VVS Stealerはコンピューターの再起動を促す偽の重大エラーメッセージを表示します。これによりシステム障害のように見せかけ、マルウェアの実際の動作から注意をそらします。注目すべき点として、このサンプルには内蔵のキルデートが含まれており、2026年10月末以降は実行を停止します。
研究者は、VVS Stealerが、正当なコード保護ツールがステルス性が高く解析困難なマルウェアを作るためにますます転用されている現状を鮮明に示していると強調しています。その出現はセキュリティ専門家にとって新たな警告サインであり、広く利用されるオンラインサービス全体で、認証情報の窃取やアカウント侵害に対する監視強化の必要性を浮き彫りにしています。
翻訳元: https://meterpreter.org/the-discord-hijacker-vvs-stealer-uses-pyarmor-to-evade-edr/