ポートスキャナは、ネットワークポートで、開いている、閉じている、またはフィルタリングされている三つのステータスのいずれかをチェッ
ポートスキャナは、ネットワークと接続の問題を診断するための貴重なツールです。 しかし、攻撃者はポートスキャナを使用して、侵入の可能性のあるアクセスポイントを検出し、ファイアウォール、プロキシサーバー、VPNサーバーなど、ネットワーク上で ここでは、ポートスキャナのインとアウトを紹介します。
- ポートスキャナの動作方法
- ポートスキャン技術
- ポートスキャンツール
- ポートスキャンを検出する方法
- ポートスキャンを実行する理由
ポートスキャナはどのように動作しますか?
ポートスキャナは、コンピュータ上の特定のTCPまたはUDPポートに接続するためのネットワーク要求
ポートスキャナが行うことは、現在の状態を確認するためにポートにネットワークデータのパケットを送信することです。 Webサーバーが正常に動作しているかどうかを確認する場合は、そのサーバー上のポート80の状態を確認して、開いていてリッスンしていることを確認します。
このステータスは、ネットワークエンジニアがネットワークの問題やアプリケーションの接続の問題を診断したり、攻撃者がネットワークへの侵入に使P>
ポートとは何ですか?
ポートは、ネットワーク通信が開始および終了する仮想の場所です(簡単に言えば)。 より詳細な説明のために、我々は少し背景情報を確立する必要があります。 各コンピュータには二つの種類のネットワークポートがあります(65,536のネットワークポートの合計131,082のネットワークポート):
- TCPとUDP
各コンピュータにはインターネットプロトコル(IP)アドレスがあり、これはネットワークがどのコンピュータにパケットを送信するかを知る方法です。 IPアドレスにパケットを送信すると、コンピュータは、アプリケーションまたはパケットの内容に基づいて、パケットをルーティングするポートを認識します。 コンピュータ上で実行されている各サービスは、指定されたポートで”リッスン”する必要があります。最初の1023個のTCPポートは、FTP(21)、HTTP(80)、SSH(22)などのアプリケーション用に予約された既知のポートであり、Internet Assigned Numbers Authority(IANA)はこれらの点を標準化するために予約しています。TCPポート1024–49151は、サービスまたはアプリケーションで使用でき、IANAに登録できるため、半予約状態と見なされます。 ポート49152以降は自由に使用できます。
ポートスキャンの基本
ポートスキャナは、TCPまたはUDPネットワークパケットを送信し、ポートに現在の状態を尋ねます。 応答の3つのタイプは以下のとおりです。
- オープン、受け入れ:コンピュータが応答し、あなたのためにできることがあるかどうかを尋ねます。
- Closed,Not Listen:コンピュータは”このポートは現在使用中であり、現時点では使用できません。”
- フィルタリング、ドロップ、ブロック:コンピュータも応答する気にしません。
ポートスキャンは、一般的に偵察や侵入中に、サイバーキルチェーンの初期に発生します。 攻撃者は、ポートスキャンを使用して、開いているポートと未使用のポートを持つターゲットを検出し、侵入、コマンドと制御、およびデータ抽出のために再利用したり、そのコンピュータ上で実行されているアプリケーションを発見して、そのアプリケーションの脆弱性を悪用します。
ポートスキャン技術
Nmapは、利用可能な最も人気のあるオープンソースポートスキャンツールの一つです。 Nmapには、さまざまなシナリオに対してさまざまなポートスキャン技術が用意されています。
Ping Scanner
最も単純なポートスキャンはpingスキャンです。 Pingは、インターネット制御メッセージプロトコル(ICMP)エコー要求であり、ターゲットが生きていることを示すICMP応答を探しています。 Pingスキャンは、誰が応答するかを確認するために、異なるターゲットへの多くのICMPエコー要求の自動化された爆発です。 Pingスキャンは技術的にポートスキャン技術ではありませんが、あなたが戻って得ることができる最善の方法は、もう一方の端にコンピュータがあるとい
管理者は通常、ファイアウォールまたはルーターの外部トラフィックに対してICMP(ping)を無効にし、ネットワーク内で開いたままにします。 この機能をオフにして、この方法でネットワークを偵察することを不可能にするのは、迅速かつ簡単です。 しかし、pingは便利なトラブルシューティングツールであり、それをオフにすると、ネットワークの問題を追跡することがもう少し困難になります。
TCP Half Open
より一般的で一般的なポートスキャン技術の一つは、TCP half-open port scanであり、SYNスキャンと呼ばれることもあります。 これは、ターゲットコンピュータ上の潜在的なオープンポートを見つけようとする高速かつ卑劣なスキャンです。
SYNパケットはコンピュータからの応答を要求し、ACKパケットは応答です。 典型的なTCPトランザクションでは、SYN、サービスからのACK、および受信した3番目のACK確認メッセージがあります。
このスキャンは、完全なTCP3way-handshakeを完了することがないため、高速で検出が困難です。 スキャナはSYNメッセージを送信し、SYN-ACK応答のみを記録します。 スキャナは最終的なACKを送信して接続を完了しません。
SYN-ACK応答は、おそらく開いているポートです。 RST(reset)応答は、ポートが閉じられていることを意味しますが、ここにはライブコンピュータがあります。 ネットワーク上でSYNがフィルター処理されていることを示す応答はありません。 ICMP(またはping)no応答も、フィルター処理された応答としてカウントされます。
TCPハーフオープンスキャンは、NMAPのデフォルトのスキャンです。
TCP Connect
このポートスキャン技術は、基本的にTCPハーフオープンスキャンと同じですが、ターゲットをハングさせたままにする代わりに、ポートスキャナがTCP接続を完了します。これは、TCPハーフオープンほど一般的な手法ではありません。
まず、スキャンごとにもう一つのパケットを送信する必要があり、ネットワーク上で行っているノイズの量が増加します。 第二に、ターゲットの接続を完了したので、ハーフオープンスキャンではないというアラームをトリップする可能性があります。
ターゲットシステムは完全なTCP接続をログに記録する可能性が高く、侵入検知システム(IDS)も同様に、同じホストからの複数のTCP接続でアラームをトTCP connect scanの利点は、ユーザーがハーフオープンスキャンを実行するのと同じレベルの特権を必要としないことです。 TCP connectスキャンでは、ユーザーが他のシステムに接続するために必要な接続プロトコルを使用します。
UDP
UDPスキャンはTCPスキャンよりも遅いですが、攻撃者が使用できる悪用可能なUDPサービスがたくさんあります(たとえば、DNS exfiltration)。 防御側は、TCPポートと同じvoracityでUDPポートを保護する必要があります。
UDPスキャンは、特定のペイロードをターゲットに送信するときに最適です。 たとえば、DNSサーバーが稼働しているかどうかを知りたい場合は、DNS要求を送信します。 他のUDPポートの場合、パケットは空に送信されます。 ICMP到達不能応答は、ポートが閉じられているか、フィルタリングされていることを意味します。 サービスが実行されている場合は、ポートが開いていることを意味するUDP応答が表示されることがあります。 ポートが開いているか、フィルタリングされていることを意味する応答はありません。UDPスキャンのもう一つの論理的な使用は、UDPポート53にDNS要求を送信し、DNS応答を取得するかどうかを確認することです。 応答が得られれば、そのコンピュータにDNSサーバーがあることを知っています。 UDPスキャンは、アクティブなサービスをそのようにスカウトするのに役立ち、Nmapポートスキャナは、多くの標準サービスに対する要求を送信するように事前
TCPとUDPの違い
TCPとUDPは、インターネットプロトコル(IP)ネットワークで使用される最も一般的なプロトコルです。 TCPは、各パケットを順番に送信し、エラーチェック、検証、および各パケットが成功したことを確認するための3方向ハンドシェイクを完了します。UDPにはエラーチェックはありませんが、高速になる傾向があります。
UDPにはエラーチェックはありませんが、高速です。 ライブストリーミングとオンラインビデオゲームは、多くの場合、この理由のためにUDPを使用します。 UDPはコネクションレスプロトコルなので、UDPを使用するプログラムはデータを送信するだけです。
ステルススキャン
いくつかのポートスキャンは他のものよりも検出が容易であるため、防御側は攻撃者がポートスキャンを検出することを困難にすることを可能にするこれらのTCPフラグについて知る必要があります。
パケットとFINフラグを使用してポートスキャンを送信すると、パケットを送信し、応答を期待しません。 RSTを取得した場合は、ポートが閉じていると想定できます。 何も戻ってこない場合は、ポートが開いていることを示します。 ファイアウォールはSYNパケットを探しているので、FINパケットは検出されずにスリップします。
X-MASスキャンは、FIN、URG、およびPUSHフラグを含むパケットを送信し、FINスキャンと同様に、RSTまたはno応答を期待します。 このスキャンのための多くの実用的な使用はありませんが、それはパケットがクリスマスツリーに似ているので、それがあります。
また、NULLパケットと呼ばれるフラグなしのパケットを送信することもでき、応答はRSTまたはnothingのいずれかです。
ハッカーにとっては、これらのスキャンについての良いことは、通常はログに表示されないということです。 より最近の侵入検知ソフトウェア(IDS)と、もちろん、WireSharkはこれらのスキャンをキャッチします。 悪いニュースは、ターゲットがMicrosoft OSの場合、閉じたポートしか表示されないということですが、開いているポートが見つかった場合、Windowsマシンではないと想定で これらのフラグを使用する最も重要な利点は、ファイアウォールを通過することができるため、結果の信頼性が向上することです。
追加のスキャン技術
私たちが議論したスキャンが最も一般的ですが、これは網羅的なリストではありません。 ここでは、いくつかのより多くのスキャンとそれらを実行する理由があります:
- TCP ACK scan:ファイアウォールルールセットをマップする
- TCP Window scan:開いているポートを閉じたポートから区別できますが、少数のシステムでのみ動作します
- –scanflags:スキャンでカスタムTCPフラグを送信したい上級ユーザーの場合は、Nmap
Port Scanning Tools
- Nmap
- Solarwinds Port Scanner
- netcat
- 高度なポートスキャナ
- netscanツール
ポートスキャンを検出する方法は?
ポートスキャンを検出するには、ネットワークの脆弱性をスキャンしようとする試みである可能性
一つは、PortSentryやScanlogdのような専用のポートスキャン検出器ソフトウェアアプリケーションです。
Netcatには、ポートスキャン機能と、単純なチャットサーバーを作成したり、テスト目的で異なるパケットをプログラムしたりする機能が含まれています。
侵入検知システム(IDS)は、ポートスキャンを検出する別の方法です。 単純にしきい値ベースではないさまざまな種類のポートスキャンを検出するために、さまざまなルールを使用するIDSを探します。
なぜポートスキャンを実行する必要があるのですか?
攻撃者が悪用する可能性のあるすべての脆弱性を検出して閉じるには、ポートスキャンを積極的に実行する必要があります。
積極的なポートスキャンは、定期的なスケジュールで繰り返す必要がある良い習慣です。 また、開いているすべてのポートが正しく使用されていること、および開いているポートを使用するアプリケーションが安全で、既知の脆弱性から保護されていることを確認するために、すべての開いているポートを確認して監査します。
ポートスキャンを実行することの意味
ポートスキャンを実行する際の注意点をいくつか紹介します。 一部のサービスまたはコンピューターは、ポートスキャンで失敗する可能性があります。 これは、インターネットに面したシステムよりも内部システムのためのものですが、発生する可能性があります。
許可なしでポートスキャンを実行することは積極的な行動と見なすことができ、共有ネットワーク上にいる場合は、管理下にないシステムをスキャン
ポートスキャンは、サイバー攻撃からの優れた防御を構築する上で重要な部分です。 攻撃者は、同様に、ポートスキャンを使用しています。 あなたはパンチにそれらを打つと可能な攻撃ベクトルを閉じて、可能な限り困難に自分たちの生活をする必要があります。しかし、周囲を守ることは戦闘の一部に過ぎません。
ポートを保護および監視するのと同じ警戒を払ってデータを保護および監視する必要があります。 Varonis Data Security Platformは、最も機密性の高いデータへの内部障壁を構築し、そのデータに影響を与える可能性のあるすべてのアクティビティを監視することで、データ
Varonisがさまざまな攻撃からデータを保護する方法を確認するために、私たちのライブサイバーアタックラボをチェッ