これは危険!マルウェアが仕込まれているWordPressテーマ&プラグイン!
|マルウェアに感染しとるぞ!
先日から大分悩まされてたWordpressのマルウェア問題、まずはGoogle先生からご連絡が入りました。
環境を出すのは良くないのかも知れませんが、以下のような環境で発生しました。
Nginx+PHP+PostgreSQL+Wordpress
これは実際に検証したくないので再現性を確認した訳では無いですが(だってまた同じ手順踏んでマルウェアをインストールしちゃったら困るじゃないですか!)、まず間違いないだろうと判断出来るかな、と云うところ。
「Melissa」
こちらから※もちろんダウンロードを薦めている訳ではありませんよ!
見た目からしてこれかっこいいやんけー!と言うことで早速インストール
しかしちょっと待て
何せダウンロードした段階で400MB以上あるのだ。この時点でアウトだと気づくべきだったというのは少し置いておきましょう。基本的にテーマなんて多くとも2MBにおさまるのが普通なんです。
いや待て、これが一つの落とし穴で、この大容量400MBダウンロードしたうちのアップロードに必要なテーマファイルは確かに2MBくらい。この部分だけではあまり違和感を得ずにアップロードしてしまいました。
Cherryframeworkみたいなプラグインも今思えば危険そのものです。
これからが罠
WordPressを使っている人だと良く分かると思うが、基本的にテーマをインストールして使用してもデモのようにかっこ良く見られる事は殆ど無い。
そこからカスタマイズしたり、データを入れたり色々な過程を経てようやく見ている「デモ」のように見えるのである。
ということでご他聞に漏れずこのMelissaもテーマを適用しただけでは全くデモサイトのように見えずちっとも格好良く無いわけです。
デモサイトのように完全にデモ環境を再現するためにはいくつかのプラグインが必要、ということで入れてみようかな、と。
これがアウトの始まり!
自分も見る目が無かった。先述したファイル容量、明らかにおかしかった。いくつもプラグインをインストールしていって、それに伴って画像などその他もろもろのインストール。
確かにテーマファイル自体はマルウェアなどは入っていなかっただろう。それは事実だと思われる。
しかしながら上記の通りデモサイトのように見えるようデータを入れたりプラグインを入れていく過程でほぼ間違いなくマルウェアが仕込まれました。
テーマファイルのセット自体にはマルウェアが含まれていなかったとしよう。しかしでもサイトを再現するためのデータやプラグインにマルウェアが含まれていた。
結果的には同様なので悪質な物といっても過言ではないだろう
自信が無い場合は公式サイトから
やっぱりテンプレートはワードプレスのテーマの新規の検索から調べられるものが間違いは無い。
無料のもので、テーマ配信をしているサイトからしかインストール出来ないものなどはあまりオススメ出来ない。
先述のMelissaなどはTemplate MonsterというWordPressテーマの大手のサイトだったりするからたちが悪い。
無料のテーマをインストールする場合は極力Wordpressの機能のテーマの追加からインストールしよう。
ちなみに、有料のものは安全な確率が高いと言えるだろう。何故なら有料でスパムでもあれば生き残れない、速攻で叩かれているからだ。
全くもって困った被害
今回の感染で色々と困った事が起こったわけだがそのうちの幾つかを記載していく。
・リダイレクトが発生しまくる
恐らくWordpressのコアファイルが書き換えられてしまい、様々なスパムサイトに対してのリダイレクトが発生しまくっている模様。アクセスは異常に遅くなったりする。
Google様からマルウェアに感染していますよ、と警告が来る。
一番怖いのはこの感染によってGoogleの検索結果にこのサイトはマルウェアに感染しています、と表示されてしまう、と言うこと。一般の人はこれを見たら二度とこのサイトを見るもんか、と思うだろう。甚大な被害だ。
サイトが異常に遅くなる
感染した後、サイト内でどのような動きがなされているのか全てを把握することは難しい。しかし何らかのプログラウが動いており、とにかくサイトの動きが遅くなる。(サーバーのCPUがかなり使われていると思われる。)
アクセスが遅い、というのは致命的。だからこそロリポップからAWSに乗り換えたというのに。
スパムのメール飛ばしまくる
幸か不幸か今回のドタバタでAWSのサーバーの容量を10GBから30GBに増やしていた。
しかしながら、ふとファイルをアップしてみようとしてみると何故かエラーが。容量を確認してみても、少なくとも10GBにも至っていない。
しかし原因発見。
サーバーのメールキューが満杯、Iノードがいっぱいになり、容量は足りてるのにノード数が足りずにファイルが作成出来ない状況になっていた。Iノードの数が最大300万くらい?になっていただろうか、それ以上はファイルは作れなくなってしまっていた。
ちなみに df -i というコマンドで残ノードなどは確認できる。
それにしても /var/spool/clientmqueue/ の直下に300万ファイルくらい作成されてしまっているわけ。
単純に rm -Rf /var/spool/clientmqueue/* みたいなことをしてもファイル数が多すぎてエラーになってしまう。しかたなく、少しずつ消していくことに。
find /var/spool/clientmqueue/ -name ‘xxxx’ | xargs rm
こうする事で消す対象のファイル数が多すぎても消していってくれる。多すぎるとタイムアウトなどが起こるかも知れないが、着実に消してはいってくれます。全部のファイルを消すまでにはかなりの時間がかかりました。
対策とバックドア
感染したらまずこのプラグインを入れて、コアファイルのリストアを行いましょう。
Sucuri Security – Auditing, Malware Scanner and Security Hardening
仮に感染していても元のファイルは全てダウンロードしてバックアップを取っておきましょう。そうしないと万が一リストアした後に動かなくなってしまうとそれも困ります。
これを入れてコアファイルのリストアを行えば基本的なマルウェアの除去は行われます。しかしながら、自分の経験上、WordPress直下にあるgallery.phpというのは何度消しても復活しますし、どこかにバックドアを仕込まれているといっても過言ではありません。
また、これはどのファイル、と全て特定することは出来ないのですが、かなり広範囲にわたって不正なファイルが作成されます。消しても復活するものなど、あまり詳細が掴みきれなかったりします。ただ、特徴としては普通にソースコードが書いておらず、エンコードしないと読めないようになっているので中身を見れば大抵怪しいと分かるでしょう。
これは感染したと思われる日付に作成されたファイルを検索するなどして確認しましょう。
find / -mtime 24 (24日前に変更されたファイルを検索)
覚えている限りでは options.php, diff.php, session.php, start.php, global.php, css63.php, functions44.php, help5.php, general10.php など変な数字がついているファイルは怪しいでしょう。
中身を確認しておかしければガンガン削除しましょう。
/var/spool/clientmqueue
メールのスプールは要チェックです。今回の場合、上記ディレクトリにメールスプールが異常量作成されました。ちなみにこの条件としては不正なメールのリレーなどをしないように設定してある場合だと思うので、最悪の場合マルウェアに感染した段階でメールサーバーの踏み台にされて不正なメールを送りまくっている可能性もあります。
ここにはdft* というファイルと qft* というファイルが作成されます。
dftはメール本文、qftの方にはヘッダー情報などが入っています。ちなみにこのqftにはどのphpファイルを使ってメール送信をしようとしているかも記載されています。ですので、このファイルが不正な動きをしている、と特定出来ます。
解決連絡
マルウェアが全て削除されればGoogle先生のウェブツールから報告を入れましょう。無事に駆除されていればCongratulations!とメールが来ますが、そうでなければ無視されます。
一番いいのはWordPressを再インストールしてデータベースの移行、などでしょうがうちの場合そうも行かず、不正なファイルをどんどん消して対策しました。
clientmqueueの中身もガンガン消しました。
と、悪戦苦闘しながらようやく駆除出来たようです。バックドアを仕込まれている事もあるのでしばらくは定期的にチェックしていきたいと思います。
かなり殴り書きですが、同じような症状に陥った人の助けになれば幸いです。
また、記事更新もやる気が出ますので応援していただければ幸いです!