web-dev-qa-db-ja.com

不完全な影響TCPハンドシェイクセッション

ネットワークセキュリティで、なぜ不完全なTCP=ハンドシェイクセッションを知っていることを気にするのですか?この背後にセキュリティの影響がありますか?

7
steve

Answer:3ウェイハンドシェイクのさまざまな部分を意図的に送信する-時々順番に、ときどき追加フラグが設定されていない場合-攻撃者はスキャンできますIPとポートを確認し、その特定のポートが開いているか閉じているかを確認します。

私たちは、これが起こっていることを知っていることを気にしています。ただし、ほとんどの場合、ハンドシェイクが完了するまでTCP通信のログエントリは作成されません。そのため、どこかで中断された場合、ログは作成されず、攻撃者は気付かれません。

説明:IP範囲をスキャンしてネットワークをマップする場合、さまざまな種類のスキャンがあります。それらは、ハンドシェイクをどのように初期化するかに基づいて異なります。ターゲットによって提供される応答は、演繹推論に基づいて、指定されたポートが開いているか閉じているかを示します。

フルスキャンスキャナーは、ポート番号を含む標準のSYN要求を送信します。応答のタイプは、ポートが開いているかどうかを示します。スキャンへの応答として「リセット」リクエストを受信した場合、攻撃者はポートが閉じていることを認識しています。

ハーフオープンスキャン/ステルススキャン (リンクの脆弱性の説明を参照)
攻撃者は最初のSYNを送信し、SYN/ACK要求を監視しますが、最後のACKを送信するのではなく、接続を途中で中断するRST(リセット)を送信します。このスキャンでは、デバイスが送り返す情報を使用してポートが開いているかどうかを判断しますが、接続を途中で終了することで、管理者に攻撃を明白にする多くのログを回避できます。

クリスマスツリースキャン
攻撃者はFIN/URG/Pushを送信し、返信を待ちます。 RSTはポートが閉じていることを示しますが、情報を受信しないと、ポートが開いていることを示します。ターゲットマシンがRFC 793に準拠していることを要求します。これにより、Windowsマシンがターゲットとして除外されます。

FINスキャン
攻撃者は、FINを送信して接続の終了を模倣するだけです。マシンが応答する方法を知らず、何も返さない場合、ポートは開いています。マシンがRST/ACKを送信すると、ポートが閉じられます。繰り返しますが、Windowsでは機能しません。

NULLスキャン
攻撃者はTCPフラグなしのパケットを送信します。これはNULLと呼ばれます。何も送信していません。応答が受信されない場合、ポートは開いています。RST/ ACKが受信され、ポートが閉じられるこれは、UNIXベースのシステムでのみ機能します。

注:上記の説明は Dale MeredithによるPluralsightの倫理的ハッキングコース から引用したものです。小さな要約を提供しました。ただし、Pluralsightはペイウォールの背後にあるため、各スキャンの他の説明へのURLを提供しました。

上記のスキャンはすべて、Nmapなどのツールを使用してIP範囲で自動化できます。ただし、それらの一部は特に騒々しいもので(フルスキャン)、誰かがシステムをスキャンしていることを非常にはっきりさせます。どちらの方法でも、TCPハンドシェイクを意図しない方法で(ほとんどの場合)使用して)攻撃者は開いているポートを解き、そのシステムの脆弱性を見つけ出すことができます。多分。

5
R. Murray

開いているポートを検出するために使用される多くのスキャナーは、不完全または不良なTCPハンドシェイクを使用します。それらはDDOS攻撃でも使用される場合がありますが、それが当てはまる場合は100秒から1000秒です。

SYNスキャン、xmasスキャンなどがあります。彼らはあなたのIPアドレスで偵察の形をしています。

私は1日100以上のように、常にスキャンされます。

7
cybernard

これにはいくつかの可能な答えがあります-あなたの質問の文脈に応じて:

  1. TCPは、3つの異なる部分(SYN、SYN/ACK、ACK)を持つ接続指向プロトコルです。

a。 1つのデバイスがSYNパケットを送信して、受信デバイスが新しい接続のために開いているかどうかを確認または推測します。 b。受信側のデバイスは、クライアントからSYNパケットを受信すると、応答してSYN/ACKパケットと呼ばれる確認の受信を返し、追加のパケットを受信できる接続が正常にセットアップされたことを示します。 c。最後に、発信側デバイスはSYN/ACK応答の受け入れを通知し、ACKパケットを送信することでさらにパケットを送信する意思を通知します。

接続された2つのデバイスが、ハンドシェイクの一部が完了していないことを検出した場合、接続のステータスについて推論を行うことができます。たとえば、開始デバイスがSYN/ACKを受信しない場合、受信デバイスが接続用のリソースを確立しようとして失敗したと推測できます。

したがって、基本的には両方のデバイスが接続が正しく確立されていないことを推測します。

  1. 参加しているデバイスは、ハンドシェイクの進行状況から何かを推測できるだけでなく、ハンドシェイクを監視しているサードパーティのデバイスも推測できます。たとえば、多くのファイアウォールは、2つのIPアドレスが接続を確立したことを知るために、接続の特定の部分を探します。

単一のIPが、SYNパケットが最初に検出されなかったIPに多数のSYN/ACKまたはACKパケットを送信するとどうなりますか? SYN/ACKパケットはSYNパケットに続くと「想定」されているため、これは攻撃者がファイアウォール機能を調査している可能性があります。

予期しないパケットを送信することによる通常のハンドシェイクの乱用は、通常とは異なる何かを示唆しています。

次に回答します。不完全なTCPハンドシェイクの分析により、2つのホスト間の通常ではない状況でネットワーク上で何が起こっているかが明らかになります。

0
user34445

不完全なTCPハンドシェイク自体は、プロトコルの脆弱性の影響です。次に、ポートをだまして、それ自体に関する情報を明らかにするために利用できます。

0
Ganwacker