ネットワークセキュリティ
 Computer >> コンピューター >  >> ネットワーキング >> ネットワークセキュリティ

【完全ガイド】WordPressのWP-VCDマルウェアを削除・駆除する方法

WP-VCDマルウェアは、wp-vcd.phpファイルにちなんで名付けられた悪意のあるプログラムで、WordPressコミュニティに深刻な被害をもたらしています。セキュリティ脅威インテリジェンスチームによって初めて検出されてから1年以上が経過した今も、このマルウェアは進化を続け、より巧妙になっています。本記事では、この悪名高いマルウェアの進化に関する調査結果とともに、ウェブサイトへのWP-VCD感染の修正・予防方法について詳しく解説します。

WP-VCDマルウェアの主な症状

  1. 不正な管理者ユーザーの追加: ハッカーが自分自身を管理者権限を持つユーザーとしてWordPressに登録している事例が多数確認されています。

  2. サーバーリソースの大量消費: WP-VCDマルウェアはサーバーリソースを大量に消費することで知られています。「リソース使用率が高い」ことを理由に、ホスティング会社からアカウントを停止されたケースも報告されています。

  3. サイト表示速度の低下: 感染したサイトの読み込み時間は大幅に悪化します。通常2〜3秒で表示されるサイトが、30秒以上かかるようになった極端な事例もあります!

  4. 不明なJavaScriptコード: functions.phpやindex.phpなどの重要なWPファイル、さらにはほぼすべてのコアファイルに、見覚えのないJavaScriptコードが追加されていることがあります。後者の場合は修復が非常に困難で、悪意あるドメインへのリダイレクトにつながることもあります。

  5. コアフォルダ内の悪意あるPHPコード: 「WP-VCD」というコードがWordPress内のさまざまな場所に挿入されます。マルウェアの名称はここに由来します。ファイル名だけを見るとWordPress本体の一部のように見えますが、コード解析を行うとマルウェアであることが判明します。

    以下は、wp-includesディレクトリ内に巧みに隠されたWP-VCDマルウェアをAstra Securityのマルウェアスキャナーが検出した例です。

    【完全ガイド】WordPressのWP-VCDマルウェアを削除・駆除する方法

WP-VCDウイルス感染の主な原因

一度感染してしまうと、感染を完全に除去し、今後もWordPressを堅牢に保つことが不可欠です。同時に、そもそも何が感染源だったのかを把握することも同じくらい重要です。確認されている主な侵入経路は以下の通りです。

  • 海賊版・ヌル化(nulled)テーマ: WP-VCDマルウェアは、有料テーマやプラグインの海賊版にあらかじめ仕込まれています。これらのヌル化(違法コピー)されたテーマやプラグインには、インストール時に展開される悪意あるスクリプトが含まれています。

    ヌル化テーマ経由でサイトに侵入した後、マルウェアはサイト上の他のすべてのテーマへと感染を広げます。共有サーバーの場合、さらにそのサーバー上の保護されていないすべてのサイトへと拡散します。そのため、コンテナ化されていない環境では、同一サーバー上の全サイトがまとめて感染するケースが頻繁に見られます。

  • 未更新のプラグイン・テーマ: これは、ほぼすべてのWordPress感染における最大の原因の一つです。ただし注意が必要なのは、感染後にすべてのテーマやプラグインを更新しても、感染が消えるわけではないという点です。感染の除去と、後述するプロアクティブなセキュリティ対策が引き続き必要です。

  • サイトのプロアクティブなセキュリティ不足: 正直なところ、ハッカーは長年にわたり攻撃手法を進化させてきました。彼らはこうしたハッキングから数千ドルを得ているため、その一部を使って攻撃を自動化し、数千〜数百万のサイトへ一括で感染させることが可能です。

    このような高度化したWordPressハッキング手法から身を守るには、セキュリティツールへの少額の投資が大きな効果を発揮します。トラブル対応の手間から解放されるだけでなく、ダウンタイムによるSEO・マーケティング・売上の損失を防げる点も大きなメリットです。

WP-VCDマルウェアはどのように動作するのか?

[ここからは技術的(しかし非常に重要)な内容になります]

WP-VCDが具体的に何をするのか、そしてどうやって貴重なサーバーリソースを食い潰しながらサイトを遅くさせるのかを理解することは、効果的な対処のために非常に重要です。

悪意あるコードがサイトに挿入されると、通常はfunctions.phpやindex.phpといったコアファイルに潜みます。この悪意あるコードは、サイト内のファイルに対して呼び出しを行います。ブラウザからサイトが開かれると、マルウェアが呼び出すファイルへのアクセスが試みられます。これらのファイルは存在する場合もあれば存在しない場合もあり、存在しない場合はfunctions.phpが再度実行されます。結果として、サイトの読み込みプロセスが巨大な無限ループに陥ります。セキュリティ用語では、これを「forkbomb(フォークボム)」と呼びます。

【完全ガイド】WordPressのWP-VCDマルウェアを削除・駆除する方法

ステップ1:悪意あるスクリプトの展開

テーマ内のfunctions.phpファイルに、以下のようなコードが見られることがあります:

<?php if (file_exists(dirname(__FILE__) . '/<b>class.theme-modules.php</b>')) <b>include_once</b>(dirname(__FILE__) . '/<b>class.theme-modules.php</b>'); ?>

このコードは、展開用スクリプトが存在するかどうかを確認し、存在すれば実行します。上記のコードで呼び出されているのはclass.theme-modules.phpファイルです。感染元(テーマかプラグインか)に応じて、悪意あるスクリプトはそれぞれclass.theme-modules.phpまたはclass.plugin-modules.phpに配置されます。

ステップ2:バックドアの作成

<?php
 
//install_code1
error_reporting(0);
ini_set('display_errors', 0);
DEFINE('MAX_LEVEL', 2); 
DEFINE('MAX_ITERATION', 50); 
DEFINE('P', $_SERVER['DOCUMENT_ROOT']);

$GLOBALS['<b>WP_CD_CODE</b>'] = 'PD9waHANCmVycm9y...(base64エンコードされたPHPコード)
...

このコードは、100010010のような数字列の名前を持つ新しい管理者ユーザーを作成します。このバックドア管理者アカウントの目的は、仮に悪意あるコードを削除してもハッカーがサイトへアクセスできる状態を維持すること、すなわち攻撃者が後日再びサイトを攻撃できるようにしておくことにあります。

ステップ3:ハッカーからの指示を受信

ハッカーはC&C(C2)サーバーのURLを注入することがあります。これらのURLは後から呼び出され、感染したサイト全体に対して一括で操作を実行します。www.krilns[.]com/code.phpkrilns[.]pwkrilns[.]topなどのドメインが、WP-VCD感染サイトでこの動作を行っているのが確認されています。

ステップ4:他のファイルやサイトへの感染拡大

次にWP-VCDマルウェアが行うのは自己増殖です。サイト上のすべてのテーマとプラグインに悪意あるスクリプトを展開します。さらに、同一サーバー上の脆弱なサイトを探し出し、それらにも感染を広げます。

この伝播は、wp-includes/wp-vcd.phpにあるスクリプトの展開から始まります。続いて、コアファイルであるwp-includes/post.phpが改変され、最終的にすべてのページでwp-vcd.phpのコードが実行されることになります。

WP-VCD WordPressマルウェアの修正・削除方法

  1. 悪意あるコードの発見と削除: 悪意あるコードが見つかる可能性が高い場所がいくつかあります。ハッカーはマルウェアをより巧妙に隠そうと工夫を凝らしていますが、まずはサーバー上の以下のファイル/フォルダから調査を始める価値があります:

    • wp-includes/wp-vcd.php
    • wp-includes/wp-tmp.php
    • wp-content/themes/*/functions.php(稼働中かどうかにかかわらず、サーバーにインストール済みの全テーマ)
    • class.wp.php
    • code1.php
    • class.theme-modules.php (テーマフォルダ内)

  2. 悪意ある文字列パターンの検索: 感染ファイルに含まれる文字列パターンを検索することで、調査範囲を効率的に絞り込めます。以下がその例です:

    • tmpcontentx
    • function wp_temp_setupx
    • wp-tmp.php
    • derna.top/code.php
    • stripos($tmpcontent, $wp_auth_key)

  3. functions.phpの分析: このファイルはハッカーに最も狙われやすいファイルの一つです。functions.phpのコードを入念に確認することで、wp-vcdマルウェアの制御コードが明らかになることがあります。

  4. 差分チェックでコードの正当性を確認: サーバー上のファイル内容と、WordPressコアのGitHubリポジトリまたはテーマ/プラグインの公式ディレクトリにある対応ファイルとの差分チェック(diffチェック)を実行しましょう。SSHを使用する方法とIDEを使用する方法のどちらか(または両方)が利用できます。

    【完全ガイド】WordPressのWP-VCDマルウェアを削除・駆除する方法
    (ファイル差分チェック。Astraのマルウェアスキャナーのスクリーンショットで、index.phpファイルの先頭に追加されたマルウェアを表示)

  5. マルウェアスキャンの実行: このようなマルウェア感染の状況では、マルウェアスキャナーが何時間にも及ぶ手作業での捜索時間を大幅に節約してくれます(それでも成功は保証されません)。マルウェアスキャナーはサーバー上のすべてのファイルをスキャンするだけでなく、WordPressコアファイルのあらゆる差異を正確に指摘してくれます。
【完全ガイド】WordPressのWP-VCDマルウェアを削除・駆除する方法

WP-VCDマルウェアは、古いプラグインやテーマの脆弱性を突いてサイトに足場を築きます。多くのWP-VCD感染事例では、サイト所有者自身が信頼できないソースから無料/ヌル化されたプラグインやテーマをインストールすることで自己感染しています。一方、感染済みサイトからの汚染が原因となるケースもあります。

関連ガイド – WordPressセキュリティ総合ガイド
ヒント:WordPressをマルウェアコードがないかスキャンする

こうしたハッキングから学べる最大の教訓は、今後もサイトを安全に保つことの重要性です。世界中の数千のサイトのセキュリティを支え、毎日数百万件の攻撃とマルウェアを阻止しているAstra Security Suiteを活用すれば、このようなハッキング被害に遭うことは十分に防げます。

  1. WordPressのJavaScriptマルウェアを削除する方法|原因の特定から対策まで完全解説

    WordPressのJavaScriptマルウェア除去の手法をご紹介する前に、まずJavaScriptとは何か、そしてWordPressサイトにおいてどのような役割を果たしているのかを簡単に確認しておきましょう。 ご存知でしたか?JavaScriptは、世界中のウェブサイトの94.5%で使用されているウェブ技術です。Webページのカスタマイズ、アニメーション、レスポンシブ対応など、ページを動的にする要素はすべてJavaScriptで実現できます。さらに、Node.jsのようなクロスプラットフォームのランタイムエンジンを使えば、サーバーサイドのコードも記述可能です。そして最大の魅力は、HTML

  2. Discordマルウェアとは?感染経路と完全な削除方法を徹底解説

    多くのユーザーに愛用されているボイスチャットアプリ「Discord」が、深刻な脅威であるRAT(Remote Access Trojans/リモートアクセストロイの木馬)の標的になっています。サイバー犯罪者は主に悪意のあるリンクを通じてこうしたマルウェアを拡散しており、一度デバイスに侵入されると、ハッカーが管理者権限を取得し、あなたの操作を監視したり、データを盗み出したり、さらには意図しない行動を引き起こすことさえ可能になります。最悪の場合、追加のマルウェアを仕込まれ、デバイスがボットネットの一部として他のウイルス拡散に利用される恐れもあります。 脅威の概要 関連情報 名称: