ラベル TryHackMe の投稿を表示しています。 すべての投稿を表示
ラベル TryHackMe の投稿を表示しています。 すべての投稿を表示

【TryHackMeウォークスルー】Nmap Basic Port Scans

 

Task 1  Introduction

ここは、Nmapシリーズ(ネットワークセキュリティ入門モジュールの一部)の2つ目です。

  1. Nmap Live Host Discovery
  2. Nmap Basic Port Scans
  3. Nmap Advanced Port Scans
  4. Nmap Post Port Scans

前回では、オンラインシステムの発見に焦点を当て、Nmapスキャンの3つのステップを説明しました。

  1. ターゲットの列挙
  2. ライブホストの発見
  3. 逆DNSルックアップ


次のステップは、どのポートが開いていてリッスンしているか、どのポートが閉じているかをチェックすることでしょう。そこで、今回と次回では、ポートスキャンと、nmapが使用するさまざまなタイプのポートスキャンに焦点を当てます。ここでは、以下のことを説明します。

  1. TCP connect port scan
  2. TCP SYN port scan
  3. UDP port scan

さらに、ポート、スキャンレート、並列プローブの数を指定するためのさまざまなオプションについても説明します。

■Question ※無し


Task 2  TCP and UDP Ports

IPアドレスがネットワーク上の多数のホストを特定するのと同じ意味で、TCPポートまたはUDPポートは、そのホスト上で実行されているネットワークサービスを特定するために使用されます。サーバーは、ネットワークサービスを提供し、特定のネットワークプロトコルに準拠しています。例としては、時刻の提供、DNSクエリへの応答、Webページの提供などがあります。ポートは通常、その特定のポート番号を使用するサービスにリンクされています。例えば、HTTPサーバーはデフォルトでTCPポート80に接続し、さらにHTTPサーバーがSSL/TLSをサポートしている場合は、TCPポート443で待ち受けることになります(TCPポート80と443は、SSL/TLSをサポートしている場合は、TCPポート443で待ち受けることになります)。(TCPポート80と443はHTTPとHTTPSのデフォルトポートですが、Webサーバーの管理者は必要に応じて他のポート番号を選択することができます)。さらに、1つのTCPまたはUDPポートで複数のサービスが(同じIPアドレスで)リッスンすることはできません。

単純化しすぎかもしれませんが、ポートを2つの状態に分類することができます。

  1. オープンポートは、そのポートでリッスンしているサービスがあることを示します。
  2. クローズド・ポートとは、そのポートでリッスンしているサービスがないことを示します。

しかし、現実的な場面では、ファイアウォールの影響を考慮する必要があります。たとえば、ポートが開いていても、ファイアウォールがパケットをブロックしている場合があります。そこで、Nmapは次の6つの状態を考慮します。

  1. Open:指定されたポートでサービスがリッスン中であることを示します。

  2. Closed:指定されたポートにアクセス可能ですが、どのサービスもリッスンしていないことを示します。アクセス可能とは、到達可能であり、ファイアウォールや他のセキュリティ機器/プログラムによってブロックされていないことを意味します。

  3. Filtered: ポートがアクセス可能でないため、Nmapがそのポートを開いているか閉じているか判断できないことを意味します。この状態は、通常、ファイアウォールがNmapのそのポートへの到達を妨げていることが原因です。Nmapのパケットがポートに到達するのをブロックしている可能性があり、代わりに、応答がNmapのホストに到達するのをブロックしている可能性もあります。

  4. Unfiltered: ポートはアクセス可能ですが、Nmapがそのポートが開いているか閉じているか判断できないことを意味します。この状態は、ACKスキャン-sAを使用したときに遭遇します。

  5. Open|Filtered: ポートが開いているかどうかをNmapが判断できないことを意味します。これは、Nmapが、そのポートが開いているかフィルタリングされているかを判断できないことを意味します。

  6. Closed|Filtered:これは、Nmapが、ポートが開いているかフィルタリングされているかを判断できないことを意味します。これは、Nmapが、ポートが閉じているかフィルタリングされているかを判断できないことを意味します。

■Question

Which service uses UDP port 53 by default?
DNS

Which service uses TCP port 22 by default?
SSH

How many port states does Nmap consider?
6

Which port state is the most interesting to discover as a pentester?
open


Task 3  TCP Flags

Nmapは、さまざまな種類のTCPポートスキャンをサポートしています。これらのポートスキャンの違いを理解するために、TCPヘッダを確認する必要があります。TCPヘッダとは、TCPセグメントの最初の24バイトのことです。次の図は、RFC 793で定義されているTCPヘッダーを示しています。この図は一見高度に見えますが、理解するのはとても簡単です。最初の行には、送信元のTCPポート番号と送信先のポート番号が記載されています。ポート番号は16ビット(2バイト)割り当てられていることがわかります。2行目と3行目には、シーケンス番号と確認応答番号があります。各行には32ビット(4バイト)が割り当てられており、合計6行で24バイトを構成しています。


特に、Nmapが設定したり解除したりできるフラグに注目する必要があります。ここでは、TCPフラグを赤色で強調表示しました。フラグビットの設定とは、その値を1にすることです。左から右へ、TCPヘッダのフラグは次のとおりです。

  1. URG: 緊急フラグは、ファイルされた緊急ポインタが重要であることを示します。緊急ポインタは、受信データが緊急であることを示し、URGフラグが設定されたTCPセグメントは、以前に送信されたTCPセグメントを待つことを考慮せずに、直ちに処理されることを示します。

  2. ACK: 確認応答フラグは、確認応答番号が有意であることを示します。TCPセグメントを受信したことを確認するために使用されます。

  3. PSH: Pushフラグ TCPにデータを速やかにアプリケーションに渡すように要求するフラグです。

  4. RST: リセットフラグは、接続をリセットするために使用されます。ファイアウォールなどの他のデバイスがTCP接続を切断するために送信することがあります。このフラグは、データがホストに送信され、受信側に応答するサービスがない場合にも使用されます。

  5. SYN: 同期フラグは、TCP 3ウェイハンドシェイクを開始し、相手ホストとシーケンス番号を同期させるために使用されます。シーケンス番号はTCPコネクション確立時にランダムに設定する必要があります。

  6. FIN:送信側にはもう送信するデータがありません。

■Question

What 3 letters represent the Reset flag?
RST

Which flag needs to be set when you initiate a TCP connection (first packet of TCP 3-way handshake)?
SYN


Task 4  TCP Connect Scan

TCPコネクトスキャンは、TCPの3ウェイハンドシェイクを完了させることで動作します。標準的なTCP接続の確立では、クライアントはSYNフラグを設定したTCPパケットを送信し、サーバーはポートが開いていればSYN/ACKで応答し、最後にクライアントはACKを送信して3方向のハンドシェイクを完了させます。


我々はTCPポートが開いているかどうかを知ることに興味があるのであって、TCPコネクションを確立することに興味があるのではありません。したがって、RST/ACKを送信することによってその状態が確認されると同時に、接続は破棄されます。TCPコネクトスキャンを実行するかどうかは、-sTを使用して選択することができます。


特権ユーザ(rootまたはsudoer)でない場合、TCPコネクトスキャンがオープンTCPポートを発見する唯一の可能なオプションであることに注意することが重要です。

次のWiresharkのパケットキャプチャウィンドウでは、NmapがSYNフラグを設定したTCPパケットを、256、443、143など、さまざまなポートに送信しているのがわかります。デフォルトでは、Nmapは最も一般的な1000個のポートに接続しようとします。閉じたTCPポートは、SYNパケットに対してRST/ACKで応答し、それが開いていないことを示します。このパターンは、閉じたポートとのTCP 3ウェイハンドシェイクを開始しようとすると、すべての閉じたポートに対して繰り返されます。


ポート143が開いていることが分かるので、SYN/ACKで応答し、NmapはACKを送信して3ウェイハンドシェイクを完了しました。下図は、Nmapホストとターゲットシステムのポート143の間で交換されたすべてのパケットを示しています。最初の3つのパケットは、TCPの3ウェイハンドシェイクが完了したものです。そして、4番目のパケットがRST/ACKパケットでそれを破っています。


-sT (TCP接続スキャン) を説明するために、次のコマンド例では、開いているポートの詳細なリストが返されました。

Pentester Terminal
pentester@TryHackMe$ nmap -sT 10.10.199.134

Starting Nmap 7.60 ( https://nmap.org ) at 2021-08-30 09:53 BST
Nmap scan report for 10.10.199.134
Host is up (0.0024s latency).
Not shown: 995 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
80/tcp  open  http
111/tcp open  rpcbind
143/tcp open  imap
MAC Address: 02:45:BF:8A:2D:6B (Unknown)

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

なお、-Fをつけると高速モードが有効になり、スキャンされるポートの数が1000から最も一般的な100ポートに減少します。

ランダムな順序ではなく、連続した順序でポートをスキャンするために、-rオプションを追加できることも特筆すべき点です。このオプションは、例えばターゲットが起動したときにポートが一貫した方法で開いているかどうかをテストするときに便利です。

■Question

Launch the VM. Open the AttackBox and execute nmap -sT 10.10.199.134 via the terminal. A new service has been installed on this VM since our last scan. Which port number was closed in the scan above but is now open on this target VM?(THM上でVMを起動します。AttackBox を開き、ターミナルから nmap -sT 10.10.199.134 を実行します。前回のスキャン(上述のコマンド例)以降、このVMに新しいサービスがインストールされています。このターゲットVM上で現在開いているポート番号はどれでしょうか)
110

What is Nmap’s guess about the newly installed service?
pop3


Task 5  TCP SYN Scan

非特権ユーザーはコネクトスキャンに限定されます。しかし、デフォルトのスキャンモードはSYNスキャンであり、これを実行するには特権(rootまたはsudoer)ユーザが必要です。SYNスキャンでは、TCPの3ウェイハンドシェイクを完了する必要はなく、サーバーからの応答を受け取ると、接続を切断します。TCP接続を確立しなかったため、スキャンがログに記録される可能性が低くなります。このスキャンタイプは、-sSオプションを使用することで選択できます。下図は、TCP 3ウェイハンドシェイクを完了しないTCP SYNスキャンがどのように動作するかを示しています。


Wiresharkの次のスクリーンショットは、TCP SYNスキャンを示しています。閉じたTCPポートの場合の動作は、TCPコネクトスキャンと同様です。


この2つのスキャンの違いをよりよく理解するために、次のスクリーンショットを考えてみよう。次の図の上半分では、TCPコネクトスキャン -sTトラフィックを見ることができます。開いているTCPポートは、接続を閉じる前に、NmapがTCPの3ウェイハンドシェイクを完了させる必要があります。次の図の下半分では、SYNスキャン-sSがTCP 3ウェイハンドシェイクを完了する必要がないことがわかります。 代わりに、NmapはSYN/ACKパケットを受信すると、RSTパケットを送信します。


TCP SYNスキャンは、Nmapを特権ユーザーとして実行する場合、rootとして実行するかsudoを使用する場合のデフォルトのスキャンモードで、非常に信頼性の高い選択肢です。これは、先にTCPコネクトスキャンで見つけたオープンポートを正常に検出したものの、ターゲットとの間にTCP接続が完全に確立されていないことを示しています。

Pentester Terminal
pentester@TryHackMe$ sudo nmap -sS 10.10.89.73

Starting Nmap 7.60 ( https://nmap.org ) at 2021-08-30 09:53 BST
Nmap scan report for 10.10.89.73
Host is up (0.0073s latency).
Not shown: 994 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
80/tcp  open  http
110/tcp open  pop3
111/tcp open  rpcbind
143/tcp open  imap
MAC Address: 02:45:BF:8A:2D:6B (Unknown)

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

■Question

Launch the VM. Some new server software has been installed since the last time we scanned it. On the AttackBox, use the terminal to execute nmap -sS 10.10.89.73. What is the new open port?(VMを起動し、前述のスキャン以降、新しいサーバソフトウェアがいくつかインストールされています。AttackBox上で、ターミナルを使用して、nmap -sS 10.10.89.73を実行します。新しいオープンポートは何でしょう?)
6667

What is Nmap’s guess of the service name?
irc


Task 6  UDP Scan

UDPはコネクションレス型のプロトコルであるため、接続確立のためのハンドシェイクを必要としません。UDPのポートでリッスンしているサービスが,こちらのパケットに応答することは保証できません。ただし、閉じたポートにUDPパケットを送信すると、ICMP port unreachableエラー(タイプ3、コード3)が返されます。UDPスキャンは-sUオプションで選択できます。さらに、別のTCPスキャンと組み合わせることもできます。

次の図は、開いているUDPポートにUDPパケットを送っても、その返信は期待できないことを示しています。したがって、開いているポートにUDPパケットを送っても、何もわかりません。


しかし、下図のように、タイプ3、宛先到達不能、コード3、ポート到達不能のICMPパケットを取得することが予想されます。つまり、何の応答も発生しないUDPポートが、Nmapがオープン状態であることを示すのです。


下記のWiresharkのキャプチャでは、閉じたポートごとにICMPパケットの宛先到達不能(port unreachable)が生成されていることがわかります。


このLinuxサーバーに対してUDPスキャンを開始したところ、確かにポート111が開かれていることが分かりました。一方、Nmapは、UDPポート68が開いているかフィルタリングされているかを判断することができません。

Pentester Terminal
pentester@TryHackMe$ sudo nmap -sU 10.10.73.231

Starting Nmap 7.60 ( https://nmap.org ) at 2021-08-30 09:54 BST
Nmap scan report for 10.10.73.231
Host is up (0.00061s latency).
Not shown: 998 closed ports
PORT    STATE         SERVICE
68/udp  open|filtered dhcpc
111/udp open          rpcbind
MAC Address: 02:45:BF:8A:2D:6B (Unknown)

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

■Question

Launch the VM. On the AttackBox, use the terminal to execute nmap -sU -F -v 10.10.73.231. A new service has been installed since the last scan. What is the UDP port that is now open?
53

What is the service name according to Nmap?
domain


Task 7  Fine-Tuning Scope and Performance

デフォルトの1000ポートではなく、スキャンしたいポートを指定することができます。ポートの指定は、直感的に理解できるようになります。いくつか例を見てみましょう。

  • ポートリスト:-p22,80,443 は、ポート 22、80、443 をスキャンします。
  • ポート範囲:-p1-1023は、1~1023のすべてのポートをスキャンし、-p20-25は、20~25番のポートをスキャンします。

-p-で全ポートのスキャンを要求すると、65535ポートすべてをスキャンします。最も一般的な100個のポートをスキャンしたい場合は、-Fを追加します。top-ports 10を使用すると、最も一般的な10個のポートをチェックします。

-T<0-5>でスキャンのタイミングを制御することができます。-T0が最も遅く(偏執的)、-T5が最も速いです。Nmapのマニュアルページによると、6つのテンプレートがあります。

  • paranoid (0)
  • sneaky (1)
  • polite (2)
  • normal (3)
  • aggressive (4)
  • insane (5)

IDSを回避するには、-T0または-T1を検討するのがよいでしょう。たとえば、-T0は一度に1つのポートをスキャンし、各プローブを送信する間に5分待つので、1つのターゲットのスキャンが終了するまでの時間を推測することができます。タイミングを指定しない場合、Nmapは通常の-T3を使用します。T5は、速度の点で最も優れているものの、パケットロスの可能性が高くなるため、スキャン結果の精度に影響を与える可能性があることに注意する必要があります。T4はCTFや練習用ターゲットでスキャンを学ぶときによく使われ、-T1はステルス性がより重要な実際の活動でよく使われます。

また、--min-rate <number> と --max-rate <number> を使用して、パケットレートを制御することもできます。例えば、--max-rate 10または--max-rate=10は、スキャナが1秒間に10個以上のパケットを送信しないようにします。

さらに、--min-parallelism <numprobes>と--max-parallelism <numprobes>でプロービングの並列化を制御することができます。Nmapはターゲットをプローブして、どのホストが生きているか、どのポートが開いているかを発見します。プローブ並列化では、こうしたプローブを何回並列に実行できるかを指定します。たとえば、--min-parallelism=512は、Nmapが少なくとも512個のプローブを並列に維持するよう促します。この512個のプローブは、ホスト検出とオープンポートに関連します。

■Question

What is the option to scan all the TCP ports between 5000 and 5500?
-p5000-5500

How can you ensure that Nmap will run at least 64 probes in parallel?
--min-parallelism=64

What option would you add to make Nmap very slow and paranoid?
-T0


Task 8  Summary

ここでは、3種類のスキャンを取り上げました。

Port Scan TypeExample Command
TCP Connect Scannmap -sT MACHINE_IP
TCP SYN Scansudo nmap -sS MACHINE_IP
UDP Scansudo nmap -sU MACHINE_IP

これらのスキャンタイプは、ターゲットホスト上で実行されているTCPおよびUDPサービスの検出を開始するのに役立つはずです。

OptionPurpose
-p-all ports
-p1-1023scan ports 1 to 1023
-F100 most common ports
-rscan ports in consecutive order
-T<0-5>-T0 being the slowest and T5 the fastest
--max-rate 50rate <= 50 packets/sec
--min-rate 15rate >= 15 packets/sec
--min-parallelism 100at least 100 probes in parallel

出典:Nmap Basic Port Scans

【TryHackMeウォークスルー】Nmap Live Host Discovery


Task 1  Introduction

ネットワークを標的にする際、繰り返し行われる下記のタスクを処理するための効率的なツールが欲しくなります。

  1. どのシステムが稼働しているか?
  2. どのシステムが稼働しているか、これらのシステムでどのサービスが稼働しているか。

その答えの一つのツールがNmapです。こちらでは、稼働中のコンピュータを見つける方法を紹介します。こちらは、Nmapに特化した4つのルームのうちの最初のルームです。実行中のサービスの発見に関する方法は、ポートスキャンに焦点を当てた次のNmapのルームで回答しています。

このルームは、Nmapシリーズの4つのうちの1つ目でです。これらの4つのルームは、Network Securityモジュールの一部でもあります。

  1. Nmap Live Host Discovery
  2. Nmap Basic Port Scans
  3. Nmap Advanced Port Scans
  4. Nmap Post Port Scans

このルームでは、ポートスキャンの前に、オンラインになっているシステムを発見するためにNmapが実行するステップについて説明します。オフラインのシステムをポートスキャンしても時間を浪費するだけで、ネットワークに不要なノイズを発生させるだけなので、この対応は非常に重要です。

Nmapが稼働中のホストを発見するために使用する様々なアプローチについて紹介します。特に、以下のものを取り上げます。

  • ARPスキャン:このスキャンは、ARPリクエストを使って稼動中のホストを発見します。
  • ICMPスキャン:このスキャンでは、ICMPリクエストを使用して稼働中のホストを検出します。
  • TCP/UDP pingスキャン:このスキャンでは、TCPポートとUDPポートにパケットを送信し、稼働中のホストを特定します。

また、arp-scanmasscanという2つのスキャナーを紹介し、それらがNmapのホスト発見の一部とどのように重なっているかを説明します。

このルームでは、Nmap を使ってシステムやサービスを積極的に発見していくことにします。Nmapは、ネットワークセキュリティの専門家でオープンソースプログラマーのGordon Lyon(Fyodor)氏によって作られ、1997年にリリースされました。NmapはNetwork Mapperの略で、GPLライセンスで公開されている無償のオープンソースソフトウェアです。Nmapは、ネットワークをマッピングし、稼働中のホストを特定し、稼働中のサービスを発見するための業界標準のツールです。Nmapのスキャンは多くのオプションがあり、提供するコマンドライン引数に依存します。

■Question ※無し


Task 2  Subnetworks

主要な作業に移る前に、いくつかの用語について復習しておきましょう。ネットワーク・セグメントとは、共有媒体によって接続されたコンピュータのグループです。例えば、媒体はイーサネットスイッチやWiFiアクセスポイントになります。IPネットワークでは、サブネットワークは通常、一緒に接続され、同じルーターを使用するように構成された1つまたは複数のネットワークセグメントに相当します。ネットワークセグメントは物理的な接続を意味し、サブネットワークは論理的な接続を意味します。

能動的な偵察の一環として、ホストのグループまたはサブネットに関するより多くの情報を発見したいとします。同じサブネットに接続している場合、スキャナは生きているホストを発見するためにARP(アドレス解決プロトコル)に頼ります。ARPは、リンク層上での通信が可能になるようにハードウェアアドレス(MACアドレス)を取得することですが、これを利用してホストがオンラインであることを推測することができます。

ネットワークAにいる場合、ARPはそのサブネット(10.1.100.0/24)内のデバイスのみを発見することができます。ターゲットシステムのサブネットが異なる場合、生成されたすべてのパケットは、デフォルトゲートウェイ(ルーター)を経由して別のサブネット上のシステムに到達しますが、ARPクエリーはルーティングされないため、ルーターを越えることができません。ARPはリンク層のプロトコルのため、サブネットを超えることができません。

■Question

  • From computer1
  • To computer1 (to indicate it is broadcast)
  • Packet Type: “ARP Request”
  • Data: computer6 (because we are asking for computer6 MAC address using ARP Request)

How many devices can see the ARP Request?
4

Did computer6 receive the ARP Request? (Y/N)
N

  • From computer4
  • To computer4 (to indicate it is broadcast)
  • Packet Type: “ARP Request”
  • Data: computer6 (because we are asking for computer6 MAC address using ARP Request)

How many devices can see the ARP Request?
4

Did computer6 reply to the ARP Request? (Y/N)
Y


Task 3  Enumerating Targets

Task 1でスキャンに使用できる様々なテクニックについて触れました。それぞれを詳しく説明し、実際のターゲットに対して使用する前に、スキャンしたいターゲットを指定する必要があります。一般的には、リスト、範囲、サブネットのいずれかを指定することができます。ターゲット指定の例としては以下となります。

  • リスト:MACHINE_IP scanme.nmap.org example.com は、3つのIPアドレスをスキャンします。
  • レンジ:10.11.12.15-20は、6つのIPアドレス(10.11.12.15-20)をスキャンします。
  • サブネット:MACHINE_IP/30は、4つのIPアドレスをスキャンします。

nmap -iL list_of_hosts.txt のように、ターゲットリストの入力としてファイルを指定しておくことも可能です。

Nmapがスキャンするホストのリストを確認したい場合は、nmap -sL TARGETSを使用することができます。このオプションは、Nmapがスキャンするホストの詳細なリストをスキャンせずに表示します。ただし、Nmapはすべてのターゲットに対して、名前を取得するためにDNSの逆解析を試みます。名前は、ペンテスターに対して、さまざまな情報を明らかにする可能性があります。(NmapにDNSサーバーへのアクセスをさせたくない場合は、-nを追加します)。

Start AttackBoxボタンでAttackBoxを起動し、AttackBoxの準備ができたらターミナルを開き、Nmapを使ってQuestionに回答してください。

■Question

What is the first IP address Nmap would scan if you provided 10.10.12.13/29 as your target?
(ヒント:コンソールでnmap -sL 10.10.12.13/29 を実行)
10.10.12.8

How many IP addresses will Nmap scan if you provide the following range 10.10.0-255.101-125?
(ヒント:コンソールでnmap -sL 10.10.0-255.101-125 を実行し、最終行を確認)
6400


Task 4  Discovering Live Hosts

次に図に示したTCP/IPのレイヤーを再確認してみましょう。稼働中のホストを発見するために各プロトコルを活用します。下から上に向かって、使用することができます。


スキャナがそれぞれをどのように利用できるかを詳しく説明する前に、4つのプロトコルを簡単におさらいします。

ARP の目的は一つで、ネットワークセグメント上のブロードキャストアドレスにフレームを送信し、特定の IP アドレスを持つコンピュータに、その MAC(ハードウェア)アドレスを提供して応答するように要求することです。

ICMPには多くのタイプがあります。ICMPのpingはType8(Echo)とType0(Echo Reply)を使用します。

同じサブネット上のシステムにpingを送信する場合は、ICMP Echoの前にARPクエリを送信する必要があります。

TCPとUDPはトランスポート層ですが、ネットワーク・スキャンを目的とする場合、スキャナは一般的なTCPまたはUDPポートに特別に作成したパケットを送信して、ターゲットが応答するかどうかを確認することができます。この方法は、特にICMP Echoがブロックされている場合に効率的です。

■Question

Send a packet with the following:

From computer1

To computer3

Packet Type: “Ping Request”

What is the type of packet that computer1 sent before the ping?
ARP REQUEST

What is the type of packet that computer1 received before being able to send the ping?
ARP RESPONSE

How many computers responded to the ping request?
1

Send a packet with the following:

From computer2

To computer5

Packet Type: “Ping Request”

What is the name of the first device that responded to the first ARP Request?
router

What is the name of the first device that responded to the second ARP Request?
computer5

Send another Ping Request. Did it require new ARP Requests? (Y/N)
N


Task 5  Nmap Host Discovery Using ARP

どのホストが稼働しているかはどうやって知るのですか? オフラインのホストや使われていないIPアドレスをスキャンして時間を浪費しないようにすることが重要です。オンラインホストを発見する方法には、いろいろなものがあります。ホスト発見オプションが提供されていない場合、Nmapは以下のアプローチに従って、稼働中のホストを発見します。

  1. 特権ユーザがローカルネットワーク(Ethernet)上のターゲットをスキャンしようとするとき、NmapはARPリクエストを使用します。特権ユーザとは、rootまたはsudoersに属し、sudoを実行できるユーザです。

  2. 特権ユーザがローカルネットワーク外のターゲットをスキャンしようとする場合、NmapはICMPエコー要求、ポート80へのTCP ACK(応答)、ポート443へのTCP SYN(同期)、およびICMPタイムスタンプ要求を使用します。

  3. 非特権ユーザーがローカルネットワーク外のターゲットをスキャンしようとすると、Nmapはポート80と443にSYNパケットを送信して、TCP 3ウェイハンドシェイクに頼ろうとします。

Nmapは、デフォルトでは、ライブホストを見つけるためにpingスキャンを使用し、その後、ライブホストのみをポートスキャンします。Nmapを使って、ポートスキャンせずにオンラインホストの検出のみをした場合は、nmap -sn TARGETSを実行します。使用されるさまざまな技術をしっかり理解するために、さらに深く掘り下げてみましょう。

ARPスキャンは、ターゲットシステムと同じサブネットにいる場合にのみ可能です。イーサネット(802.3)およびWiFi(802.11)では、通信する前にシステムのMACアドレスを知っておく必要があります。MACアドレスはリンク層のヘッダーに必要で、ヘッダーには送信元MACアドレスと送信先MACアドレスなどのフィールドが含まれます。MACアドレスを取得するために、OSはARPクエリーを送信します。ARPクエリに応答するホストは、稼働しています。ARPクエリーは、ターゲットが自分と同じサブネット上にある場合、つまり、同じイーサネット/WiFi上にある場合にのみ機能します。ローカルネットワークのNmapスキャン中に、多くのARPクエリが生成されることを予期しておく必要があります。Nmapにポートスキャンを行わず、ARPスキャンだけを実行させたい場合は、nmap -PR -sn TARGETSを使用します。次の例は、Nmapがポートスキャンを行わずにARPを使用してホストを発見することを示しています。nmap -PR -sn MACHINE_IP/24を実行して、ターゲットマシンと同じサブネット上のすべての稼働中のシステムを発見しています。

Pentester Terminal
pentester@TryHackMe$ sudo nmap -PR -sn 10.10.210.6/24

Starting Nmap 7.60 ( https://nmap.org ) at 2021-09-02 07:12 BST
Nmap scan report for ip-10-10-210-75.eu-west-1.compute.internal (10.10.210.75)
Host is up (0.00013s latency).
MAC Address: 02:83:75:3A:F2:89 (Unknown)
Nmap scan report for ip-10-10-210-100.eu-west-1.compute.internal (10.10.210.100)
Host is up (-0.100s latency).
MAC Address: 02:63:D0:1B:2D:CD (Unknown)
Nmap scan report for ip-10-10-210-165.eu-west-1.compute.internal (10.10.210.165)
Host is up (0.00025s latency).
MAC Address: 02:59:79:4F:17:B7 (Unknown)
Nmap scan report for ip-10-10-210-6.eu-west-1.compute.internal (10.10.210.6)
Host is up.
Nmap done: 256 IP addresses (4 hosts up) scanned in 3.12 seconds

このケースでは、攻撃側のIPアドレスは10.10.210.6で、ARPリクエストを使用して同じサブネット上の稼働中のホストを発見しています。ARPスキャンは、下図のように動作します。Nmapは、すべてのターゲットコンピュータにARPリクエストを送信し、オンラインになっているコンピュータはARP応答を返送します。


もし、tcpdumpやWiresharkなどのツールを使って生成されたパケットを見ることができれば、下図のようなネットワークトラフィックを確認することができます。下図では、Wiresharkが各ARPリクエストに関連する送信元MACアドレス、送信先MACアドレス、プロトコル、クエリを表示しています。送信元アドレスは攻撃側のMACアドレス、送信先アドレスはターゲットのMACアドレスが分からないのでブロードキャストアドレスになっています。しかし、Info欄に表示されるターゲットのIPアドレスは確認できます。図では、10.10.210.1から始まるサブネット上のすべてのIPアドレスのMACアドレスを要求していることがわかります。要求しているIPアドレスを持つホストは、そのMACアドレスを含むARP応答を送信し、それによって、そのホストがオンラインであることを知ることができます。


ARPスキャンについて話すと、ARPクエリを中心に構築されたスキャナであるarp-scanを挙げることができます。スキャンをカスタマイズするための多くのオプションがありますので、詳細な情報はarp-scan wikiをご覧ください。よく使われるのは arp-scan --localnet または単に arp-scan -l です。このコマンドはローカルネットワーク上の全ての有効なIPアドレスにARPクエリーを送信します。さらに、システムが複数のインターフェースを持っていて、そのうちの一つのインターフェースにある稼働中のホストを発見したい場合、-I を使ってインターフェースを指定することができます。例えば、sudo arp-scan -I eth0 -l は eth0 インターフェース上の全ての有効な IP アドレスに対して ARP クエリーを送信します。

以下の例では、arp-scan ATTACKBOX_IP/24 を使用して AttackBox のサブネットをスキャンしています。このスキャンは、前回のスキャンと近い時間帯に実行したため nmap -PR -sn ATTACKBOX_IP/24 では、同じ 3 つの稼働ホストが確認できました。

Pentester Terminal
pentester@TryHackMe$ sudo arp-scan 10.10.210.6/24
Interface: eth0, datalink type: EN10MB (Ethernet)
WARNING: host part of 10.10.210.6/24 is non-zero
Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
10.10.210.75	02:83:75:3a:f2:89	(Unknown)
10.10.210.100	02:63:d0:1b:2d:cd	(Unknown)
10.10.210.165	02:59:79:4f:17:b7	(Unknown)

4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9: 256 hosts scanned in 2.726 seconds (93.91 hosts/sec). 3 responded

同様に、arp-scanコマンドは、tcpdump、Wireshark、または同様のツールを使用して見ることができる多くのARPクエリを生成します。arp-scanとnmap -PR -snのパケットキャプチャは、同じようなトラフィックパターンを生成していることがわかります。以下は、Wiresharkの出力です。


■Question

We will be sending broadcast ARP Requests packets with the following options:

  • From computer1
  • To computer1 (to indicate it is broadcast)
  • Packet Type: “ARP Request”
  • Data: try all the possible eight devices (other than computer1) in the network: computer2, computer3, computer4, computer5, computer6, switch1, switch2, and router.
How many devices are you able to discover using ARP requests?
3


Task 6  Nmap Host Discovery Using ICMP

ターゲット・ネットワーク上のすべてのIPアドレスにPingを打ち、Ping(ICMP Type 8/Echo)リクエストに対して、誰がPing応答(ICMP Type 0)を返すかを確認することができます。簡単でしょう?これは最も簡単な方法ですが、必ずしも信頼できるとは限りません。多くのファイアウォールはICMPエコーをブロックします。Windowsの新しいバージョンでは、デフォルトでICMPエコー要求をブロックするホストファイアウォールが設定されています。ターゲットが同じサブネット上にある場合、ARPクエリーがICMPリクエストに先行することを忘れないでください。

ICMPエコー要求を使用して稼働中のホストを検出するには、オプション -PEを追加します。(次の図に示すように、ICMPエコースキャンは、ICMPエコー要求を送信し、ターゲットがオンラインであればICMPエコー応答で返信することを前提として動作します)


以下の例では、nmap -PE -sn MACHINE_IP/24を使用してターゲットのサブネットをスキャンしています。このスキャンでは、サブネット上のすべてのIPアドレスにICMPエコーパケットを送信します。ここでも、生きているホストが応答することを期待します。しかし、多くのファイアウォールがICMPをブロックしていることを覚えておくとよいでしょう。以下の出力は、攻撃端末から sudo nmap -PE -sn MACHINE_IP/24 を使用して、仮想マシンのクラス C サブネットをスキャンした結果を示しています。

Pentester Terminal
pentester@TryHackMe$ sudo nmap -PE -sn 10.10.68.220/24

Starting Nmap 7.60 ( https://nmap.org ) at 2021-09-02 10:16 BST
Nmap scan report for ip-10-10-68-50.eu-west-1.compute.internal (10.10.68.50)
Host is up (0.00017s latency).
MAC Address: 02:95:36:71:5B:87 (Unknown)
Nmap scan report for ip-10-10-68-52.eu-west-1.compute.internal (10.10.68.52)
Host is up (0.00017s latency).
MAC Address: 02:48:E8:BF:78:E7 (Unknown)
Nmap scan report for ip-10-10-68-77.eu-west-1.compute.internal (10.10.68.77)
Host is up (-0.100s latency).
MAC Address: 02:0F:0A:1D:76:35 (Unknown)
Nmap scan report for ip-10-10-68-110.eu-west-1.compute.internal (10.10.68.110)
Host is up (-0.10s latency).
MAC Address: 02:6B:50:E9:C2:91 (Unknown)
Nmap scan report for ip-10-10-68-140.eu-west-1.compute.internal (10.10.68.140)
Host is up (0.00021s latency).
MAC Address: 02:58:59:63:0B:6B (Unknown)
Nmap scan report for ip-10-10-68-142.eu-west-1.compute.internal (10.10.68.142)
Host is up (0.00016s latency).
MAC Address: 02:C6:41:51:0A:0F (Unknown)
Nmap scan report for ip-10-10-68-220.eu-west-1.compute.internal (10.10.68.220)
Host is up (0.00026s latency).
MAC Address: 02:25:3F:DB:EE:0B (Unknown)
Nmap scan report for ip-10-10-68-222.eu-west-1.compute.internal (10.10.68.222)
Host is up (0.00025s latency).
MAC Address: 02:28:B1:2E:B0:1B (Unknown)
Nmap done: 256 IP addresses (8 hosts up) scanned in 2.11 seconds

スキャン出力は、8台のホストが起動していることを示し、さらに、そのMACアドレスを示しています。一般的に、ターゲットが自分のシステムと同じサブネットにいない限り、ターゲットのMACアドレスを知ることはないと思われます。上記の出力は、Nmapが、受け取ったARP応答に基づいてこれらのホストが稼働していることを確認したため、ICMPパケットを送信する必要がなかったことを示しています。

上記のスキャンを繰り返します。ただし、今回は、異なるサブネットに属するシステムからスキャンします。結果は同様ですが、MACアドレスがありません。

Pentester Terminal
pentester@TryHackMe$ sudo nmap -PE -sn 10.10.68.220/24

Starting Nmap 7.92 ( https://nmap.org ) at 2021-09-02 12:16 EEST
Nmap scan report for 10.10.68.50
Host is up (0.12s latency).
Nmap scan report for 10.10.68.52
Host is up (0.12s latency).
Nmap scan report for 10.10.68.77
Host is up (0.11s latency).
Nmap scan report for 10.10.68.110
Host is up (0.11s latency).
Nmap scan report for 10.10.68.140
Host is up (0.11s latency).
Nmap scan report for 10.10.68.142
Host is up (0.11s latency).
Nmap scan report for 10.10.68.220
Host is up (0.11s latency).
Nmap scan report for 10.10.68.222
Host is up (0.11s latency).
Nmap done: 256 IP addresses (8 hosts up) scanned in 8.26 seconds

Wiresharkのようなツールを使ってネットワークパケットを見ると、下の画像のようなものが見えてきます。宛先サブネットとは異なるサブネットにある1つのソースIPアドレスが、ターゲットサブネット内のすべてのIPアドレスにICMPエコーリクエストを送信し、どれが応答するかを確認していることがわかります。


ICMPエコーリクエストはブロックされる傾向があるので、システムがオンラインかどうかを判断するために、ICMPタイムスタンプまたはICMPアドレスマスクのリクエストも考慮するとよいでしょう。Nmapはタイムスタンプ要求(ICMPタイプ13)を使用し、タイムスタンプ応答(ICMPタイプ14)を得るかどうかをチェックします。-PPオプションを追加すると、NmapはICMPタイムスタンプリクエストを使用するようになります。下図のように、生きているホストが応答することを期待します。


次の例では、nmap -PP -sn MACHINE_IP/24を実行して、ターゲットマシンサブネット上のオンラインコンピュータを検出します。

Pentester Terminal
pentester@TryHackMe$ sudo nmap -PP -sn 10.10.68.220/24

Starting Nmap 7.92 ( https://nmap.org ) at 2021-09-02 12:06 EEST
Nmap scan report for 10.10.68.50
Host is up (0.13s latency).
Nmap scan report for 10.10.68.52
Host is up (0.25s latency).
Nmap scan report for 10.10.68.77
Host is up (0.14s latency).
Nmap scan report for 10.10.68.110
Host is up (0.14s latency).
Nmap scan report for 10.10.68.140
Host is up (0.15s latency).
Nmap scan report for 10.10.68.209
Host is up (0.14s latency).
Nmap scan report for 10.10.68.220
Host is up (0.14s latency).
Nmap scan report for 10.10.68.222
Host is up (0.14s latency).
Nmap done: 256 IP addresses (8 hosts up) scanned in 10.93 seconds

前のICMPスキャンと同様に、このスキャンでは、ターゲットのサブネット内のすべての有効なIPアドレスに、多数のICMPタイムスタンプ要求が送信されます。下のWiresharkのスクリーンショットでは、1つのソースIPアドレスが、オンラインホストを発見するために、可能な限りのIPアドレスにICMPパケットを送信しているのがわかります。


同様に、Nmapはアドレスマスククエリー(ICMPタイプ17)を使用し、アドレスマスク応答(ICMPタイプ18)を取得するかどうかをチェックします。このスキャンは、オプション -PMで有効にすることができます。下図に示すように、ライブホストはICMPアドレスマスク要求に対して応答することが期待されます。


ICMPアドレスマスククエリを使用して稼働中のホストを発見するため、nmap -PM -sn MACHINE_IP/24コマンドを実行しました。以前のスキャンで、少なくとも8台のホストが稼働していることが分かっていましたが、このスキャンでは1台も返されませんでした。これは、ターゲットシステムまたはルート上のファイアウォールが、このタイプのICMPパケットをブロックしているためです。したがって、同じ結果を得るためには、複数のアプローチを学ぶことが不可欠です。1つのタイプのパケットがブロックされている場合、ターゲットネットワークとサービスを発見するために、常に別の方法を選択することができます。

Pentester Terminal
pentester@TryHackMe$ sudo nmap -PM -sn 10.10.68.220/24

Starting Nmap 7.92 ( https://nmap.org ) at 2021-09-02 12:13 EEST
Nmap done: 256 IP addresses (0 hosts up) scanned in 52.17 seconds

応答は得られず、どのホストがオンラインであるかを把握することはできませんでしたが、このスキャンでは、すべての有効なIPアドレスにICMPアドレスマスク要求を送信し、応答を待っていたことに注目することが重要です。以下のスクリーンショットに見られるように、各ICMPリクエストは2回送信されました。


■Question

What is the option required to tell Nmap to use ICMP Timestamp to discover live hosts?
-PP

What is the option required to tell Nmap to use ICMP Address Mask to discover live hosts?
-PM

What is the option required to tell Nmap to use ICMP Echo to discover life hosts?
-PE


Task 7  Nmap Host Discovery Using TCP and UDP

TCP SYN Ping

TCPポート(デフォルトでは80)にSYN(Synchronize)フラグを設定したパケットを送信し、応答を待つことができます。開いているポートであればSYN/ACK(Acknowledge)、閉じているポートであればRST(Reset)の応答があるはずです。この場合、ホストが立ち上がっているかどうかを推測するために、何らかの応答があるかどうかだけをチェックします。ポートの具体的な状態は、ここでは重要ではありません。下図は、TCPの3ウェイハンドシェイクが通常どのように行われるかを示したものです。


NmapにTCP SYN pingを使わせたい場合は、-PSオプションの後にポート番号、範囲、リスト、またはそれらの組み合わせを指定することで実現できます。たとえば、-PS21はポート21を対象とし、-PS21-25はポート21、22、23、24、25を対象とします。最後に、-PS80,443,8080は、80、443、8080の3つのポートをターゲットにします。

特権ユーザー(rootとsudoers)は、下図のように、TCP SYNパケットを送信でき、ポートが開いていてもTCP 3ウェイ・ハンドシェイクを完了する必要がありません。非特権ユーザーは、ポートが開いている場合、3ウェイハンドシェイクを完了させる必要があります。


nmap -PS -sn MACHINE_IP/24 を実行して、ターゲット VM のサブネットをスキャンしてみます。以下の出力に見られるように、5つのホストを発見することができました。

Pentester Terminal
pentester@TryHackMe$ sudo nmap -PS -sn 10.10.68.220/24
Starting Nmap 7.92 ( https://nmap.org ) at 2021-09-02 13:45 EEST
Nmap scan report for 10.10.68.52
Host is up (0.10s latency).
Nmap scan report for 10.10.68.121
Host is up (0.16s latency).
Nmap scan report for 10.10.68.125
Host is up (0.089s latency).
Nmap scan report for 10.10.68.134
Host is up (0.13s latency).
Nmap scan report for 10.10.68.220
Host is up (0.11s latency).
Nmap done: 256 IP addresses (5 hosts up) scanned in 17.38 seconds

下図のWiresharkでネットワークトラフィックを見ることで、舞台裏で何が起きているのかを詳しく見てみましょう。技術的には、TCP pingスキャンで使用するTCPポートを指定していなかったため、Nmapは一般的なポートを使用しました。ポート80でリッスンしているサービスはすべて応答することが期待され、ホストがオンラインであることを間接的に示しています。


TCP ACK Ping

これは、ACKフラグが設定されたパケットを送信するものです。これを実行するには、Nmapを特権ユーザで実行する必要があります。非特権ユーザーで試すと、Nmapは3ウェイハンドシェイクを試みます。

デフォルトでは、ポート80が使用さ れます。構文は、TCP SYN pingと似ています。-PAの後には、ポート番号、範囲、リスト、またはそれらの組み合わせを指定する必要があります。たとえば、-PA21、-PA21-25、-PA80,443,8080 を考えてください。ポートを指定しない場合、ポート80が使用されます。

次の図は、ACKフラグを持つTCPパケットは、RSTフラグを設定したTCPパケットを返してもらう必要があることを示しています。ACKフラグを持つTCPパケットは進行中のコネクションの一部ではないので、ターゲットはRSTフラグをセットして応答します。期待される応答は、ターゲットホストが稼働しているかどうかを検出するために使用されます。


この例では、sudo nmap -PA -sn MACHINE_IP/24を実行して、ターゲットのサブネット上のオンラインホストを検出します。TCP ACK pingスキャンにより、5つのホストがアップしていることが検出されました。

Pentester Terminal
pentester@TryHackMe$ sudo nmap -PA -sn 10.10.68.220/24
Starting Nmap 7.92 ( https://nmap.org ) at 2021-09-02 13:46 EEST
Nmap scan report for 10.10.68.52
Host is up (0.11s latency).
Nmap scan report for 10.10.68.121
Host is up (0.12s latency).
Nmap scan report for 10.10.68.125
Host is up (0.10s latency).
Nmap scan report for 10.10.68.134
Host is up (0.10s latency).
Nmap scan report for 10.10.68.220
Host is up (0.10s latency).
Nmap done: 256 IP addresses (5 hosts up) scanned in 29.89 seconds

下図のようにネットワークトラフィックを覗いてみると、ACKフラグが設定され、ターゲットシステムのポート80に送信されたパケットを多数発見することができます。Nmapは各パケットを2回送信しています。応答がないシステムは、オフラインまたはアクセス不能になります。


UDP Ping

最後に、ホストがオンラインかどうかを調べるためにUDPを使用することができます。TCP SYN Pingとは逆に、開いているポートにUDPパケットを送っても、何も返ってこないことが予想されます。しかし、閉じたUDPポートにUDPパケットを送ると、ICMP port unreachableパケットを受け取ることが期待できます。これは、ターゲットシステムが稼働していて利用可能であることを示します。

次の図では、開いているUDPポートにUDPパケットを送信しても、何も応答がないことがわかります。しかし、閉じたUDPポートにUDPパケットを送信すると、ターゲットがオンラインであることを間接的に示す応答がトリガーされることがあります。



ポートを指定する構文は、TCP SYN pingおよびTCP ACK pingと同様です。Nmapは、UDP pingに-PUを使用します。次の例では、UDPスキャンを使用し、5つのライブホストを発見しています。

Pentester Terminal
pentester@TryHackMe$ sudo nmap -PU -sn 10.10.68.220/24
Starting Nmap 7.92 ( https://nmap.org ) at 2021-09-02 13:45 EEST
Nmap scan report for 10.10.68.52
Host is up (0.10s latency).
Nmap scan report for 10.10.68.121
Host is up (0.10s latency).
Nmap scan report for 10.10.68.125
Host is up (0.14s latency).
Nmap scan report for 10.10.68.134
Host is up (0.096s latency).
Nmap scan report for 10.10.68.220
Host is up (0.11s latency).
Nmap done: 256 IP addresses (5 hosts up) scanned in 9.20 seconds

生成されたUDPパケットを検証してみましょう。次のWiresharkのスクリーンショットでは、Nmapが、閉じている可能性が高いUDPポートにUDPパケットを送信していることが分かります。下の画像は、Nmapが一般的でないUDPポートを使って、ICMP宛先到達不能(port unreachable)エラーを引き起こしていることを示しています。


Masscan

余談ですが、Masscan は利用可能なシステムを発見するために同様のアプローチを使用しています。ただし、ネットワークスキャンを迅速に終了させるため、Masscanは生成するパケットのレートをかなり積極的に上げています。構文は非常に似ており、-p の後にポート番号、リスト、または範囲を指定することができます。次の例を見てください。

  • masscan MACHINE_IP/24 -p443
  • masscan MACHINE_IP/24 -p80,443
  • masscan MACHINE_IP/24 -p22-25
  • masscan MACHINE_IP/24 --top-ports 100

■Question

Which TCP ping scan does not require a privileged account?(特権アカウントを必要としないTCP pingスキャンはどれですか?)
TCP Syn PING

Which TCP ping scan requires a privileged account?(特権アカウントを必要とするTCP pingスキャンはどれですか?)
TCP ACK PING

What option do you need to add to Nmap to run a TCP SYN ping scan on the telnet port?(TelnetポートでTCP SYN pingスキャンを実行するために、Nmapにどのようなオプションを追加する必要がありますか?)
-PS23


Task 8  Using Reverse-DNS Lookup

Nmapのデフォルトの動作は、リバースDNSオンラインホストを使用することです。ホスト名から多くのことがわかるので、これは有用なステップでしよう。しかし、そのようなDNSクエリを送信したくない場合は、-nを使用してこのステップをスキップすることができます。

デフォルトでは、Nmapはオンラインホストを検索します。しかし、-Rオプションを使用すると、オフラインのホストであってもDNSサーバに問い合わせることができます。特定のDNSサーバを使用したい場合は、-dns-servers DNS_SERVERオプションを追加することができます。

■Question

We want Nmap to issue a reverse DNS lookup for all the possibles hosts on a subnet, hoping to get some insights from the names. What option should we add?(Nmapに、サブネット上のすべての可能性のあるホストのDNS逆引きを発行させ、その名前から何らかの洞察を得たいと考えています。どのようなオプションを追加すればよいでしょうか。)
-R


Task 9  Summary

ARP、ICMP、TCP、UDPがどのように生きているホストを検出することができるかを学習しました。ホストからのいかなる応答も、それがオンラインであることを示すものです。以下は、これまで取り上げたNmapのコマンドラインオプションの簡単な要約です。

Scan TypeExample Command
ARP Scansudo nmap -PR -sn MACHINE_IP/24
ICMP Echo Scansudo nmap -PE -sn MACHINE_IP/24
ICMP Timestamp Scansudo nmap -PP -sn MACHINE_IP/24
ICMP Address Mask Scansudo nmap -PM -sn MACHINE_IP/24
TCP SYN Ping Scansudo nmap -PS22,80,443 -sn MACHINE_IP/30
TCP ACK Ping Scansudo nmap -PA22,80,443 -sn MACHINE_IP/30
UDP Ping Scansudo nmap -PU53,161,162 -sn MACHINE_IP/30

ポートスキャンを行わず、ホストの発見のみを目的とする場合は、-snを付けることを忘れないでください。-snを省略すると、Nmapはデフォルトで生きているホストを見つけた後、ポートスキャンを実行します。

OptionPurpose
-nno DNS lookup
-Rreverse-DNS lookup for all hosts
-snhost discovery only

■Question ※無し