オープン UDP ポートの特定

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

はじめに

このチャレンジでは、サーバー上の不正な UDP サービスをスキャンすることで、潜在的なセキュリティ侵害を調査します。具体的には、ポート 9995 で待機している不正な UDP サーバーをセットアップし、Nmap を使用して localhost に対して 9990-10000 の範囲の UDP スキャンを実行します。スキャン結果は ~/project/udp_scan_results.txt に保存されます。

あなたのタスクは、指定された範囲内で開いている UDP ポート番号を特定し、コンソールに出力することです。grep を使用して Nmap の出力を解析し、awksed を使ってポート番号を抽出します。オープンな UDP ポートが見つからない場合は、"No open UDP port found" と出力してください。また、このチャレンジには、Nmap のスキャン結果ファイルが存在し、期待される出力が含まれていることを確認する検証ステップも含まれています。

オープン UDP ポートの特定

サーバー上の不正な UDP サービスをスキャンして、潜在的なセキュリティ侵害を調査してください。

タスク

  • Nmap を使用して localhost の 9990-10000 ポートを対象に UDP スキャンを実行し、結果を ~/project/udp_scan_results.txt に保存します。
  • 指定された範囲内で開いている UDP ポート番号を特定し、それを OPEN_UDP_PORT という名前の環境変数に格納します。

要件

  1. UDP スキャンの実行には nmap コマンドを使用すること。
  2. Nmap のスキャン結果を ~/project ディレクトリ内の udp_scan_results.txt という名前のファイルに保存すること。
  3. Nmap コマンドは localhost (127.0.0.1) の 9990 から 10000 までのポートをスキャンすること。
  4. grep を使用して udp_scan_results.txt ファイルを解析し、オープンポートを特定すること。
  5. 見つかった最小の**オープン(open)**ポート番号を環境変数 OPEN_UDP_PORT に格納すること。ポートが開いていない場合は、変数に "NONE" を設定すること。

ポート 1234 が開いている場合:

echo $OPEN_UDP_PORT
1234

指定された範囲内にオープンな UDP ポートがない場合:

echo $OPEN_UDP_PORT
NONE

ヒント

  • UDP スキャンのために Nmap を実行する際は、sudo を使用することを忘れないでください。
  • UDP スキャンを指定するには、Nmap の -sU オプションを使用します。
  • Nmap の出力ファイルから open を含む行を見つけるには grep を使用します。
  • grep の出力からポート番号を抽出するには awksed を使用します。
  • 環境変数を設定するには export OPEN_UDP_PORT=value を使用します。
✨ 解答を確認して練習

まとめ

このチャレンジの目的は、不正な UDP サービスのセキュリティ調査をシミュレートし、localhost の 9990-10000 の範囲内で開いている UDP ポートを特定することでした。これには、Python を使用した不正な UDP サーバーのセットアップ、Nmap の -sU オプションを用いた UDP スキャンの実行、およびスキャン結果のファイル保存が含まれます。

解決には、grep を使用して Nmap の出力ファイルからオープンポートを示す行を探し、awksed を使用してポート番号を抽出するスキルが必要となります。最終的に、特定されたポート番号をコンソールに出力するか、範囲内にポートが見つからない場合は "No open UDP port found" と表示します。このチャレンジでは、UDP スキャンのための Nmap の活用と、スキャン結果を分析するためのテキスト処理ツールの使用に重点を置いています。