消してもすぐ復活するマルウェアの対処方法
消してもすぐ復活するマルウェアの対処方法を説明します。
消してもすぐに復活するのは、ログインしているあなた自身が復活のトリガーになってるか、裏でプロセスのタスクが動いてるかの2つしか考えられません自分自身がトリガーになるのは、ワードプレスにログインしていて、そのからマルウェアのファイルを消している場合。
FTPで消してる場合は、FTPのコマンドがトリガーになってる場合。でも、この2つは考えにくいんですね。
後者なら、ローカルの自分のマシンが何かしらのウイルスに侵されている。
結論を言うと、プロセスにタスクを埋め込まれた可能性が高いんです。
で、このタスクは、エックスサーバーを使っているなら簡単に対処できます。
消してもすぐ復活するマルウェアのプロセスを削除して復活させなくする
どんなプロセスが動いているか見るためには、サーバーに入って「コマンド」を打ち込んで確認します。これはtelnet というプログラムでやるんですけど、telnet を許可してる共有サーバーは、ほぼ見かけません。
ですが、同じようなことをする方法があります。SSHで入るという方法です。
それが teraterm です。
teraterm で、サーバーに入って、 ps -x とコマンドを打ち込みます。
するとプロセスの一覧が表示されます。
素人の方は、うひゃ!って思うような文字の羅列!だと思いますけど、ビビる必要はありません。
ps -x の内容は、1行単位で見ます。
PID(プロセスの番号) □ TTY(知らなくてもOK) □ STAT(知らなくていい) □ TIME(動いてる時間) □ COMMAND(走ってるコマンド)
で見るのは、コマンドと時間です。
php で動いているので、php-~ で、かつトラブってるドメイン、のコマンドが該当しそうなプロセスです。
(エックスでいえば、黄色い箱でくくったのがサーバーID、赤いのがドメイン名です)
で、通常ならphpは、呼ばれたときにその処理を行って終了します。
なのでほんの一瞬です。
にもかかわらず、数分以上動いているのは、おかしいぞ?ってことなんです。
もちろん、そういった監視系のプラグインを使っているなら可能性はあります。
でも、結局PHPですから、とりあえず止めてしまいましょう。
消してもすぐに復活するメルウェアのプロセスの止め方
プロセスを止めるコマンドは、kill プロセス番号
です。
php~というコマンドなら消したところで特に問題にならないと思います。
使ってる常時監視タイプのプラグインならば、プラグインを再度有効化するとか起動コマンドを入れれば済みます。
マルウェアなら、何かしらの起動コマンドをワードプレスの中、感染が進んでいるとワードプレス以外(入れていれば)のファイルに起動プログラムを感染させています。
そのプログラムを探してくれるのが anti-malware や wp docttore などです。
捕まえられるなら、これらのプラグインで走査し手、マルウェアのファイルを削除しましょう。
消してもすぐ復活するマルウェアのファイルを見つける
前述の anti-malware や wp docttore などでも見つけることができる可能性があります。マルウェアの入るは、プロセスを起動するプログラム、それのパラメータファイル、挙動をおかしくさせるためのプログラムと様々あり、1つのパターではありません。
その結果、無償版のままだとマルウェアのパターンが入ってなかったり、有償でパターンファイルを購入しないといけません。
なので、有償で買うのもありだと思います。それでもウィルスやマルウェアには亜種が存在し見つからない場合があります。
でも、感染は案外一時的なもの。ローカルのパソコンみたいに穴だらけの状態ではないわけで・・・
自分でパターンをみつけて駆除すればいいと私は考えるわけです。
で、今回のパターンを埋め込んだプログラムを差し上げます。
サーバー内にみつけた不信ファイルを開いてパターンを確認して、そのパターンを登録すれば、そのパターンを持ったファイルを見つけてくれます。
詳細はこちらから→0x.php 0xis/ l.php って知らないファイルとフォルダーがある
このツールで怪しいファイルを概ね削除します。(削除を止めて表示させて中身を確認してから)
そののち teraterm でサーバーに入って怪しげなプロセスを KILLします。
で、もう一度サーバーを確認してみてください。
復活しますか?
マルウェアファイルを全部駆除できてない可能性もありますので、様子をみてまた復活するようならば、知らないファイルが隠れていないか確認してファイルを駆除してください。
で、もう一度 teraterm でプロセスを削除します。
消してもすぐ復活するマルウェアのプロセスを駆除するために1 teraterm でサーバーにログインする
消してもすぐ復活するマルウェアがプロセス起動型だと解説してくれていても、案外そのプロセスの止め方を解説していないんですね。高度だからサーバー側で処理してもらいましょうとか、手を出さないでとか・・・うやむやだったりします。
それは、SSH でのサーバーへの接続を許してないサーバーが多いからだし、さらにサーバー側のサポートは、貸してるユーザーのプロセスを殺すのはできないんだす。
お願いすると、サーバーを一時停止させてリセットしますが、いいですか?と言質を取られます。それだけサーバー側にしてみれば大変なことなんです。
1回のリセットでクリアになればいいですけど、たぶん1回では・・・
なので teraterm でサーバーに入ってプロセスを消しましょう。
まちがって php 以外のプロセスを消しても、そのときこそ、サーバーのリセットを!と泣きつきましょう。
で、これだげきるのが エックスサーバー、サクラサーバー、ロリポップぐらいです。
で、teraterm を使えても、WEBサーバーの上位階層まで感染しますので、そこのファイルを操作できないといけない。
するとサクラ、ロリポップも・・・どちらにしてもサクラ、ロリポップは、昔はよかったんですが某国系になってからは、ユーザーを顧みない運営をしているのでこれを機にサーバーを変えたほうがいいです。
エックスサーバー
1.ログイン後、「公開鍵認証用鍵ペアの生成」へ
サーバーパネルへログインし、「SSH設定」から「公開鍵認証用鍵ペアの生成」へ進みます。
2.「パスフレーズ」を入力し、「確認画面へ進む」をクリック
3.「生成する」をクリック
サーバーID.key というファイルがダウンロードされるのでとりあえず保管。
「公開鍵登録・更新」から、公開鍵を登録する
これは、自分で公開鍵を持っていて、自分のカギを使いたい場合で、特に問題ない場合は、この処理は行わなくてOKです。
単の「公開鍵認証用鍵ペアの生成」だけでOKです。
実は、エックスのヘルプで悩むのが、これなんです。
公開鍵・秘密鍵の設定がわからないと「公開鍵認証用鍵ペアの生成」「公開鍵登録・更新」の両方必要だと思ってしまうんです。
基本は、「公開鍵認証用鍵ペアの生成」だけでOKです。
公開鍵を持ってる人でかつそれを使いたいというプロフェな方が「公開鍵登録・更新」をやるってことで。
「公開鍵認証用鍵ペアの生成」をやってしまってると、こんな画面になって、
「公開鍵」欄にお手持ちの公開鍵を入力し・・・
お手持ちのって何よ!いつもらったっつ~の!?
ダウンロードしたのは、秘密鍵で公開鍵ではない点に注意ね?(笑)
「登録済み公開鍵を表示」をクリックしてやると表示される意味不明の英数字。
実は、これは、「公開鍵認証用鍵ペアの生成」で勝手に作られた秘密キーなのよ。作った人の秘密鍵はこれねって意味。
自分のカギを持ってる人は個々に張り付けて更新してねってこと。
なので、普通の人、SSH(teraterm)でサーバーに入るは、ここ無視して「公開鍵認証用鍵ペアの生成」だけでOK。
teraterm でサーバーにログインする。
エックスサーバーのHELPでは、
「1.「SSH Authentication…」を選択
Tera Termを起動し、「setup」メニューから「SSH Authentication…」を選択します。」
とありますが、日本語化された teraterm の場合は、「ファイル」→「新しい接続」が「SSH Authentication…」に該当します。
どこまでエックスで説明しますが(笑)
ホストは、サーバーID.xsrv.jp です。
サーバーIDは、サーバーパネルに入ってすぐのところで確認できます。
で、OKからの
terterm の秘密鍵選択時の選択ファイルの拡張子に .key ってないみたいなのだ。
だから、すべてのファイルに切り替えて サーバーID.key を選んでください。
マルウェアが勝手に動かしたプロセスを KILL する
teraterm でサーバーに接続したら
ps -x
で、動いているプロセスが出る。
その中で一番長く動いてるとか、マルウェアのファイルが復活するドメインを動かしてるプロセスがあるはず。
例えばこんな感じ
64853 ? S 0:00:29 /usr/bin/php-fcgi7.4 -c /home/ほげほげ/おやおや/~
64860 ? S 0:55:00 /usr/bin/php-fcgi7.4 -c /home/ほげほげ/おやおや/~
※ほげほげは、サーバーID
※おやおやは、ドメイン
こいつかな?ってあたりを付けて kill でプロセスを停止させる。
※黄色のところがサーバーID,赤っぽい箱のところがドメイン ***.com ってなってるでしょ?
64860 ? S 0:55:23 /usr/bin/php-fcgi7.4 -c /home/ほげほげ/おやおや/~
これの場合だと最初の数字がプロセスIDなので、kill 64860 という感じ。
※時間は、動いてるので ps -x を入れるたびに変わります。
これでうちは、マルウェアのファイルが復活しなくなりました。
teraterm とお別れ
teraterm から抜けるときは、exit です。
exit と入れるとウインドウが閉じます。
消しても消しても復活するマルウェアのファイルの対処方法 まとめ
フォルダー開けまくっておかしなファイルを削除して歩いてさんざん苦労しました。全部消した!って解放感が冷めやらぬうちに再発・・・
マジ心が折れる。
サーバーのサポートは、マルウェア対策までしてくれません。
自分たちを守るだけ。
だから問題を起こすファイルのパーミッションを変えて静観。
どこもかしこも「すべての該当するファイルを削除してください。
だから、削除できねーんだってば!
オゥルネットはひどかった。
マルウェアのファイル消しても復活するんです。
ドメイン領域全部消してもらってもかまいません、とにかく再発を阻止したいので
一つ上の階層を削除してみてくれませんか?
すると担当者Aが
「該当するファイルを削除して、復旧させてからご連絡ください」
はぁ?だから消せないっつってんだろ!
すると、担当Aからの返信、申し訳ございません調査いたしますのでしばらくおまちください。
翌日担当Bからメール
「該当するファイルを削除して、復旧させてからご連絡ください」
あのな!
だから、消せないつってんだろーが!横の連絡ないのかよ!
で結局担当Eまで、約2週間以上これの繰り返し。
で、オウルのスターサーバーは teraterm 使えたかな?
エックスと仕様似てるから使えるかも。(オウルは解約予約したので入りたくもない。)
でも、WEB領域の一つ上の階層まではFTPでみれないのでたとえ teraterm が動いてもマルウェアの対策はできません。
で、ロリポップのサポートも同じような対応になります。
こちらの情報を出してもロリポップのサポートは一切無視。
まぁ知らないことをユーザーに教えられるというのは屈辱なんだろう。
ゴミのようなプライド。
サクラは、以前はteraterm できたかもしれないけど、今はたしかだめ。
GMO系はシナにとりこまれた?わからんけど、とにかく嘘が多いしトラップが多い。
ので、これを機にエックスサーバーに乗り換えるのがいいかも。
じゃあ具体的にマルウェアに襲われたデータを引っ提げての引っ越しはどうする?
は、別の記事にゆだねまして。
この投稿があなたのお役に立てたら幸いです。