WordPressのWP-VCDマルウェア感染を完全に削除する方法【症状・原因・対策を徹底解説】
WP-VCDマルウェアは、wp-vcd.phpというファイル名にちなんで命名された、WordPress業界で猛威を振るう悪質なマルウェアです。セキュリティ研究者によって初めて検出されてから1年以上が経過した今も、このマルウェアは進化を続け、ますます巧妙化しています。本記事では、この悪名高いマルウェアの変遷に関する調査結果をもとに、サイトへの感染を修復し、今後の感染を予防するための具体的な方法を詳しく解説します。
WP-VCDマルウェアの主な症状
1. 管理画面に不正な管理者ユーザーが追加される:ハッカーが管理者権限を持つユーザーとしてWordPressに自分自身を登録するケースが確認されています。
2. サーバーリソースの大量消費:WP-VCDマルウェアはサーバーのリソースを大量に消費することで知られています。実際に、「リソースの過剰使用」を理由にホスティング会社からアカウントを停止された事例も報告されています。
3. サイト表示速度の大幅な低下:このマルウェアに感染したサイトでは、ページの読み込み時間が著しく悪化します。通常2〜3秒で表示されていたサイトが、30秒以上かかるようになったケースさえあります。
4. 見覚えのないJavaScriptコードの混入:functions.phpやindex.phpといった重要なWPファイル、あるいはほぼすべてのWPコアファイルに、不明なJavaScriptコードが挿入されるケースがあります。後者の場合は修復が非常に困難で、サイトが悪意のあるドメインへ強制リダイレクトされることも少なくありません。
5. コアディレクトリ内の悪意あるPHPコード:「WP-VCD」というコードがWordPressのさまざまな場所に追加されます。これがマルウェア名の由来です。ファイル名だけを見るとWordPress本体の一部のように思えますが、コードを解析するとマルウェアであることが判明します。
以下は、wp-includesディレクトリに巧妙に隠されていたWP-VCDマルウェアの例です(Astra Securityのマルウェアスキャナーによる検出)。
WP-VCDウイルスに感染する主な原因
感染してしまった場合は、速やかに感染を除去し、今後のためにWordPressを堅牢に保つことが不可欠です。同時に、そもそもどのような経路で感染したのかを把握することも同じくらい重要です。これまでに特定されている主な侵入経路は以下の通りです。
- 海賊版(ヌル化)テーマ・プラグイン:WP-VCDマルウェアは、有料テーマや有料プラグインの海賊版にあらかじめ組み込まれていることがあります。こうした不正コピーされたテーマやプラグインには悪意あるスクリプトが含まれており、インストールした瞬間に展開されます。
テーマを通じてサイトに侵入した後、マルウェアはサイト上の他のすべてのテーマへと感染を広げていきます。共有サーバーの場合、さらにサーバー上の保護されていない全サイトへと感染が拡大します。コンテナ化されていない限り、同一サーバー上のすべてのサイトが感染するのはこのためです。 - 更新されていないプラグイン・テーマ:これはWordPress感染のほぼすべてのケースに関わる最大の要因の一つです。ただし、感染後にテーマやプラグインを更新しても、感染そのものは解消されません。クリーンアップ作業は必須であり、プロアクティブなセキュリティ確保につながります。
- プロアクティブなセキュリティ対策の欠如:正直なところ、ハッカーの手法は年々高度化しています。彼らはこれらの攻撃で何千ドルもの利益を得ているため、攻撃の自動化に何百ドルも投資し、数千〜数百万のサイトに一斉に感染させることが可能です。
こうした高度化したWordPressへの攻撃から身を守るには、セキュリティツールへの小さな投資が大きな効果を発揮します。トラブル発生時の頭痛の種を減らせるだけでなく、ダウンタイムによるSEO・マーケティング・売上の損失を防げる点も大きなメリットです。
WP-VCDマルウェアはどのように動作するのか?
ここからは少し技術的な内容になりますが、非常に重要なポイントです。
WP-VCDが具体的に何を行い、どうやってサーバーの貴重なリソースを食い潰してサイトを低速化させるのかを理解することが極めて重要です。
悪意あるコードがサイトに挿入されると、通常はfunctions.phpやindex.phpなどのコアファイル内に配置されます。この悪意あるコードはサイト内のファイルを呼び出します。ブラウザからサイトを開くと、マルウェアが呼び出す対象のファイルへのアクセスが試みられます。そして、そのファイルが存在してもしなくても、functions.phpが再度実行されます。これは要するに、サイトの読み込みプロセスを無限ループさせる動作です。セキュリティ用語ではこれを「フォークボム(fork bomb)」と呼びます。
ステップ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-encoded string of PHP code)
...
このコードは100010010のような名前の新しい管理者ユーザーを作成します。この不正な管理者アカウントの目的は、仮に悪意あるコードを削除してもハッカーがサイトへアクセスできる状態を維持し、後日再び攻撃できるようにしておくことです。
ステップ3:ハッカーからの指示の受信
ハッカーはC2サーバー(Command & Controlサーバー)のURLを注入することがあります。これらのURLは、感染した複数のサイトに対して一括で操作を実行するために呼び出されます。www.krilns[.]com/code.php、krilns[.]pw、krilns[.]topなどのドメインが、WP-VCDに感染した多くのサイトでこの動作を行っていたことが確認されています。
ステップ4:他ファイル・他サイトへの感染拡大
次にWP-VCDマルウェアが行うのは感染の拡大です。サイト内のすべてのテーマとプラグインに悪意あるスクリプトを配置した後、同じサーバー上の脆弱なサイトを探し出し、そこにも感染を広げます。
この感染拡大は、wp-includes/wp-vcd.phpに配置されたスクリプトの実行から始まります。続いて、wp-includes/post.phpのコアファイルが改変され、最終的にすべてのページでwp-vcd.php内のコードが実行される仕組みです。
WP-VCDマルウェアの修復・削除方法
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リポジトリまたはテーマ・プラグインの公式ディレクトリにある対応ファイルとの差分チェックを実施しましょう。SSHまたはIDEを使って、いずれか一方(または両方)の手法で確認できます。

(ファイル差分チェックの様子。Astraのマルウェアスキャナーによるスクリーンショット。index.phpの先頭に挿入されたマルウェアが表示されている)
5. マルウェアスキャンの実行:このようなマルウェア感染の状況では、マルウェアスキャナーを活用すれば、手作業での長時間の捜索(それでも成功する保証はありません)を回避できます。優れたスキャナーはサーバー上のすべてのファイルをスキャンするだけでなく、WordPressコアファイルのわずかな差異までも確実に検出・報告してくれます。
WP-VCDマルウェアは、古いプラグインやテーマの脆弱性を突いてサイトに侵入します。多くの場合、サイト運営者自身が許可されていないソースから無料版や海賊版のプラグイン・テーマをインストールすることで感染していますが、感染済みサイトからの汚染が原因となるケースもあります。
関連ガイド:WordPressセキュリティ完全ガイド
こうしたハッキング被害から学べる最大の教訓は、今後もサイトを安全に保ち続けることの重要性です。Astra Security Suiteは世界中の何千ものサイトを守り、毎日何百万もの攻撃やマルウェアを阻止しています。二度と同じ被害に遭わないために、プロアクティブなセキュリティ対策を今すぐ始めましょう。
-
WordPressのWP-VCDマルウェア感染を完全に削除する方法【症状・原因・対策を徹底解説】
WP-VCDマルウェアは、wp-vcd.phpというファイル名にちなんで命名された、WordPress業界で猛威を振るう悪質なマルウェアです。セキュリティ研究者によって初めて検出されてから1年以上が経過した今も、このマルウェアは進化を続け、ますます巧妙化しています。本記事では、この悪名高いマルウェアの変遷に関する調査結果をもとに、サイトへの感染を修復し、今後の感染を予防するための具体的な方法を詳しく解説します。 WP-VCDマルウェアの主な症状 1. 管理画面に不正な管理者ユーザーが追加される:ハッカーが管理者権限を持つユーザーとしてWordPressに自分自身を登録するケースが確認されていま
-
ウェブサイトのバックドアを見つけて削除する方法|検出から再発防止まで徹底解説
実際のところ、バックドアは開発者がサイトへ正当にアクセスするための手段として利用されることもあります。しかし、作成したのが開発者であれハッカーであれ、バックドアは常にサイトのセキュリティにおける潜在的な脅威となるのです。 ウェブサイトのバックドアを検出するには? 一般に、ウェブサイトのバックドア検出は決して簡単な作業ではありません。バックドアは正常なファイルやデータベースの間に極めて巧妙に隠されているからです。ほとんどのバックドアは正規のコードと見分けがつかない形で記述されており、まさにその性質によって管理者の注意を巧みにかわすのです。 ここからさらに踏み込み、実際にどのような種類のバックド