ワードプレスに感染するマルウェアファイルの特徴をいくつかご紹介します。このようなファイルがサーバー上にあった場合、マルウェアである可能性が高いことになります。
この記事の目次
ランダムなファイル名、もしくはワードプレスのコアファイルと少し違ったファイル名
ワードプレスに感染しているマルウェアファイルは、正規のファイルに埋め込まれるタイプのものと、単体で存在するタイプのものがございます。
単体で存在するタイプのマルウェアの場合、本来正規のワードプレスやプラグインのファイルにはない下記のようなランダムな文字列のファイルとして設置されている場合が多いです。
hfyrju.php .7tyuguijs789.ico
また発覚を避けるためにワードプレスに含まれるファイル名を少し変えたファイル名で設置されていることもあります。
wp-conflg.php ← 本来のファイル名はwp-config.php wp-signin.php ← 本来のファイル名はwp-signup.php
難読化処理されている
難読化処理とは、PHPやJAVASCRIPTのソースコードをぱっと見何をやっているのかがわからないように、人間に読みにくくする手法です。
マルウェアファイルの99%以上がこの処理を施されています。(テーマやプラグインによってはセキュリティー上の理由や、ライセンス発行のプログラムが難読化されている場合もあり、難読化処理されているからと言って必ずしもマルウェアとは限らないこともあります。)
ただ、正規のワードプレスのコアファイルに寄生しているタイプのマルウェアでかつ難読化されている場合は感染している可能性が非常に高いかと思います。(ワードプレスのコアファイルには難読化したプログラムが含まれない為です)
難読化されているマルウェアコードの例
※難読化したプログラムファイルはhttps://php-decoder.site/ で難読化解除できる場合があります。
base64,evalという文字列が含まれる
マルウェアで最もよく使われる関数がのこbase64とeval関数です。base64は前述の難読化の処理に使われることが多く、evalはテキストをプログラムとして実行する関数となりますので、難読化したプログラムの文字列を実際に実行する際によく使われます。
この二つの文字列がプログラム中に1つ以上含まれる場合は、高確率でマルウェアであることが疑われます。
1行でフルパスでファイルを読み込むinclude文
この場合のマルウェアの内容は下記のようなものとなります。
@include("/var/www/....../.da6t6gufjid79as.ico")
この文字列は難読化されている場合もあります。一般的には、全てのサーバーでワードプレスは動作するようにできていますので、このようなフルパスのインクルード(読み込み文)がプログラムに含まれていることはないのです。この為、フルパスが含まれているコードがサーバー上にあれば、マルウェア感染が疑われます。
テーマに含まれるheader.phpやfooter.phpはワードプレスサイトの全頁で読み込まれますのであなたのサイトにアクセスしてきたユーザーを不正なサイトに強制移動するタイプのリダイレクトハックの為の不正なコードが仕込まれるのによく使われます。
テーマのheader.phpやfooter.phpに身に覚えのない外部スクリプトが読み込まれている場合、改ざんされて不正なJAVASCRIPTコードが埋め込まれている可能性があります。
上記のようなマルウェアはサーバー内にあるマルウェアを一括検査できるプラグイン
【無料】ワードプレス:マルウェアスキャン&セキュリティープラグイン [マルウェア・ウィルス検出と駆除]
で検査できます。お試しください。