はじめに
サイバー攻撃の一連のプロセスを7つのステップに分けて整理するサイバーキルチェーン。
その最初のステップに偵察があります。攻撃者はまず標的とするそ組織の情報を収集します。
システムやネットワークの情報を収集するのは一般的にポートスキャンを行います。どのポートが空いているのか、どのようなサービスを実行するのか把握するためです。ポートスキャンはNmapというツールを使用するのが一般的です。
ポートスキャンとは
ポートスキャンはネットワークの入り口調査のことです。
これは攻撃側と防御側の2つの視点があります。
- 攻撃側:到達できるホストとサービス(ポート)を列挙して侵入して経路を探す
- 防御側:想定外のポートが開いていないか、バージョンに脆弱性がないかを確認してリスクを低減する
ポートスキャンの仕組み
1台または複数ホストに対し、TCP/UDPでさまざまな種類のパケットを送信し、返事(PST、SYN-ACKなど)やタイムアウトから開いているかどうかを推測する。
基本的な書式
nmap [–オプション ...] ターゲット(ホストまたはネットワーク)
認識されるポート
ポートが空いているか閉じているか、侵入可能か否かの結果
状態 | 意味 | 対策のヒント |
---|---|---|
open | アプリが接続を受け付けた | パッチ適用・認証強化 |
closed | 応答はあったが待ち受けなし | FW で DROP/BLOCK 推奨 |
filtered | 応答が返らない/FWで遮断 | 監視ログを確認 |
open \ filtered | 判断不能(特に UDP) | |
unfiltered | 閉じているが FW 透過 | IDS で監視強化 |
オプション
オプション | 何をする?(超ざっくり) | 代表的な使い方例 |
---|---|---|
-sS |
TCP SYN スキャン(最も定番・速い) | nmap -sS 192.0.2.10 |
-sT |
TCP コネクトスキャン(権限不要) | sudo 権限ない時 → nmap -sT 192.0.2.10 |
-sU |
UDP ポートを調べる | nmap -sU 192.0.2.10 |
-p 80,443 |
ポート番号を指定 | nmap -p 22,80,443 192.0.2.10 |
-F |
「よくあるポート」だけ高速チェック | nmap -F 192.0.2.10 |
--top-ports 100 |
上位 100 ポートだけ調査 | nmap --top-ports 100 192.0.2.10 |
-A |
OS・サービスバージョン・スクリプト全部まとめて | nmap -A 192.0.2.10 |
-sV |
サービスバージョン検出( -A より軽い) | nmap -sV 192.0.2.10 |
-O |
OS 推定 | sudo nmap -O 192.0.2.10 |
-Pn |
Ping しない(FW 越えやすい) | nmap -Pn 203.0.113.7 |
-T4 |
スキャン速度を「やや速く」 | nmap -T4 192.0.2.0/24 |
-iL hosts.txt |
ホスト一覧ファイルを読む | nmap -iL targets.txt -sS |
-oN scan.txt |
標準形式で保存(メモ向け) | nmap -oN result.txt 192.0.2.10 |
--open |
開いているポートだけ表示 | nmap --open 192.0.2.10 |
--script vuln |
脆弱性スクリプト(簡易診断) | nmap -sV --script vuln 192.0.2.10 |