Nmap究極ガイド:ペンテスト製品レビューと分析

包括的な製品レビューで、Nmapペネトレーションテストツールの実力を明らかにします。その機能、能力、効果を詳しく解説します。

執筆者
Chad Kime
Chad Kime
Jul 19, 2023
21 minute read
eSecurity Planet のコンテンツおよび製品のおすすめは、編集上の独立性を保っています。パートナーへのリンクをクリックすると、当社が報酬を得る場合があります。 詳細を見る

オープンソースのセキュリティツールであるNmapは、もともとポートスキャンに重点を置いていた。しかし、強固なコミュニティが機能や能力を継続的に追加し、Nmapは強力なペネトレーションテストツールへと進化している。サイバーセキュリティの専門家のほぼ全員がNmapを知っており、その多くが頻繁に利用している。ペネトレーションテストのツールボックスにおけるハンマーともいえる存在だ。

この記事では、Nmapの実力、攻撃者によるNmapの利用方法、そして代替となるペネトレーションテスト(ペンテスト)ツールについて詳しく解説する。

Nmapを使うメリットとデメリット

広く利用されているペネトレーションツールである一方、Nmapを熱心に使うユーザーでさえ、このツールの限界を認識している。多くのユーザーにとって最も大きな問題となるのは、時代遅れのグラフィカルユーザーインターフェース(GUI)か、コマンドラインインターフェース(CLI)とスクリプトを使いこなすまでの学習曲線だろう。プログラミング経験のある専門家はNmapのパワーと柔軟性を高く評価するが、能力の低い新規ユーザーには、その恩恵を受けることは難しい。

メリットデメリット
  • 無料(オープンソース)
  • 高速(ほとんどの機能で)
  • 軽量(ファイルサイズが小さく、帯域幅を大量に消費しない)
  • 組み込みやすい複雑なプログラムにも
  • 幅広く利用可能主要なすべてのオペレーティングシステム(OS)で
  • 定期的に更新される
  • ユーザーフレンドリーではない使いこなすにはスキルと経験が必要
  • ミスをしやすいタイプミスや誤解によって
  • サポートが少ない商用ツールよりも
  • 見つけにくい機能があるドキュメントの中に埋もれていることが多い
  • 基本的で古いGUIとウェブサイトが
  • プログラミング能力が必要Nmapを最大限に活用するには

Nmapを使う人とその理由

Nmapは、特定のニーズを持つ高度な技術ユーザーや学生に支持されている。

  • 倫理的ハッカーはネットワークを素早くマッピングし、潜在的な脆弱性を標的にするためにNmapを利用する
  • 悪意あるハッカーは標的を探すためにシステムを迅速に評価し、軽量なコードをマルウェアに組み込む目的でNmapを利用する
  • ITスタッフのメンバーは、安価なネットワークセキュリティソリューションとしてNmapを利用し、不正なデバイスの検知、開放ポートの確認、その他の脆弱性の発見などを行う
  • ITを学ぶ人はネットワークを調査し、IPアドレス、ポート、サービスなどのネットワーク概念を理解するためにNmapを利用する

関連記事:Nmapの脆弱性スキャンを簡単に行う方法:チュートリアル

Nmapは商用ツールが担う多くのタスクを実行できるが、ほとんどの商用ツールがカバーするのはNmapの機能の一部にすぎない。ただし、Nmapはより広範囲をカバーできる一方、出力はテキストファイルまたはXMLファイルとなるため、新規ユーザーには解釈が非常に難しい場合がある。レポートが非常に大きい場合は、専門家にとっても難解になり得る。

Nmapの一般的な利用例には、次のようなものがある。

  • ネットワークやデバイスへのアクセス
  • 資産の検出とシャドーITの検知
  • ネットワーク変更の追跡
  • ネットワークデバイスのトラブルシューティング
  • 脆弱性の検知

悪意ある攻撃者は、ハッキングや、許可なくシステムをスキャンすることの合法性を平然と無視する。しかし、学生、倫理的ハッカー、ITを学ぶ人は、起こり得る法的な影響を念頭に置く必要がある。許可なく実行した場合、ハッキングやポートスキャンでさえ、現地の法令に基づき、罰金や懲役などの法的制裁を科される可能性がある。関連する法令には次のようなものがある。

  • カナダ:カナダ刑法第184条、第342.1条、第380条、第430条
  • ドイツ:ドイツ刑法第202a条および第202b条
  • インド:情報技術法第43条および第66条
  • 日本:不正アクセス行為の禁止等に関する法律
  • 英国:1990年コンピューター不正使用法
  • 米国:コンピューター詐欺・乱用防止法
Advertisement

Nmapのインストール

NmapはLinux用ユーティリティとして始まったが、現在ではWindowsやmacOSを含む多くのオペレーティングシステムに対応している。Nmapは、Kali Linuxを含む複数のLinuxディストリビューションにプリインストールされているが、その他のLinuxシステムのユーザーは「apt-get install nmap」コマンドでNmapをインストールできる。

すべてのオペレーティングシステムのユーザーは、Nmap、またはNmapのダウンロードや、Nmapのグラフィカルユーザーインターフェース(GUI)版であるZenmapを利用できる。GitHubの利用を好む場合は、次のコマンドで公式Gitリポジトリをクローンできる。

git clone https://github.com/nmap/nmap.git

多くのオープンソースソフトウェアパッケージがマルウェアに感染している。マルウェアに感染したNmapのバージョンを避けるため、組織はハッシュ値とファイルサイズを、Nmapが管理する署名記録と照合できる。

Nmapの主な機能

ネットワークマッパー(Nmap)は、ネットワーク内のシステムのIPアドレスを迅速にスキャンして特定するオープンソースツールとして始まった。開発者はNmapに強力な機能を継続的に追加しており、現在ではアプリケーション、パケット、ポートのプロービングまで可能になっている。

すべての機能がすべてのオペレーティングシステムで利用できるわけではなく、管理者(admin)レベルのアクセス権がなければ使えない機能もあることを理解しておく必要がある。ユーザーは、必要な機能が使用するプラットフォーム上で、現在のアクセス権限レベルで動作するかを確認しなければならない。

それでも、ツールや機能の一部だけでも非常に役立つ場合がある。Nmapの特定のツールの使い方だけで記事全体を書けるほどであり、Nmapの基本を解説した464ページの書籍も出版されている。

ここでは、利用可能な機能の概要を紹介する。機能は大まかに、ネットワークマッピング、ネットワークパケット操作、ポート分析、スクリプティングに分類できる。

ネットワークマッピング

Nmapの中核機能であるネットワークマッピングを使うと、ネットワークをスキャンし、PC、サーバー、ルーター、スイッチなど、接続されたデバイスを見つけられる。

nmapコマンド

基本的な「nmap」コマンドは、IPアドレスの範囲または単一のIPアドレスを対象に実行でき、オンラインのデバイス、開放ポート、デバイス間のネットワーク接続に関する基本情報を返す。これらはZenmapでグラフィカルに表示できる。Nmapはメディアアクセス制御(MAC)アドレスも取得する。

MACアドレスの情報にはメーカーが含まれるため、ネットワークに接続されたプリンター、ルーター、さらにはゲーム機の識別に非常に役立つ。ただし、エンドポイントやサーバーの場合、MACアドレスから通常返されるのはネットワークカードのメーカー情報だけであり、より詳しい情報を得るには別のコマンドを使う必要がある。

Nmapが生成する情報は、ネットワークに接続された不正なデバイスやシャドーITの検知によく使われる。IT管理者は、Nmapの結果を調べることで、PlayStation、インターネット接続テレビ、不正な無線アクセスポイントなど、承認されていない、または想定外のデバイスを特定できる。

Ndiff

Ndiffは、NmapのXML出力ファイルを比較するツールを提供する。ITチームはこのユーティリティを使って、IPアドレスの追加・削除、ポートの開閉など、ネットワーク上で何が変更されたかを確認する。スクリプトでネットワークマッピングとNdiffを実行し、セキュリティインシデントおよびイベント監視(SIEM)ツールにレポートを作成したり、変更をセキュリティオペレーションセンター(SOC)に警告したりできる。

Advertisement

ネットワークパケット操作

ネットワーク情報を収集するため、Nmapにはネットワーク上を送信されるデータパケットを操作する機能が備わっている。これらの機能により、ユーザーはデータパケットの傍受(またはパケットキャプチャー)、フィルタリング、再ルーティング、細工したデータパケットの送信を行える。パケット操作の大半は組み込みコマンドやスクリプトで実行できるが、特に注目すべきツールがNpingだ。

Nping

このNpingネットワークパケット生成ツールは、ネットワークのストレステスト、ARPポイズニング、サービス拒否攻撃、ファイアウォールルールのテスト、トラブルシューティングなどに利用できる。Npingは、伝送制御プロトコル(TCP)、ユーザーデータグラムプロトコル(UDP)、インターネット制御メッセージプロトコル(ICMP)、アドレス解決プロトコル(ARP)のパケットをカスタマイズでき、イーサネットフレームの生成にも対応している。

Npingのエコーモードを使うと、ファイアウォールルールを理解したりパケットの破損を検出したりするために、送信元ホストと宛先ホストの間でパケットがどのように変更される可能性があるかを追跡できる。Npingの機能は非常に強力にカスタマイズでき、一部のハッカーはパケット操作によってTCP Idle Scanを実行する。

TCP Idle Scanは、しばしばゾンビホストと呼ばれるデバイスからIP IDを盗み、その後、ゾンビホストの通信になりすましたパケットを送信する。ハッカーは通常、この機能を使ってセキュリティツールや担当者の注意をそらし、ハッカーが操作している可能性のあるデバイスではなくゾンビホストを調査させる。

ポート分析

細工したパケットを送信することで、Nmapはポート分析を実行し、スキャン対象ホストに関する詳細情報を特定できる。スキャンによって、ホストやデバイスの種類、ポートで実行中のサービス、オペレーティングシステム、分析の確度が明らかになる。より詳細なスキャンでは、ホストのバージョン、パッチレベル、推定稼働時間も報告できる。

分析によって、ホストの役割(メールサーバー、Webサーバーなど)を特定し、ポートルールを検出できる。ネットワーク管理者は、ファイアウォールのポートルールの設定を検証するためにNmapを使うことも多い。

スクリプティング

Nmapの真の力は、スクリプティング機能にある。多くのコントリビューターが強力なスクリプトを開発してNmapに組み込んでおり、多くのIT管理者は自動化やレポート作成を容易にするためにスクリプトを利用している。ハッカーもスクリプトを使い、マルウェアがネットワークに感染した際に一連のコマンドを自動実行できるようにしている。

Nmapのスクリプティングでは、さまざまな脆弱性(vuln)スクリプトと、ダウンロード可能な2つのスクリプトであるVulnersおよびVulscanを使って、堅牢な脆弱性の検知が可能になる。スクリプティングによって、デバイス間のネットワーク通信を可能にする強力なNcatツールも利用できる。

Ncat

Ncatネットワークユーティリティは、さまざまな目的に対応する幅広いネットワーク通信を可能にする。ネットワーク管理者は、Ncatコマンドをバックエンドツールとして使い、ネットワークデバイスに接続できる。プログラマーはNcatを使って、アプリケーションとデバイスの間に安全な接続を作成できる。

もちろん、ハッカーもNcatを使う。最も一般的な用途は、ウイルスを使ってNcatをネットワークに配置し、このツールからハッカーのデバイスに接続してリバースシェルを作成することだ。

多くのファイアウォールやセキュリティデバイスは受信攻撃を監視する一方、送信通信は監視していない場合がある。Ncatのリバースシェルは通信を開始するため、アラートを引き起こす可能性のある攻撃を行わずに、ハッカーがネットワークへのアクセスを得られる。

Advertisement

Nmapの基本コマンド

Nmapの基本コマンドとフラグを使えば、スクリプトやプログラミングなしでネットワークとホストを詳細にスキャンできる。Zenmap GUIでは、メニューオプション(定義済みプロファイルとも呼ばれる)を通じて同じコマンドの多くを利用できる。Zenmapではコマンド名が「Intense Scan」「Quick Scan」などに変更され、コマンド実行時ではなく、後から結果のエクスポートを選択できる。

次の基本コマンドを実行すると、IPアドレス上のホストで開いているポートを検出できる。

nmap <IP address>

コマンドにフラグを追加すると、追加情報の抽出、スキャンのフィルタリング、結果のエクスポートが可能になる。

  • -A:サービスのバージョンとオペレーティングシステムの情報を返す「aggressive」オプション
  • -O:応答に基づいてホストのオペレーティングシステムを推測する
  • -sA:ホスト上でファイアウォールが有効かどうかを判定する
  • -p <port number(s)>:特定のポートまたは複数のポートをスキャンする
  • -sV:各ポートの各サービスのバージョン検出を可能にする。脆弱性スキャンにおいて非常に重要
  • -oN:結果を通常のテキストファイルとして出力する
  • -oX:レポートをXML形式でファイルに出力する。通常は別のプログラムで解析するために使用する
  • Exclude <host1>[,<host2>]:ホストをスキャン対象から除外する
  • Excludefile /<exclude filename>:除外ファイル(.txt形式)に含まれるホストのリストを除外する

すべてのオプションはNmapのWebサイトで確認でき、さまざまなオプションのマインドマップも含まれている。非常に強力ではあるが、Nmapの全機能を活用するには、組み込みのNmapスクリプトまたはカスタムスクリプトを使用する必要がある。

組み込みNmapスクリプト

組み込みNmapスクリプトは、次のコマンドを実行して更新できる。

sudo nmap --script-updatedb

スクリプトを更新すると、ネットワーク、ホスト、ポートをさらに深く調査できる。例えば「banner」スクリプトを特定のポートに対して実行すれば、特定のサービスのソフトウェアバージョンを推測できる。

nmap -p 21 --script=banner 69.79.4.220

この例では、IPアドレス69.79.4.220にあるホストで実行されている可能性のあるFTPサービスを特定するため、Nmapがポート21(-p 21)を対象に実行されている。

NSEDoc Reference Portalには、604個のNmapスクリプトと139個のNmapスクリプトライブラリの完全な一覧へのリンクがある。すべてのスクリプトはNmap Scripting Engine(NSE)を使って記述されており、スクリプトやライブラリの一覧からは、より詳しい情報を掲載した個別ページにもリンクされている。

カスタムNmapスクリプトの利用

Nmapのツールやスクリプトは強力な機能を提供するが、高度なユーザーは複数行の命令やより複雑なコマンドを組み合わせ、カスタマイズした機能を作成することを好む場合がある。こうした追加機能を実現するには、Pythonでプログラミングし、python-nmapパッケージ、またはNmap Scripting Engine(NSE)で使用されるLuaプログラミング言語を使う必要がある。

開発したカスタムスクリプトと組み込みNmapスクリプトやコマンドは、いずれも他のプログラムから呼び出せる。ネットワーク管理者は、Nmapコマンド一式をスケジュール実行してネットワークをマッピングし、新しいデバイスやポート状態の変化(開放から閉鎖、またはその逆)を検出するために、カスタムスクリプトを使うことがある。もちろん、ハッカーもさまざまな方法でNmapスクリプトを利用する。

Advertisement

攻撃者はNmapをどう使うのか

Nmapは、生のIPパケットを使ってネットワーク上で利用可能なホストやサービスを特定し、大規模なネットワークを高速にスキャンする。ハッカーやペンテスターは通常、痕跡を隠すための特定のオプションと、複数の機能を自動実行するためのスクリプトを追加する。

Nmapで痕跡を隠す

デコイスキャンでは、-Dオプションフラグ(例:nmap -p 123 -D <decoy IP address> <target IP address>)を追加して攻撃元のIPアドレスを隠し、スキャンに関連するパケットに加えて、送信元を偽装したパケットをターゲットに送信する。デコイスキャンのより高度な形態が、ゾンビスキャンまたはアイドルスキャンである。

このサイドチャネル攻撃では、ネットワーク上の「ゾンビ」エンドポイントのIPアドレスを使って、偽造したSYNパケットをターゲットに送信しようとする。この方法は、侵入検知システム(IDS)をだまして、攻撃者ではなく無害なゾンビコンピューターを攻撃元と誤認させようとする。

難読化に加えて、Nmapではスキャンのタイミングも操作できる。IT管理者は、-T5オプション(「Insane」タイミング設定とも呼ばれる)を選択し、タイムアウトを75秒、並列送信する各プローブの間隔を0.3秒として、大量の並列処理(複数のスキャンを同時に実行する)、検出しやすい高速スキャンを行うことを好む場合がある。内部ユーザーは目立つことを気にせず、速度を優先する。

しかし、攻撃者は次のように、ネットワークトラフィックにより紛れ込む設定を好む。

  • Polite:逐次スキャン、スキャン間の待機時間は0.4秒
  • Sneaky:逐次スキャン、スキャン間の待機時間は15秒
  • Paranoid:逐次スキャン、スキャン間の待機時間は300秒

Nmapを使った攻撃

一般論を語るのは簡単だが、攻撃者が実際にNmapをどう使うのかを理解するため、具体的な例を見てみよう。米国政府の情報源は、Nmapを組み込んだ既知の攻撃例として、EyesOfNetworkの脆弱性とLog4Shellの悪用の1つという2つの例を挙げている。

EyesOfNetwork 5.3、CVE-2020-8655

脆弱性CVE-2020-8655は、深刻度評価7.8 / 10で、sudoers設定のApacheユーザーがNmapバージョン7以降を使ってrootとして任意のコマンドを実行することを可能にした。米国国立標準技術研究所(NIST)は、既知の悪用された脆弱性に関する概念実証(PoC)コードへのリンクを掲載している。このコードでは、攻撃者がスクリプトを使ってローカル権限昇格(LPE)攻撃を実行し、1つのNmapコマンドでリバースシェルを起動した方法が詳しく説明されている。

脆弱性はEyesOfNetworkソフトウェア内に存在するが、システム内の攻撃者は、用意したスクリプトをほとんど手間なく実行し、Nmapのリバースシェルを使ってApacheサーバーにアクセスできる。ApacheユーザーにはrootとしてNmapを実行する権限があるため、攻撃者が環境内でさらにNmapコマンドをrootとして実行するのに、追加の認証情報は必要ない。

Log4Shellを使ったNmap攻撃

サイバーセキュリティ・インフラセキュリティ庁(CISA)は、悪意あるPowerShellトロイの木馬ダウンローダーファイルを分析している。攻撃者はLog4ShellのJava脆弱性を利用して、パッチが適用されていない、インターネットに公開されたVMware HorizonおよびUnified Access Gateway(UAG)サーバーに、悪意あるPowerShellマルウェアを送り込むことができた。

PowerShellマルウェアはNmapの有無を確認し、見つからなければ被害者のコンピューターにNmapをインストールする。スクリプトはWindows Server上の既存の「Runtime Service」および「Runtime Update Service」タスクを停止する。その後、スクリプトはNmapの設定、「Runtime Service.exe」という名前での日次タスクの実行、NmapまたはNmapのパケットキャプチャーツールNpcapのアンインストールを無効にするレジストリの更新を自動的に行う。

Advertisement

これらのスクリプトはサーバー上に永続性を確立し、攻撃者によるリバースシェル接続を可能にする。一方、防御側は、プログラムやログファイルを慎重に調べなければ、Windows Serverで見慣れた「Runtime Service」がマルウェアプログラムに変えられていることを検出するのが難しい。

関連記事:PowerShellセキュリティに関するガイダンスをサイバーセキュリティ機関が公開

Nmapスキャンを検知・低速化・ブロックする方法

ホストのネットワークやシステムでは、SIEMツール、ファイアウォールなどの防御ツールを使ってNmapスキャンを検出できる。ただし、一部のシステムでは事前に設定が必要になる場合がある。Nmapスキャンはポートを調査するためにリクエストを使用し、接続に成功した記録はホストのログファイルで確認できる。より高度なIDS/IDPツールでは、TCP接続を完了させないNmapのステルスリクエストなど、不正な形式のTCPリクエストも検出できる可能性がある。

Nmapは、さまざまな方法でNmapを検知またはブロックする方法について具体的な助言を提供しているが、ツールベンダーも推奨方法を提示している。もちろん、組織はチームやパートナーと協力し、ツールがアラートを生成するための適切な設定を確保する必要がある。その後、セキュリティチームと連携し、アラートがSIEMツール、SOCチーム、またはマネージドITセキュリティサービスプロバイダー(MSSP)によって適切に受信されることを確認する必要がある。

Nmapの検知に関する推奨事項

インターネットに公開されたポートのスキャン量は膨大で、標準的なシステムログでは通常不十分だが、ポートスキャンの検知は可能だ。多くの管理者は、攻撃の前兆になり得ることから、ログを使ってポートスキャンを追跡する。しかし、より有用な検知は、内部ネットワークにインストールされた侵入検知または侵入防止システム(IDS/IPSまたはIDPS)によって実現できる可能性がある。内部ネットワークでは、常時実行される自動スキャンによるノイズが少ないためだ。

Nmapによると、Sentry Tools(以前はPortSentryとして知られていた)やScanlogdなどの専用ポートスキャン検出ツールは、攻撃者が検知を回避しようとする場合でも、ホスト上のポートスキャンを検出できる。Nmapはまた、Nmapスキャンをブロックする、あるいは少なくとも低速化する最善の防御策の1つは、適切に設定されたファイアウォールにデフォルト拒否の原則を適用することだと指摘している。

Nmapによると、ファイアウォールは、スキャンが成功したかどうかをNmapに分かりにくくすることで、攻撃者の活動を妨げられる。混乱したNmapはスキャンをよりゆっくり実行するため、攻撃が面倒になる。

例えば、ファイアウォールフィルターが閉じたポートへのTCP SYNスキャンプローブを破棄すると、NMAPはRSTパケットを受信してほぼ瞬時に次のポートへ移る代わりに、TCPタイムアウトまで待たなければならない。同様に、閉じたポートへのUDPプローブパケットを破棄するファイアウォールも、Nmapがポートの開閉を判断する際に混乱を招く(NmapはICMPポート到達不能応答を想定している)。

Cisco IDS SensorによるNmap検知

Cisco 4200シリーズなどのCisco IDSシステムは、TCPスキャンやSYNスキャンを検知できるIDSセンサーをネットワークに導入できる。Cisco が提供する記事では、Nmapの結果と、これらのスキャンに加えてFIN、NULL、OS Guessing、Xmas-Treeスキャンを捕捉したCiscoのリアルタイム出力を紹介している。

前述のとおり、CiscoがNmapを検知できるからといって、インストールすれば自動的にNmapを検知できるわけではない。組織は、Nmapを検知するための適切な設定を確実に行うため、Ciscoのパートナーと連携する必要がある場合がある。

MicrosoftによるNmap検知

Microsoftが推奨するのは、高度なセキュリティを備えたWindows Defender Firewallを使用して、Nmapの活動をリアルタイムで検知することだ。ただし、ファイアウォールはスキャンを検知して記録するものの、企業全体に導入したMicrosoft Defender for Endpointなら、複数のエンドポイントからのアラートを集約し、進行中の攻撃を示すネットワーク全体のプローブを検知できる。

その他のウイルス対策、エンドポイントでの検知と対応(EDR)や拡張検知と対応(XDR)ツールでも、同様の機能を利用できる可能性がある。組織は、機能を検証し、適切な実装を確実に行うため、ドキュメントを詳しく確認するか、ベンダーと連携する必要がある。

Nmapをブロックする

組織は、Nmapをブロックする、あるいは少なくとも導入をはるかに困難にする対策を講じられる。Windowsの設定の多くでは、管理者以外のアカウントに対してコマンドラインやコマンドプロンプトをブロックできる。これらの設定により、Nmapなどのコマンドラインツールがエンドポイント上で実行またはインストールされるのを阻止できる。

一般的なユーザーがコマンドラインを起動する必要は決してなく、機能がブロックされていても気付かないだろう。たいていの場合、不便を強いられるのはハッカーだ。ハッカーなどのより高度なユーザーは、バッチ(.bat)ファイルを作成したり、USBドライブからWindowsを実行したりする方法を知っているが、管理者以外のユーザーについては、管理者がローカルマシン上でこれらもブロックできる。

もちろん、こうしたツールは現代の環境では大きな制約を受ける。第一に、これらの選択肢をブロックすると、新しいソフトウェアのインストールや、一部の望ましいバッチファイルのシステム上での実行が妨げられ、ユーザーから不満が出る。この不満は、すべてのソフトウェアをIT管理者がインストールするよう義務付けるか、ホワイトリスト化し、エンドポイントでの実行を許可するソフトウェアやバッチファイルを登録することで軽減できる。

より重大な問題は、個人所有デバイスの持ち込み(BYOD)エンドポイントが広く利用されていることから生じる。組織が制限を課せるのは会社所有のデバイスだけであり、BYODをこの方法でブロックすべきではない。ただし、この場合でも組織は、BYODデバイスを分離するブラウザー分離、ゼロトラストネットワークアクセス、または仮想デスクトップインターフェースを介して会社のリソースに接続するよう義務付けることで、保護策を講じられる。

Nmapの代替ツール

ペネトレーションテスターは、Nmapの代替となる幅広いペネトレーションテストツールを見つけられる。オープンソースツールには、次のような選択肢がある。

  • Zap(アプリケーションスキャナー)
  • John the Ripper(パスワードクラッカー)
  • Wireshark(パケットスニファー)

ただし、Nmapは多くのペンテスターの間で支配的な地位を占めているため、これらのツールの多くはペネトレーションテストの別の側面に特化している。

Burp SuiteやRapid7のMetasploitのような商用ペネトレーションテストツールでさえ、Nmapを完全に置き換えるのに苦戦している。多くのセキュリティチームは、商用ツールのよりユーザーフレンドリーな機能を活用しつつ、特定のユーザーや特定のニーズ、またはスクリプト作成にはNmapを使い続けるだろう。

それでも、Nmapの資金の大半は、Nmapを自社ツールに組み込む企業へのOEMライセンス供与から得られている。商用ペンテストツールは、コードの一部を自社ソフトウェアにコピーするか、Nmapをローカルにインストールして、商用ツールを通じて結果を解析している。

商用ソフトウェアに料金を支払っている組織は、実際には内部でNmapを使っている可能性があるが、使いやすさの向上は追加費用に見合うかもしれない。商用ツールを使えば、経験の浅いITセキュリティスタッフでも、Nmapでは実行できなかった同等のタスクを実施でき、専門的なレポートもより迅速に作成できることが多い。

組織はまた、社内チームでツールを使う代わりに、専門的なペネトレーションテストサービスを利用することもできる。ただし、購入者は、一部のペネトレーションテスト企業がオープンソースツールを直接使用するサービスさえ販売していることに注意すべきだ。良くも悪くも、誤解を招く可能性があるNmap Onlineのように、公式のNmap.orgウェブサイトと似たロゴやドメイン名を使うことを、これほど露骨に行う企業はほとんどない。

結論:ペンテストを極めるにはNmapを学ぼう

Nmapを極めるには時間、練習、専門知識が必要だが、幅広い機能を考えれば学ぶ価値は十分にある。多くの代替ツールが存在する一方で、Nmapは優れた主要ツールまたはバックアップツールとなり、Nmapを学ぶ過程で、あらゆるユーザーが幅広いペネトレーションテストのスキルを身に付けられる。

関連記事:

この記事はDrew Robbが2019年9月30日に執筆し、Chad Kimeが2023年7月19日に改訂した。

Chad Kime

eSecurity Planet lead writer Chad Kime covers a variety of security, compliance, and risk topics. Before joining the site, Chad studied electrical engineering at UCLA, earned an MBA from USC, managed 200+ ediscovery cases, and helped market a number of IT and cybersecurity products, then transitioned into technical writing policies and penetration test reports for MSPs and MSSPs.

eSecurity Planet Logo

eSecurity Planet is a leading resource for IT professionals at large enterprises who are actively researching cybersecurity vendors and latest trends. eSecurity Planet focuses on providing instruction for how to approach common security challenges, as well as informational deep-dives about advanced cybersecurity topics.

TechnologyAdvice が所有・運営しています。 © 2026 TechnologyAdvice. 無断転載を禁じます

広告主に関する開示:このサイトに掲載されている製品の一部は、TechnologyAdvice が報酬を受け取っている企業のものです。この報酬は、製品がこのサイトのどこにどのように表示されるか(表示される順序など)に影響する場合があります。TechnologyAdvice は、市場で入手可能なすべての企業やすべての種類の製品を掲載しているわけではありません。