Nmap で IPv6 ターゲットをスキャンする

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

はじめに

この実験では、Nmap を使って IPv6 ターゲットをスキャンする方法を学びます。この実験では、ループバックアドレスでの IPv6 スキャンの有効化、IPv6 アドレスの範囲のスキャン、TCP スキャンの実行、スキャンに詳細度を追加、スキャン結果をファイルに保存、および Xfce 端末でのスキャンの確認など、いくつかの重要な操作が扱われます。各ステップでは、実際のコマンドと説明が提供されており、効果的な IPv6 スキャンを理解して実行するのに役立ちます。

nmap -6 ::1 を使って IPv6 スキャンを有効にする

このステップでは、nmap を使って基本的な IPv6 スキャンを行います。nmap は、パケットを送信して応答を分析することで、コンピュータネットワーク上のホストとサービスを見つけるために使用される強力なネットワークスキャンツールです。-6 オプションは、nmap に IPv6 スキャンを行うように指示します。::1 は、IPv4 の 127.0.0.1 に相当する IPv6 のループバックアドレスで、自分自身のマシンを指します。

始める前に、IPv6 アドレス ::1 を理解するのに役立ちます。IPv6 では、アドレスは 128 ビット長で、通常はコロンで区切られた 8 つの 4 桁の 16 進数のグループとして書かれます。:: 表記は、ゼロになった 16 進数のグループの 1 つ以上のシーケンスを表すために使用されます。したがって、::10000:0000:0000:0000:0000:0000:0000:0001 の省略形です。

さて、スキャンを実行してみましょう。

  1. Xfce 端末を開きます。

  2. 次のコマンドを実行します。

sudo nmap -6 ::1

このコマンドは、nmap に IPv6 ループバックアドレス (::1) をスキャンするように指示します。nmap は、通常、生のパケットを送信するために特権昇格が必要なので、sudo が必要です。

出力は次のようになります。

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for ip6-localhost (::1)
Host is up (0.000073s latency).
Other addresses for ip6-localhost (not scanned): fe80::1%lo

Service detection performed. Please report any incorrect results.
Nmap done: 1 IP address (1 host up) scanned in 1.12 seconds

この出力は、::1 のホストが稼働していることを示しています。また、ip6-localhost に関連付けられた他のアドレスも表示されています。スキャンは正常に完了しました。

nmap -6 fe80::1-fe80::10 を使って IPv6 範囲をスキャンする

このステップでは、nmap を使って IPv6 アドレスの範囲をスキャンします。これは、特定のネットワークセグメント内のホストを見つけるのに役立ちます。fe80::/10 IPv6 アドレス範囲は、ローカルネットワークセグメント内でのみ有効なリンクローカルアドレスに使用されます。アドレス fe80::1 から fe80::10 は、これらのリンクローカルアドレスの小さな範囲を表しています。

  1. Xfce 端末を開きます。

  2. 次のコマンドを実行します。

sudo nmap -6 fe80::1-fe80::10

このコマンドは、nmapfe80::1 から fe80::10 までの IPv6 アドレス範囲をスキャンするように指示します。nmap は、この範囲内の各アドレスにパケットを送信し、応答を分析してホストが存在するかどうかと、それが実行しているサービスを判断します。

出力は次のようになります(正確な出力はネットワーク環境によって異なります)。

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for fe80::1
Host is up (0.00012s latency).
Other addresses for fe80::1: <MAC ADDRESS>%eth0

Nmap scan report for fe80::2
Host is down.

Nmap scan report for fe80::3
Host is down.

Nmap scan report for fe80::4
Host is down.

Nmap scan report for fe80::5
Host is down.

Nmap scan report for fe80::6
Host is down.

Nmap scan report for fe80::7
Host is down.

Nmap scan report for fe80::8
Host is down.

Nmap scan report for fe80::9
Host is down.

Nmap scan report for fe80::10
Host is down.

Nmap done: 10 IP addresses (1 host up) scanned in 2.54 seconds

この例では、fe80::1 のみが稼働していると報告されています。範囲内の他のアドレスは、ダウンと報告されており、nmap がそれらのアドレスから応答を受け取らなかったことを意味します。また、fe80::1 に関連付けられた MAC アドレスも表示されています。

nmap -6 -sT ::1 を使って TCP スキャンを実行する

このステップでは、nmap を使って IPv6 ループバックアドレス (::1) に対して TCP スキャンを行います。-sT オプションは、TCP 接続スキャンを指定します。この種のスキャンは、完全な TCP 3 手順ハンドシェイク(SYN、SYN-ACK、ACK)を完了させて、ターゲットポートとの接続を確立します。信頼性の高いスキャン方法ですが、比較的遅く、検出されやすいです。

  1. Xfce 端末を開きます。

  2. 次のコマンドを実行します。

sudo nmap -6 -sT ::1

このコマンドは、nmap に IPv6 ループバックアドレス (::1) に対して TCP 接続スキャン (-sT) を行うように指示します。nmap はネットワークスキャンを実行するために特権が必要なので、sudo が必要です。

出力は次のようになります。

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for ip6-localhost (::1)
Host is up (0.000026s latency).
All 1000 scanned ports on ip6-localhost (::1) are closed

Nmap done: 1 IP address (1 host up) scanned in 1.23 seconds

この出力は、::1 のホストが稼働していることを示しています。また、スキャンされた 1000 個のポートがすべて閉じていることも示しています。それらのポートにアクティブにリッスンしているサービスがない場合、これは一般的な結果です。

nmap -6 -v ::1 を使って詳細度を追加する

このステップでは、nmap のスキャンに冗長性を追加します。-v オプションは、冗長性レベルを上げ、スキャンプロセスに関するより詳細な情報を提供します。これは、nmap が何をしているかを理解したり、問題のトラブルシューティングに役立ちます。

  1. Xfce 端末を開きます。

  2. 次のコマンドを実行します。

sudo nmap -6 -v ::1

このコマンドは、nmap に、冗長性を上げて (-v) IPv6 ループバックアドレス (::1) に対してスキャンを行うよう指示します。

出力は、以前のスキャンよりも詳細になります。スキャンフェーズ、送信されるプローブ、受信される応答に関する情報が見られます。たとえば:

Starting Nmap 7.80 ( https://nmap.org )
NSE: Loaded 0 scripts for scanning.
Initiating Ping Scan at 14:35
Scanning ::1 [4 ports]
Completed Ping Scan at 14:35, 0.00s elapsed (4 total ports)
Nmap scan report for ip6-localhost (::1)
Host is up (0.0000090s latency).
All 1000 scanned ports on ip6-localhost (::1) are closed

Nmap done: 1 IP address (1 host up) scanned in 1.12 seconds

-v オプションは、さらに冗長性レベルを上げるために複数回使用できます(たとえば、-vv または -vvv)。追加の -v ごとに、さらに詳細な情報が提供されます。

nmap -6 -oN ipv6.txt ::1 を使って IPv6 の結果を保存する

このステップでは、nmap のスキャン結果をファイルに保存します。-oN オプションは、出力を通常の形式で指定されたファイルに保存することを指定します。これにより、後でスキャン結果を確認したり、さらなる分析に使用することができます。

  1. Xfce 端末を開きます。

  2. 次のコマンドを実行します。

sudo nmap -6 -oN ipv6.txt ::1

このコマンドは、nmap に IPv6 ループバックアドレス (::1) に対してスキャンを行い、結果を通常の形式で現在のディレクトリ (~/project) の ipv6.txt という名前のファイルに保存するよう指示します。

スキャンが完了した後、ipv6.txt ファイルの内容をテキストエディタまたは cat コマンドを使って表示できます。

たとえば、cat を使ってファイル内容を表示するには:

cat ipv6.txt

出力は、端末上で見るのと同じような、読みやすい形式のスキャン結果になります。

## Nmap 7.80 scan initiated Mon Oct 23 14:40:00 2023
Nmap scan report for ip6-localhost (::1)
Host is up (0.000011s latency).
All 1000 scanned ports on ip6-localhost (::1) are closed

## Nmap done at Mon Oct 23 14:40:01 2023 -- 1 IP address (1 host up) scanned in 1.11 seconds

Xfce 端末で IPv6 スキャンを確認する

このステップでは、前のステップで ipv6.txt ファイルに保存した IPv6 スキャン結果を確認します。これにより、出力形式を理解し、スキャン対象の重要な情報を特定できます。

  1. Xfce 端末を開きます。

  2. cat コマンドを使用して ipv6.txt ファイルの内容を表示します。

cat ipv6.txt

このコマンドにより、ファイルの内容が端末に表示されます。以下のような出力が表示されるはずです。

## Nmap 7.80 scan initiated Mon Oct 23 14:40:00 2023
Nmap scan report for ip6-localhost (::1)
Host is up (0.000011s latency).
All 1000 scanned ports on ip6-localhost (::1) are closed

## Nmap done at Mon Oct 23 14:40:01 2023 -- 1 IP address (1 host up) scanned in 1.11 seconds

あるいは、nano のようなテキストエディタを使用してファイルを開き確認することもできます。

nano ipv6.txt

これにより、nano エディタで ipv6.txt ファイルが開き、結果をスクロールして詳細に調べることができます。Ctrl+X を押して nano を終了します。

出力には以下のような情報が含まれます。

  • スキャンに使用した nmap のバージョン
  • 対象の IP アドレス(この場合は ::1
  • IP アドレスに関連付けられたホスト名(利用可能な場合)
  • ホストの状態(起動中または停止中)
  • スキャンされたポートのリストとその状態(開いている、閉じている、フィルタリングされているなど)
  • スキャンが開始された時間と完了した時間
  • スキャンにかかった合計時間

スキャン結果を確認することで、対象システムのネットワーク構成とセキュリティポジションについての洞察を得ることができます。

まとめ

この実験では、参加者は Nmap を使用してさまざまな IPv6 スキャンを行う方法を学びました。まず、コマンド sudo nmap -6 ::1 を使ってループバックアドレス ::1 で基本的な IPv6 スキャンを行い、IPv6 アドレス表記と昇格権限の必要性を理解しました。また、特定のネットワークセグメント内のホストを見つけるために、fe80::1 から fe80::10 までの IPv6 範囲をスキャンする方法も学びました。さらに、TCP スキャンを実行し、スキャンに詳細度を追加し、結果をファイルに保存し、Xfce 端末でスキャン結果を確認する方法を探りました。