アプリケーション制御の個別のシグネチャ機能 (個別のシグネチャ を参照) を使用すると、リバース シェル悪用攻撃を防ぐことができます。リバース シェル悪用は、攻撃者がゼロデイ (Zero-day) 悪用によってシステムへの侵入に成功した場合に使用される可能性があります。ゼロデイ悪用とは、そのシグネチャがまだセキュリティ ソフトウェアで認識されない攻撃のことです。
この使用事例は、ウィンドウズ システムをホストしている環境で、すべての TCP/UDP ポートを介した暗号化されていない接続をインターセプトする場合に適用できます。
•
|
netcat ツールを使用して、特徴を検出する実際のネットワーク活動を生成する
|
•
|
Wireshark ツールを使用して活動をキャプチャし、ペイロードをテキスト ファイルにエクスポートする
|
•
|
netcat ツールが備える多くの機能の 1 つに、プログラムの出力を送信接続またはリスニング接続にバインドする機能があります。次の使用例は、リスニング“コマンド プロンプト デーモン"を設定する方法、またはリモート エンドポイントに接続して、対話型のコマンド プロンプトを提供する方法を示しています。
•
|
ポート 23 に接続するホストから Windodws4 プロンプトを利用できるようになります (-l オプションは、既定の暗黙的な接続モードとは逆のリスン モードを表しています)。
•
|
ホスト 44.44.44.44 が次の netcat コマンドを使用してポート 23 でリスンしている場合に、ホスト44.44.44.44 からウィンドウ プロンプトを利用できるようになります。
nc -l ー p 23
データをキャプチャするには、Wireshark を起動し、「Capture > Interfaces」を選択してキャプチャ ダイアログを開きます。netcat トラフィックを処理するインターフェースでキャプチャを開始します。キャプチャを開始したらすぐに netcat コマンドを実行し、キャプチャを終了します。
次の図は、そのような接続時のネットワーク上のデータ フローを示しています (Vista Enterprise、2007 年 6 月)。
16 進データをテキスト ファイルにエクスポートし、パケット ヘッダー、不必要な部分や変化する部分およびスペースを取り除きます。ここで関係があるのは "Microsoft… reserved." の部分です。これには Wireshark の 16 進ペイロード エクスポート機能を使用します。Wireshark については、Wireshark を参照してください。
Vista のコマンド プロンプト バナーを表す一致オブジェクトのオブジェクト内容として、次の 16 進文字を入力します。
ウィンドウズ サーバ 2003 やその他のバージョンのウィンドウズの例も、ここで説明した方法で簡単に取得できます。
一致オブジェクトを作成したら、そのオブジェクトを使用するポリシーを定義します。次の図は、他のポリシーの設定を示しています。この例の「ポリシー名」と「方向」の設定は、リバース シェル専用になっています。前述のように、「方向」の設定を「両方」に変更し、より汎用的な名前を付けることで、適用範囲を広げることもできます。
経験則として、適切なセキュリティ対策には多層のインテリジェンスが組み込まれており、ある 1 つの方法だけを悪意のあるコードに対する決定的な防御と見なすことはできません。