WordPressのプラグイン脆弱性を突かれて不正なプログラムを動かされていた件
2019/12/12
先日、自分が運営しているブログを表示しようとしたところ・・・
「あなたのパソコンはウィルスにやられてるよ!」
みたいなページに遷移させられました。
その後、スペースを借りているXサーバーから「Wordpressプラグインの脆弱性を突かれた(と思われる)不正なプログラムが動かされてます」という連絡を受け、被害を食い止めるためにブログは一旦非公開状態にさせられました。
Xサーバー担当者から指示された通り、自分のクライアントマシンのウィルスチェック、サーバー上のファイル全削除、Wordpressの再インストールを経て、数時間後になんとかデータ復旧まで完了しました。
翌日、またしても不正なプログラムを動かされそうになっていたのですが、早々に気づき、ある程度の対処をして、今日まではとりあえず無事です。
その間にあったことを備忘録的に書いておきます。
どうやって不正プログラムを動かされていたのか
僕は復旧した今ですらいったい何が原因だったのか、正確なところはわかっていません。
ただ、wp-content内のuploadsディレクトリ内に「uploader.php」のような見覚えのないphpファイルができており、これを直接たたいていたようなログがあったことから、そうすることで何か不正な関数を作り出して・・・みたいな流れだったんだろうと思います。
ちなみにこうしたファイルがWordpressのディレクトリ内各所にあり、しかも少なくとも8月後半には作成されていたことから、約2週間ぐらいは細々と動いていた不正ファイルがあった可能性があるわけです。
気づけなかったのがとても悔しい。
でも今回気づけたことを喜ぶべきかな・・・。
なぜuploadsディレクトリにファイルを作れたのか
さて、ではこの迷惑な犯人はいったいどうやってuploadsディレクトリに不正なプログラムを動かすファイルを作ったのか。
これも僕にはよくわかりませんでしたが、Xサーバーの担当者さんいわく「FTPの不正ログインか、プラグインの脆弱性をついたかどちらか」だそうです。
で、FTPのログインがなかったことから、プラグインの脆弱性だろうとのこと。
その時入れていたプラグインは以下。
- a3 lazy load
- Akismet
- All in one SEO pack
- amazonjs
- Broken link checker
- Contact form 7
- Edit author slug
- php code widget
- Table of contents plus
- usc e shop
- wp multibyte patch
- wp polls
ファイルアップロードを不正に行うのはコンタクトフォームのような問い合わせ系プラグインとのことですが、Contact Form 7は頻繁にアップデートされてますし、どちらかというとしばらく更新のないプラグインの方が怪しいんじゃないかと思っています。
amazonjsは便利ですが、もう1年以上も更新がないようですね。
あとはAll in one SEO packのような有名すぎるプラグインも狙われやすいそうです。
でも僕の方でどのプラグインなのかを判別することはできなかったので、とりあえず自分にとって「なくてもいい」と思えるものを無効化→削除して様子をみることに。
やったこと
原因の特定ができなかったので、運用しながら探っていくしかないかなーと思いました。
そこで、All in one wp security and firewallというプラグインを入れ、「ファイルの更新があったらメールにて連絡」という機能をONにしておきました。
実は、真っ新にして新しいWordpressをインストールした状態で復旧させた翌日に即、uploadフォルダに怪しいファイルをアップされていました。
All in one wp securityから連絡をもらえなければ気づけなかったかもしれません。
当該ファイルを削除し、Anti-Malware from GOTMLS.NETというマルウェアスキャンアプリを導入し、チェック。
あとはphp.iniファイルの見直しと、FTPでの属性変更をしました。
ログのチェック
それプラス、日々ログのチェックをするようにしています。
とりあえず「.php」でprepして、怪しいファイルを叩いていそうだったらチェック・・・というように。
データ復旧翌日以降は不正なファイルを作られていることはありませんが、毎日定期的に「あるはずのファイル」を叩きに来ているログはありました。
[18/Sep/2017:05:22:24 +0900] “POST /wp-content/uploads/2017/09/vqrwzjtp.php HTTP/1.0” 404 41740
こんな感じのやつです。
自動でここをたたくようにプログラムされたマシンが動かされているのか、それとも何かに感染したクライアントマシンから勝手にアクセスするようになっているのか・・・
とりあえず404が返っているので一安心なんですが、なんとなく未だに毎日来られているというのが気持ち悪いですね。。
これ、もしかして.htaccessとかを使ってこのファイルを見に来たヤツには他のページに遷移させるとか、何かをダウンロードさせるとかできるんじゃないですかね!?
おわりに
次の被害にあわないようにできることといえば、できるだけ古いプラグインを使わないこと、ちょいちょいFTPでチェックすること・・・なども挙げられるかと思います。
あとは.htaccessを使って海外からのアクセスを一切禁止にする・・・なんてのもありかもですね。
日本人および日本のプロキシを通ってきたら意味がありませんが・・・。
というわけで、自分に起きたこととやったことの備忘録でした。
2019/12/12