ポートスキャン

2023-06-27 (火) 19:13:24

ポートスキャン とは

  • ターゲット端末の開いているポートの状態を調査すること
  • 調査対象が応答するバナー情報から、アプリケーションの種類やバージョンを調査する

ポートスキャンの種類

TCP

TCPコネクトスキャン

  • TCPコネクションを確立できるか確認する
  • サーバ側でTCPコネクション確立をログに記録していれば、調査されたことを確認することが可能

UDP

UDPスキャン

  • 何も応答がなかった場合、アクティブ状態と判断する
  • 「ICMP port unreachable」の応答があった場合、ポートは閉じている
  • ステルススキャン

TCP ※ステルススキャン

  • ステルススキャン
    • TCPコネクションを確立しないでポートの状態を確認する

SYNスキャン (TCPハーフスキャン)

  • SYNパケットに対する反応(応答結果)を確認する
  • TCPコネクションを確立しないので、サーバ側のログに記録されない

FINスキャン

  • FINフラグ(TCPヘッダのコードビット)が"1"(ON)のパケットを送り、その反応でポートの状態を確認する

ACKスキャン

  • ACKフラグ(TCPヘッダのコードビット)が"1"(ON)のパケットを送り、その反応でポートの状態を確認する

Nullスキャン

  • TCPヘッダのコードビットの全てが"0"(OFF)のパケットを送り、その反応でポートの状態を確認する

クリスマスツリースキャン

  • URG, PSH, FINフラグ(TCPヘッダのコードビット)の3つのフラグが"1"(ON)のパケットを送り、その反応でポートの状態を確認する

スタックフィンガープリンティング

  • アプリケーションの種類・バージョンや、調査対象の応答の仕方などから、OSの種類やバージョンを調査する

ポートスキャンツール

nmap

flan

sx

https://github.com/v-byte-cpu/sx

masscan

https://github.com/robertdavidgraham/masscan

ポートスキャン対策

サーバ環境の情報がバレることを防ぐ方法

  • Webサーバ
    • デフォルトページ(index.htmlなど)を漏れなく配置する
    • 詳細なエラーメッセージを出力しないよう設定する
    • HTTPレスポンスにWebサーバのソフトウェアの名称やバージョン情報を出力しないよう設定する

関連用語