この記事は、侵害されたWindows®サーバーの兆候を理解して特定するのに役立ちます。これは非常に高レベルのドキュメントであり、侵害されたサーバーを解決するのではなく、潜在的な問題を追跡するためのリソースとして使用できます。
この記事では、アプリケーションレベルとシステムレベルまたはルートレベルの2種類の侵害について説明します。これらは非常に深刻であり、多くの場合、軽減するための強力な災害復旧計画が必要です。
アプリケーションレベルの侵害は、低レベルのサービスまたはユーザーが侵害された場合に発生します。このグループの一般的な侵害には、次の問題が含まれます。
- サイト改ざん
- FTPタグ付け
- FTPファイルの操作
- SQLインジェクション
このタイプの侵害は、サーバー上のデータを変更する可能性があります。ただし、サーバー上で管理アクセスまたはルートレベルのアクセスを実現することはありません。このような場合、脆弱性を特定して保護できる可能性があります。アプリケーションレベルの脆弱性の保護には、匿名のWebユーザーからの書き込みアクセスの削除、サーバーからのウイルスの削除、または利用可能なパッチによるアプリケーションの保護が含まれる可能性があります。変更されたファイルを修復するには、バックアップから復元する必要があります。
管理、システム、またはルートレベルの侵害
このタイプの侵害は、攻撃者がシステムへの管理アクセスを取得したときに発生し、次の問題が含まれる可能性があります。
System
として実行されている侵害されたサービス 、LocalService
、またはAdministrative
ユーザー- 管理者権限を持つ侵害されたユーザーアカウント
- 管理者以外のユーザーを介して、管理者ユーザーに制限されている場所(システムディレクトリなど)にアクセスする
- システムまたは管理ディレクトリでウイルスが見つかりました
- 明らかに悪意のあるアウトバウンドネットワークアクティビティ
- SQLインジェクション(コマンド実行を含む)
重要: 攻撃者がこのレベルのアクセスを取得した場合、侵害の過程で発生した変更を特定することはできません。
- タスクリスト: システム内のプロセスとサービスの詳細を提供するコマンドラインツール
- タスクマネージャー: システム内のプロセス、リソース統計、およびネットワークアクティビティの詳細を提供するグラフィカルツール
- リソースマネージャー: タスクマネージャーに似たグラフィカルツール ただし、リソースの使用に関する詳細を提供する
考えられる侵害の状況を調査するには、このセクションで説明されている次のタスクを実行します。
- 妥協点を特定する
- プロセスを確認する
- サービスを確認する
- ユーザーを確認する
予想外の高い帯域幅使用率が一般的な症状であることがよくあります。攻撃者は通常、ネットワークサービスを実行しようとしているシステムを侵害するため、システム上でサービスが実行されている可能性があります。そのため、奇数のポートをリッスンすると、サーバーが侵害された可能性があります。
-
TCPのネットワーク接続を確認するには、次のコマンドを実行します。
NetStat -naop 'TCP'
-
UDPのネットワーク接続を確認するには、次のコマンドを実行します。
NetStat** -naop 'UDP'
-
特定の接続をカウントするには、次のいずれかのコマンドを実行します。
NetStat** -naop 'TCP' find /c ":<port>"
注: Sysinternal TCP ビューは、このレビューのための代替のグラフィカルツールを提供します。
疑わしいプロセスを特定します。侵害されたサーバーでは、1つ以上の悪意のあるプロセスが実行されている可能性があります。タイプミス、文法エラー、または疑わしい説明が含まれているため、これらを特定できる場合があります。
-
システムで実行されているプロセスを一覧表示するには、次のコマンドを実行します。
Tasklist /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"
-
サービスとして定義されているプロセスを一覧表示するには、次のコマンドを実行します。
Tasklist /svc
-
現在実行中のプロセスのスナップショットをタスクマネージャーのプロセスリストと同じ出力で一覧表示するには、次のコマンドを実行します。
Get-Process
-
プロセスとその実行中のユーザーを一覧表示するには、次のいずれかのコマンドを実行します。
gwmi win32_process select Name, @{l="User name";e={$_.getowner().user}}
タイプミス、文法エラー、または疑わしい説明を探します。サービスが疑わしいと思われる場合は、プロパティと依存関係を調べてください。また、ファイルが実行可能かどうかを確認します。 サービスGUIを使用する 実行中のサービスを表示します。
-
実行中のサービスを一覧表示するには、次のコマンドを実行します。
get-service | where-object {$_.Status -eq "Running"}
サーバーが危険にさらされているかどうかを確認し、不適切な構成をすばやく特定するには、基本的なユーザーアカウントを確認します。
-
構成済みユーザーを一覧表示して不明または異常な名前のユーザーアカウントを特定するには、次のコマンドを実行します。
net user
-
構成済みのAdministratorsを一覧表示して、ローカルAdministratorsグループ内の不明なユーザーを識別するには、次のコマンドを実行します。
net localgroup Administrators
-
ゲストアカウントが有効になっていて、Administratorsグループにあるかどうかを確認するには、次のコマンドを実行します。
net user guest
MicrosoftSysinternalsから入手できるツール
詳細については、次のソースを確認してください。
- Sysinternalsへのドキュメント
- sysinternalツールへのライブリンク
- Sophos AntiRootkit
コメントや質問をするには、[フィードバック]タブを使用します。また、私たちと会話を始めることができます。