#NoHacked:意味のないテキストを含むURLを読み込むことによるハッキング

こんにちは、Habrahabr! 今日、#nohackedキャンペーンの一環として、サイトへのコンテンツの不正な埋め込みの問題を解決する方法についてお話ししたいと思います。 そのような攻撃を受けていない場合でも、推奨事項を無視しないでください。他のハッキング方法からリソースを保護するのに役立ちます。 ハッシュタグ#nohackedを使用して、 TwitterおよびGoogle+での議論に従ってください( パート1パート2パート3パート4を参照)。



NoHacked:URLハッキングの排除



ハックは完全に異なります。 誰かがいじめっ子であり、サイトを「汚す」(挑発的または虐待的な情報を掲載し、レイアウトを台無しにし、大企業のサイトを世界で最も高価なマイリトルポニーファンクラブに変えます)。 多くの場合、このタイプの損害は、最後のバックアップを復元し、好ましくない情報をすべて削除することで処理されますが、サイトのセキュリティのその後の監査なしでは、誰もそのような不名誉を繰り返すことは安全ではありません。



サイトのハッキングがデータの盗難、情報の置換を伴う場合、またはあらゆる種類のマルウェアの拡散を目的として実行される場合は、はるかに危険です。 この場合、最も重要なことは、潜在的な訪問者(ユーザーまたは顧客)が同様のコンテンツと通信するのを防ぐことです。



メンテナンスのための一時的なサイトのシャットダウン



最初に行う必要がある主なことは、修理のためにサイトを「閉じる」ことです。 ここでは、安全上の考慮事項のみを説明します。地下鉄では、エスカレーターへの入り口を塞いで修理しますか? そのため、サイトを一時的に閉じます。 ユーザーはハッキングされたページにアクセスできなくなり、サイトの復元に安全に取り組むことができます。



さらに、作業ファイルの「穴」の1つを介してハッキングが行われた場合、メンテナンスのためにサイトを閉じないと、ハッキングの影響を排除しながら、再びハッカーに干渉する危険があります。



サイト復旧



最も簡単な回復方法は、最後のバックアップを見つけて展開することです。 残念ながら、バックアップは攻撃者によって同じ方法で一掃される可能性があります。または、バックアップはコンテンツ部分のみに関係する可能性があります。 一般に、1つの「復元」ボタンで魔法の解決を助けられない場合、すべてを自分で行う必要があります。



もちろん、私たちは皆、仕事を始める前に、可能なすべてのバックアップを作成する価値があることを知っています。 しかし、記事はどこか他の場所に再投稿することができるので、思い出すことは間違いではありません。 はい、新しい(今回は完全な)バックアップにはハッキングされたコンテンツが含まれます。そのため、作業バージョンの復元中に何か間違ったことをしてサイトが完全に壊れた場合にのみ使用できます。 さらに指示を実行するときは、削除する各ファイルのコピーを作成してください、それは何が問題ですか? コピーを削除する時間は常にあります。



ステップ1:.htaccessファイルを確認する



最も一般的なハッキング方法の1つ:ハッカーは.htaccessファイルのコンテンツを作成または変更して、独自のページを追加したり、ユーザーをクローンフィッシングサイトにリダイレクトしたりします。



.htaccessファイルで疑わしい行を確認します。 コンテンツの分析方法がわからない場合は、 Apache.org Webサイトの関連資料を読むか、ヘルプフォーラムで質問するか、専門家に相談してください。 攻撃者が変更した.htaccessファイルの例:



<IfModule mod_rewrite.c>





RewriteEngine On





#Google検索からサイトにアクセスした訪問者はリダイレクトされます

RewriteCond %{HTTP_REFERER} google\.com





#訪問者は悪質なPHPファイルhappypuppy.phpにリダイレクトされます

RewriteRule (.*pf.*) /happypuppy.php?q=$1 [L]









検出された悪意のあるコードの要素をすべて削除します。 .htaccessファイルにそれらが多数ある場合、既存の.htaccessを修復するよりも新しい.htaccessを作成する方が簡単です。 また、悪意のあるPHPファイルが含まれていることが判明する場合があります(happypuppy.phpという名前ですが、そのような名前には2つの単語のランダムな組み合わせが使用されることがよくあります)。 これは、他の悪意のあるファイルを検索するときに考慮することが重要です。



ステップ2:他の悪意のあるファイルを検索する



ほとんどの場合、ハッカーはJavaScriptファイルとPHPファイルを操作します。 この場合、2つの主な方法が使用されます。悪意のあるファイルの追加と既存のファイルの変更です。 最初のケースでは、新しい.phpまたは.jsファイルがサーバーに追加され、それらの名前は標準名と非常に似ている場合があります。たとえば、wp-cache.phpは安全なwp_cache.phpファイルとして偽装されます。 2番目のオプションでは、サーバーに既に存在するファイルに悪意のあるコンテンツが追加されます。 たとえば、サイトにJavaScriptテンプレートまたはプラグインがある場合、ハッカーはコードを変更できます。



例を見てみましょう。 以前に.htaccessファイルで見つかった悪意のあるhappypuppy.phpファイルは、サイトwww.example.comのフォルダーの1つに追加されました。 さらに、ハッカーは、サーバーに既に存在するjson2.min.jsというJavaScriptファイルに悪意のあるコードを挿入しました。 以下のスクリーンショットでは、ファイルの最後に追加されたこのコードは赤で強調表示されています。 その結果、ファイルの内容は次のようになります。



ハッカーが悪意のあるコードをjavascriptファイルに挿入する



悪意のあるコードを効果的に検出するには、サイトがJavaScriptおよびPHPファイルをどのように使用しているかを理解する必要があります。 レイアウト、設計、コンテンツ、またはポータル管理に従事しているが、「内部」を確認していない場合は、コンテンツ管理システムのドキュメントを検討する必要があります。



さらに、特にテンプレートに関連する場合は、最近変更されたすべてのファイルをサイトで検索して確認します。 [アプリケーション]セクションには、PHPマスクファイルの検出に役立つツールがリストされています。



ステップ3:悪意のあるコンテンツを削除する



前述したように、ファイルを削除または変更する前に、サイトのバックアップコピーを作成する必要があります。 そして、これを定期的に行う場合、サイトの問題を修正するには、ハッキングの前のアーカイブバージョンを復元するだけで十分です。



ただし、バックアップを作成しなくても、他のソリューションを利用できます。 最初に、ハッカーによって追加された悪意のあるコンテンツを削除します。 たとえば、 www.example.comでは、happypuppy.phpファイルになります。 攻撃者がjson2.min.jsなどの既存のPHPおよびJavaScriptファイルを変更した場合、安全なバージョンをダウンロードします。 使用する場合は、キープラグインファイルとコンテンツ管理システムをサイトに再度追加してみてください。



ステップ4:トラブルシューティング



悪意のあるファイルを削除した後、サイトのハッキングにつながった脆弱性を見つけて排除する必要があります。そうしないと、繰り返しハッカー攻撃を受ける可能性があります。 盗まれたパスワードから古くなったサイトソフトウェアまで何でもかまいません。 脆弱性を見つけて修正するには、 ヘルプセンターをご覧ください。 ハッキングがどのように実行されたかを理解できない場合は、すべてのパスワードを変更し、サイト上のソフトウェアを完全に更新し、可能であれば専門家に連絡してください。



さらなるアクション



問題のあるコンテンツを削除した後、Googlebotがハッキングされたページを表示しないようにします。 これを行うには、 View as Googlebotツールを使用します 。 ハッキングされたコンテンツとメインページを確認することを忘れないでください。 何も見つからない場合、あなたは大丈夫です。 「Googlebotとして表示」でハッキングされたコンテンツが見つかった場合は、対処する必要があります。 悪意のあるPHPファイルまたはJavaScriptファイルを見逃している可能性があります。 検索を続けます。



サイトを再度開始する前に、すべての脆弱性とハッキングの結果を排除することを確認してください。 サイトに手動による対策が必要な場合は、Search Consoleアカウントログインして再審査リクエストを送信してください。 また、新しい攻撃からサイトを保護する方法も検討してください。 ヘルプセンターでこのトピックに関するヒントを見つけることができます。



もちろん、いくつかのヒントは非常に明白に見えますが、私たちは皆、後ろ向きな心で強く、同様のものに直面したとき、私たちは初めてfireを壊すことができます。 この記事が、サイトへのコンテンツの不正な導入の結果を排除するのに役立つことを願っています。 ハッシュタグ#nohackedを使用してソーシャルネットワークで私たちを探してください。インターネットで安全に作業するための個人的な経験とテクニックを共有することを忘れないでください。



それでも質問がある場合は、ウェブマスター向けヘルプフォーラムGoogle+のコミュニティで質問してください 。 8月27日のセキュリティ会議の記録もご覧ください。



アプリ



Googleとは直接関係のないツールもありますが、便利な場合があります。



たとえば、 PHP DecoderおよびUnPHPを難読化解除するためのユーティリティ。 攻撃者はPHPファイルをゆがめて、解析を困難にすることができます。 ただし、これらのツールは上記のツールを使用してクリーニングでき、それらが必要な理由を理解できます。 お気に入りのサービスまたはツールについて、その作業の説明と、サイトの復元にどのように役立つかを記載してください。このリストを補足します。



All Articles