2020年9月4日、当ウェブサイトとクライアント様を含む複数のウェブサイトで使用しているWordPress(ワードプレス)プラグインの脆弱性を利用したと思われるサイトの改ざんが見つかりました。9月1日頃より世界的に広まった攻撃のひとつで、数十万件のサイトに影響があると言われています。

当該プラグインの脆弱性の概要については以下の記事をご覧ください。

WordPress 用プラグイン File Manager の脆弱性について
https://www.jpcert.or.jp/newsflash/2020090301.html

WordPressに対する新たなサイバー攻撃、検出 - 悪意あるコードでユーザー追加 | マイナビニュース
https://news.mynavi.jp/article/20200831-1262584/

9月3日の夕方頃にハッキングしたと思われ、9月4日の発見から9月5日までにサーバの除染作業を行いました。現在は元通り復旧しております。
なお、この件については地元警察のサイバー犯罪課へ問い合わせをして、ダウンロードした不正ファイル群とアクセスログ(9/1〜9/6までの生ログ)を資料として提供させていただきました。

当サイトでは個人情報の流出等はありませんが、こちらで感知していない中で「不正なバナーが表示」「外部サイトへ強制的に転送」といったような改ざんがあった可能性があります。この期間において当サイトを閲覧された方の中で、これらの事象に出くわした方いらっしゃいましたら、ご迷惑ご心配をおかけし申しわけありませんでした。

以下、同じ被害に遭われたサイト様向けの情報です。

感染した時の対策について

こちらでは、原因も対処法もわからないところから複数サイトにまたがって作業を開始したため結果として時間を要してしまいましたが「WordPress ウイルス 感染」などで検索して情報収集してもらえれば、早く対策いただけると思います。

こちらで対応したすべてのサイトで、下記ブログさんに書かれているものとほぼ同様のファイル群(バックドア含む)が設置されていました。

WordPressでウイルスに感染してしまったときの対処法 | わぷログ
https://wap-log.com/wordpress-malware-virus/

こちらの経験をもとにした以下も参考ください。

FTPのソフトでは不可視ファイルも表示する

こちらでは、ハッキングにより設置されたPHPは、.****.icoのようにドットから始まる名前(ファイル名は都度変わる)のファイルをインクルード(取り込み)していました。FTPのソフトで不可視ファイルを表示する設定になっていないと、これらドットから始まるファイルは表示されないので注意してください。

また、インクルードする際のファイルパスは難読化されています。こちらでは一文字ごとに難読化して復元しにくい状態でした。同じような名前のフォルダがたくさんあれば大変ですが、このままでも目視で特定することはある程度可能です。
例えば
@include "/\167p\055c\157n\164e\156t\057p\154u\147i\156s"

@include "/wp-content/plugins"
となります。

WordPressのコアファイルやプラグイン、テーマは上書きせず削除して再アップロードする

バックドアとなる侵入経路確保のためのファイルがサーバ内の各所に追加されるため、wp-adminなどのコアファイルやテーマフォルダは上書きするだけでは十分ではありません。フォルダをクリーンアップするために、これらを削除して再アップロードすることが必要です。

フォルダの削除やアップロードに時間がかかる場合、一度wp-admin2wp-includes2のような名前に変えておいてからアップロードして、サーバ上の感染フォルダをsuteru-wp-adminのような適当な名前に変更してすぐ新しいフォルダの名前をもとに戻すようにすると、フォルダの消失時間を削減できます。

プラグインは必ずバージョンアップまたは削除する

当方では、当該プラグインの特性上「管理画面でのみ有効化されるよう別プラグインで管理」しているにも関わらずハッキングされました。プラグインを停止するだけでは不十分の可能性があるので、バージョンアップまたは削除するようにしてください。

サーバのルートまでさかのぼってチェックする

サイトに感染があったら、そのサイトだけでなく同じウェブサーバ内すべてをチェックした方が良いかも知れません。当方では、同じウェブサーバにある別フォルダ(サブドメイン)にも、ハッキングによるindex.phpがアップロードされていました。ちなみにこのサブドメインにワードプレスはインストールされていませんので、パスを走査しているものと思われます。さくらインターネットの共用レンタルサーバの例では、感染のあるサーバの/www/以下すべてをチェックします。

データベースのパスワードも変更する

ハッキングされると、WordPressのindex.phpwp-config.phpに不正なコードが書き込まれます。wp-config.phpにはデータベースのパスワードが直書きされているので、除染後にパスワード変更を行ったほうが良いでしょう。

なお、さくらインターネットのレンタルサーバに付属するデータベースは、外部サーバからは接続できない仕様になっていますが、こちらでは念のためこのデータベースもパスワード変更しました。

以上、感染の被害に遭われたサイト様の参考になれば幸いです。