Nmap と DNS による Kali の情報収集

NmapBeginner
オンラインで実践に進む

はじめに

情報収集は、明確な対象と範囲から始まります。ポート番号、ポート状態、アプリケーションのフィンガープリント、脆弱性の結論はそれぞれ異なるもので、同じ意味として扱うべきではありません。

準備されたローカル DNS と HTTP サービスで、小規模な Nmap の作業手順を練習します。対象の名前を解決し、指定されたポートだけをスキャンし、サービスを識別して、分析用に出力を保持します。

対象の名前を解決し、選択したポートをスキャンする

このステップでは、明示された演習対象の名前を解決し、小さなポート集合に TCP connect スキャンを実行します。

Kali に入り、共有ワークスペースを選びます。

kali
cd /home/labex/project

許可された対象は、ローカルの演習用 DNS サーバーが提供する training-target.test です。前の実習の DNS 手順で A レコードを解決します。

dig @127.0.0.1 -p 5353 +short training-target.test A

応答はコンテナのループバックアドレス 127.0.0.1 です。このアドレスのポート 8000、8081、9999 だけが範囲内です。ホスト、ゲートウェイ、公開システムをスキャンしないでください。

Nmap はホストとサービスの情報を検出します。-sT は通常の TCP 接続試行を使うので、一般の学習者として実行できます。-p は要求するポート集合を限定し、カンマで番号を区切ります。-oN は通常の人が読める出力を、続くファイル名に保存します。

nmap -sT -p 8000,8081,9999 -oN ports.txt 127.0.0.1

スキャンの完了を待ちます。ポート 8000 と 8081 は open、9999 は closed と報告されるはずです。open はサービスが TCP 接続を受け付け、closed は対象が応答したものの、そのポートでは接続を受け付けるサービスがないことを意味します。一方 filtered は、プローブや応答が妨げられ、Nmap が状態を判断できないことを意味します。

保存したレポートを読みます。

cat ports.txt

対象が示され、要求したポート行があるはずです。バージョン検出なしでは、SERVICE のラベルは Nmap の慣例的なポート名の表に由来する場合があります。実際に待ち受けるアプリケーションの証拠ではなく、手掛かりとして扱ってください。

サービスを識別し、開いているポートの記録を抽出する

このステップでは、サービスのバージョン調査を使い、簡潔な調査結果を保存します。

-sV は、開いているサービスを調査してアプリケーション情報を得るよう Nmap に要求します。これはサービスとバージョンの検出で、Nmap Scripting Engine(NSE)ではなく、それだけで脆弱性を確認するものでもありません。調査を二つの開いている演習ポートに限定します。

nmap -sT -sV -p 8000,8081 -oN services.txt 127.0.0.1

提供されたサービスは Python HTTP サーバーです。結果は HTTP を識別し、Python やサーバーバージョンの詳細を含む場合があります。正確なツールやインタープリターのバージョンは、環境の保守で変わることがあります。

保存したバージョンレポートを読みます。

cat services.txt

そのサービスの証拠を、ports.txt の慣例的な名前と比較してください。既定以外のポートでも HTTP は動きます。ポート番号はアプリケーションの識別情報ではありません。

学習済みのテキスト絞り込みで、開いているポートの行を抽出します。open の前後の空白で、状態欄に一致を絞ります。

grep ' open ' services.txt > open-services.txt
cat open-services.txt

開いている二つのポートにつき、一行ずつ表示されるはずです。これらは観測された公開状態とサービス情報の記録で、どちらかのサービスを悪用できる証明ではありません。元の文脈を再確認できるよう、簡潔な調査結果と一緒に完全なレポートも残してください。

まとめ

許可された対象の名前を解決し、対象を絞った TCP connect スキャンを実行し、開いている状態と閉じている状態を解釈し、サービスのバージョン調査を使いました。検出と脆弱性の確認を混同せず、完全なレポートを保持し、開いているサービスの簡潔な行を抽出しました。