サーバーハックの事後分析を行う方法


29

IIS6、SQL Server 2005、MySQL 5、PHP 4.3がインストールされたWindows Server 2003 SP2マシンがあります。これは運用マシンではありませんが、ドメイン名を介して世界に公開されます。マシンでリモートデスクトップが有効になっており、2つの管理アカウントがアクティブになっています。

今朝、私はマシンがログインテキストボックスにまだ不明なユーザーの名前でログオフされていることを発見しました。さらに調査したところ、2人のWindowsユーザーが作成され、アンチウイルスがアンインストールされ、.exeファイルのごく一部がC:ドライブにドロップされたことがわかりました。

私が知りたいのは、これが二度と起こらないようにするためにどのような措置を講じるべきか、そしてエントリーの道を決定するために集中すべき領域です。どのポートが開いているかを確認するために、すでにnetstat -aをチェックしました。MySQLのデータフォルダーで不明なファイルを見つけましたが、これがエントリポイントである可能性があると考えていますが、よくわかりません。

将来的にこれを回避できるように、サーバーハックの適切な事後分析を実行する手順を本当に感謝しています。

調査後レビュー

いくつかの調査の後、私は何が起こったかを見つけたと思います。まず、マシンは08年8月から09年10月の期間中にオンラインになりませんでした。その期間中に、セキュリティの脆弱性、MS08-067の脆弱性が発見されました。「これはリモートコード実行の脆弱性です。攻撃者がこの脆弱性を悪用した場合、影響を受けるシステムをリモートで完全に制御できる可能性があります。MicrosoftWindows 2000ベース、Windows XPベース、およびWindows Server 2003ベースのシステムでは、攻撃者が悪用する可能性があります認証なしのRPCに対するこの脆弱性は、任意のコードを実行する可能性があります。」この脆弱性は、2008年10月にリリースされたKB958644セキュリティアップデートで修正されました。

マシンはその時点でオフラインであり、この更新プログラムを逃したため、'09年10月にマシンがオンラインに戻った直後にこの脆弱性が悪用されたと思います。bycnboy.exeプログラムへの参照が見つかりました。このプログラムは、感染したシステムに大混乱を引き起こすバックドアプログラムとして記述されています。マシンがオンラインになるとすぐに、自動更新によりパッチがインストールされ、システムのリモート制御ができなくなりました。バックドアが閉じられたため、攻撃者はマシン上に物理的なアカウントを作成し、何が起きているか気づくまでさらに1週間マシンを利用できたと思います。

悪意のあるコード(.exeおよび.dll)を積極的に削除し、セルフホスティングWebサイトとユーザーアカウントを削除すると、マシンは再び動作状態になります。近い将来、システムを監視し、サーバーログを確認して、インシデントの繰り返しが発生しているかどうかを判断します。

提供された情報と手順をありがとう。

回答:


28

事後分析を行うことは、それ自体が黒い芸術です。実際には2つの侵入は同じではないため、毎回少し異なります。そのことを念頭に置いて、推奨されるプロセスの基本的な概要を以下に示し、状況に応じたいくつかの具体的な注意事項を示します。

  1. マシンをネットワークから物理的に切断します。(本当に。今すぐやる。)
  2. オプションの手順:将来の使用に備えて、ハードドライブのバイナリイメージコピーを作成します。
  3. すべてのログファイル、貴重なデータなどのコピーをリムーバブルハードドライブに作成する
    • 必要に応じて、見つけた「ハッカーツール」もコピーします
  4. 実際の事後分析を開始します。あなたの場合:
    • 新規または不足しているユーザーアカウントをメモします。ホームフォルダに「興味深い」コンテンツがあるかどうかを確認します。
    • 新規または欠落しているプログラム/バイナリ/データファイルに注意してください。
    • 最初にMySQLログを確認します-「異常な」ものを探します
    • 残りのサーバーログを確認します。作成中の新しいユーザー、ログインしたアドレスなどを見つけることができるかどうかを確認します。
    • データの損傷または盗難の証拠を探す
  5. 問題の原因を見つけたら、それが再び起こらないようにする方法に注意してください。
  6. サーバーをきれいに拭きます:すべてをフォーマットして再インストールし、データを復元し、#5のメモを元の穴に差し込みます。

法執行機関に関与する場合は、通常、手順2を実行します。ステップ3を実行すると、ステップ2で作成したイメージコピーを読み取らずに、サーバーの再構築後に情報を確認できます。

ステップ4の詳細は、目標によって異なります。穴を塞ぐだけで、貴重なデータを誰が盗んだのかを追跡するのとは異なります。

ステップ6は重要です。侵害されたホストを「修正」することはありません。ホストを消去し、既知の正常な状態からやり直します。これにより、時限爆弾としてボックスに残された厄介なナゲットを見逃すことがなくなります。

これは決して完全な事後分析の概要ではありません。私は常にプロセスの改善を探しているので、これをコミュニティWikiとしてマークしています-あまり使用しません:-)


3
私はこのようなことをした経験はありませんが、調査のためにマシンをイメージする場合のSecurity Monkeyのアドバイスは、電源コードを引き、ハードドライブをイメージしてから調査を開始することです。(セキュリティモンキー:it.toolbox.com/blogs/securitymonkey
-MattB

1
セキュリティモンキーは死んでいます-マシンをイメージするために行くとき、マシンを冷たくします(電源コードを引きます)。シャットダウンおよび/またはスタートアップは、自己破壊またはコードのクリーンアップをトリップし、電源をヤンクすると、イメージを作成する前にそれが発生するのを防ぎます。
voretaq7

2
また、netstat(またはdirなど)のようなハッキングされたシステム上の「組み込み」コマンドの結果を信頼すべきではないと言うでしょう。繰り返しますが、エンタープライズレベルでこれを直接経験したことはありませんが、ハッキングされたことを覚えていますハッキングの一部が組み込みツールを置き換えて、実際に何が起こっているかを隠すことであったパーソナルマシンで。
MattB

4
+1ステップ6は不可欠です。実際のネットワークトラフィックを分析せずにnetstatが真実を示しているかどうかはわかりません。それ自体が非常に複雑で、忍耐力のテストになる可能性があります。もうあなたの箱ではありません。必要なすべての画像を分析しますが、いまいましいマシンを拭いてください;)
オスカーデューブボーン

1
調査中に何が見つかるか完全にはわからないので、毎回ステップ2を実行する方がおそらく良いと思います。また、バイナリイメージを持つことは、それぞれがコピーを使用して、さまざまな人がさまざまなものを見ることができることを意味します。
バティーン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.