ポートスキャン
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 †
- 「nmap」参照
flan †
- A pretty sweet vulnerability scanner (CloudFlare)
https://github.com/cloudflare/flan
https://blog.cloudflare.com/introducing-flan-scan/
sx †
https://github.com/v-byte-cpu/sx
masscan †
https://github.com/robertdavidgraham/masscan
ポートスキャン対策 †
サーバ環境の情報がバレることを防ぐ方法 †
- Webサーバ
- デフォルトページ(index.htmlなど)を漏れなく配置する
- 詳細なエラーメッセージを出力しないよう設定する
- HTTPレスポンスにWebサーバのソフトウェアの名称やバージョン情報を出力しないよう設定する