- HOME >
- 【サーバー】 >
- ハッキングにより改ざんされたHTMLファイルをShell(シェル)コマンドでサーバー内の全ファイルからテキスト検索(文字列検索)で探してみる。(Tera Term (テラターム)を使用)
最近、私のクライアントが使用されているレンタルサーバー会社からホームページ内のHTMLファイルがハッキングされ改ざんされて、そのクライアントのウェブページから他人のホームページを攻撃していると苦情がありました。(Googleのウェブマスターツールにも警告が出ています。)
レンタルサーバー会社から連絡のあった該当ファイルをチェックしてみるとHTMLファイルのソース最後に
という見に覚えのないソースが書き込まれていた。(*******はおそらく攻撃元のサイトのドメインなので隠しています)
これが原因のようなので削除してアップロードしなおすことでとりあえず問題は解決しましたが、念のためサーバー内の他のHTMLファイルなどもすべてチェックしておきたいところです。
ただ、FTPで接続して全ファイルを目視で一つ一つチェックするのは現実的ではありません。
そこでシェルコマンドでサーバーの全ファイル内のソースから不正に書き換えられたソースを検索してみましょう。
Tera Term(テラターム)を使用してサーバーの全ファイルのソース内の文字列を検索してみる。(サーバー「UNIX・Linux」)
今回SSH接続するソフトは「Tera Term(テラターム)」を使用します。
まず、Tera Termは下記よりダウンロードしていストールしてください。
Tera Termの設定と接続方法は各レンタルサーバーのサポート情報をご確認ください。(ヘテムルの場合 http://heteml.jp/support/manual/ssh/teraterm/)
Tera Termを起動
Tera Termを起動しサーバーに接続すると下記の画面が表示されます。
「find」コマンドで検索
「find」コマンドを入力します。
今回、探したい文字列に今回、改ざんされたソース内の「counter.php」を指定してみます。
「/home/web/public_html/site」は探したいディレクトリを指定しています。指定方法はサーバーのルートパスです。
サーバーのルートパスの確認はサーバーの管理画面などで確認するかサーバーアナライザー(http://www.futomi.com/library/servana.html)などのソフトを使って確認してください。
find /home/web/public_html/site -type f | xargs grep counter.php
「-type f」は検索対象をファイルと指定しています。
ファイル名や拡張子を指定したい場合は条件に「-name "*.html"」を追加することもできます。
複数条件にする場合は「-and」で接続します。
find /home/web/public_html/site -type f -and -name "*.html" | xargs grep counter.php
検索結果
しばらくすると検索結果が表示されます。
今回、counter.phpというワードで検索したので改ざんとは関係のないファイルなども大量に結果として表示されましたが結果表示されている画面上のテキストをマウスでドラッグして全て選択コピーし、テキストエディタなどにペーストして再度検索します。
テキストエディタ上で再度検索すると下画像のように分かりやすいです。
そこからHTMLファイル内のソースが改ざんされたものと探していきます。
80行目に問題のソースが見つかりました。
HTMLファイルのディレクトリの場所も表示されていますのでFTP接続して実際にファイル自体を削除するか問題のソースを削除しておきましょう。
今回、ワードプレス関連のファイルを利用して改ざんされたとの通知がされていましたので、同じ要領でワードプレスのファイルでバージョンの古いものがないかの確認や放置されているファイルがないか確認し、必要に応じて削除しておくといいでしょう。
(※本ページはプロモーションが含まれています。)
- 広告
- 広告