するとなんと、私たちがクライアントのためにホスティングしていたレガシー サイトには、誰かが私たちの Web ホストに恐ろしい c99madshell エクスプロイトをアップロードできるバージョンの FCKEditor が含まれていたのです。
私はセキュリティに詳しいわけではありません。率直に言うと、人員不足のため、現在は S/A 業務を担当している開発者にすぎません。したがって、このエクスプロイトによる被害を評価するために、サーバー障害の担当者の皆さんから提供していただける支援があれば幸いです。
少し情報をお伝えします:
ファイルは、Web ルート内のディレクトリ「/_img/fck_uploads/File/」にアップロードされました。Apache ユーザーとグループは制限されており、サイトを提供するディレクトリの外部にログインしたり、権限を付与したりすることはできません。
すべてのファイルの権限は 770 (ユーザー rwx、グループ rwx、その他なし) でした。これは修正したかったのですが、「高優先度」ではないため保留するように言われました (これで優先度が変わることを願っています)。そのため、ハッカーは簡単にスクリプトを実行できたようです。
結局、c99madshell.php 自体を見つけることができませんでした。見つかったのは、ロシア語のテキストを含む他の HTML ファイルと、madshell ハックの表現であるインライン PHP を含むいくつかの .xl ファイルと .html ファイルだけでした。しかし、少し調べてみると、ハックは実行後に自動的に破壊されるようです。すばらしいですね。
とにかく、私の最初の評価は次のようになります。
Apache ユーザー/グループが分離されているため、システム レベルのパスワードを取得できないはずなので、ホスト全体を再構築する必要はありません。
この脆弱性を修正するには、アップロードに実行権限がないように制限し、FCKEditor のバージョンを更新して元の攻撃対象を修正し、アップロード ディレクトリ内での PHP スクリプトの実行を拒否するサーバー レベルの構成を追加する必要があります。
アプリの DB パスワードを変更する必要があります。データベース接続の構成ファイルが Web ルート内にあるため、ハッカーがそれを入手して DB パスワードも入手した可能性が高いからです。
とにかく、ボスに何を伝えるべきかについて、皆さんの意見を聞かせてください。もちろん、ホスト全体を再構築するのは避けるのが理想的ですが、ハッキングされたマシンを稼働させないようにするためにそうしなければならないのであれば、そうするしかありません。
皆さんの助けに本当に感謝しています。また、もっと詳しい情報が必要なら遠慮なくお尋ねください (喜んでコマンドを実行したり、皆さんと協力して被害状況を評価します)。なんてハッカーなんだ :(。
答え1
明らかに、他の人が言っているように、公式の「安全な」対応はマシンを再構築することです。
現実の状況では、それができない可能性があります。妥協点を確認するために、いくつかの操作を実行できます。
- チェックルートキット- サーバーが侵害されていることを示す一般的な兆候をテストする
- rpm システムの場合、「rpm -Va|grep 5」はすべての rpm インストール済みバイナリをチェックし、MD5 サムが変更されている場合は「5」を報告します。カスタマイズされたバイナリで説明されていない不一致が見つかった場合は、再構築が必要です。
- /tmp で疑わしいものがないか調べます。
- 'ps fax' に異常なプロセスがないか確認してください。'ps' が侵害された場合、または他の手法によって、隠しプロセスがまだ実行されている可能性があります。
- 検索で apache 以外の所有権を持つファイルが見つかった場合、システム アカウントは確実に侵害されており、再構築が必要です。
システム構成を修正するには:
- 可能であればFCKeditorによるアップロードを無効にする
- プログラムが実行されないように、一時ディレクトリが NOEXEC になっていることを確認してください。
- PHPスクリプトは最新のものにする必要があります
- もっと凝ったことをしたい場合は、phpスクリプトの実行中にエクスプロイトを監視するためにmod_securityをインストールしてください。
見落としているものはたくさんありますが、これらが私が最初に行う手順です。サーバーで実行している内容とそのセキュリティの重要性 (CC トランザクションを処理しますか?) に応じて、再構築が必要になる場合がありますが、セキュリティが低いサーバーの場合は、上記を確認しても問題ない場合があります。
答え2
ホストを再構築する必要があります。ホストに対してどのような権限昇格攻撃が行われたかはわかりませんし、トロイの木馬、キーロガー、ルートキットがインストールされていないことを絶対的に保証することもできません。
一度侵害されると、ベアメタルから再構築する以外に選択肢はありません。
答え3
つまり、サーバーを再構築することになります。
ローカル ユーザーへのアクセス権がある場合 (Apache ユーザーとしてアクセス権を持つようになった)、ローカル エクスプロイトを実行できます。したがって、サーバー全体が侵害されていると考える必要があります。他のサーバーも確認する必要があります。
どのようなディストリビューションを実行していますか? rpm ベースの場合は、ファイルの署名を確認できます。インストール CD を起動し、rpm -V on を実行してパッケージを確認します。
答え4
聞きたくない話だとは思いますが、データのバックアップ、サーバーの再構築、すべてのデータの再インポートを強くお勧めします。
また、他のサイトもチェックして、ハッキングの影響を受けるのがこのサイトだけではないことを確認してください。サーバーのすべてのスクリプトが 1 人の Apache ユーザー ( nodoby
/ www_data
/ ディストリビューションで使用されているもの) として実行されている場合、1 つのサイトに書き込めるものは、ほぼ確実に他のサイトにも書き込めます。
すべてのパスワードを変更するだけでなく、サーバー上のすべての SSH キーが他のすべてのサーバー上で無効になっていることを確認してください (つまり、秘密キーを削除するだけでなく、保存されている場所に関係なく公開キーを無効にします)。また、そのサーバー上またはサーバー経由でパスワードを入力した (またはファイルにパスワードを保存した) 他のシステムのパスワードも変更してください。