ポートスキャン とは†
- 開いているポートの状態を調査すること
- 調査対象が応答するバナー情報から、アプリケーションの種類やバージョンを調査する
ポートスキャンの種類†
TCPコネクトスキャン†
- TCPコネクションを確立できるか確認する
- サーバ側でTCPコネクション確立をログに記録していれば、調査されたことを確認することが可能
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†
https://github.com/v-byte-cpu/sx
masscan†
https://github.com/robertdavidgraham/masscan
ポートスキャン対策†
サーバ環境の情報がバレることを防ぐ方法†
- Webサーバ
- デフォルトページ(index.htmlなど)を漏れなく配置する
- 詳細なエラーメッセージを出力しないよう設定する
- HTTPレスポンスにWebサーバのソフトウェアの名称やバージョン情報を出力しないよう設定する
関連用語†