ホーム テクノロジー LINUX 脆弱性スキャンに Nmap を使用する方法?

脆弱性スキャンに Nmap を使用する方法?


Nmap (ネットワーク マッパー) は、ポート スキャンや脆弱性検出など、ネットワーク全体の機能と侵入テストを行うためのツールキットです。

Nmap スクリプト エンジン (NSE) スクリプトは、Nmap の最も人気があり強力な機能の 1 つです。これらの Nmap 脆弱性スキャン スクリプトは、一般的な既知の脆弱性を調べるためにペネトレーション テスターやハッカーによって使用されます。

Common Vulnerabilities and Exposures (CVE) は、公開されているデータ セキュリティ問題のデータベースです。情報システムのセキュリティに関連する脆弱性や脅威を検出するための参照モデルとして機能します。

この記事では、脆弱性スキャンに Nmap を使用する方法を見ていきます。

始めましょう!

Nmapのインストール

Nmap は、ほぼすべての Linux ディストリビューションにプリインストールされています。見つからない場合は、手動でインストールする必要があります。以下のコマンドで簡単にインストールできます。

 apt-get install nmap

また、公式git リポジトリのクローンを作成してインストールすることもできます。

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

次に、そのディレクトリに移動し、以下のコマンドを使用して要件をインストールします。

 ./configure
make
make install

このソフトウェアの最新バージョンと、Windows、macOS、および Linux (RPM) 用のバイナリ インストーラーは、 ここから入手できます。

Nmapによる脆弱性スキャン

Nmap-vulnersvulscan 、およびvuln は、Nmap 検索エンジンで一般的で最も人気のある CVE 検出スクリプトです。これらのスクリプトを使用すると、システムのセキュリティ上の欠陥に関する重要な情報を発見できます。

Nmap の脆弱性

最もよく知られている脆弱性スキャナーの 1 つはNmap-vulnersです。このツールの設定方法と基本的な CVE スキャンの実行方法を見てみましょう。 Nmap スクリプト エンジンは、HTTP 応答を検索して、指定されたスクリプトの CPE を識別します。

インストール

Nmap-vulners スクリプトをインストールするには、次のコマンドを使用して Nmap スクリプト ディレクトリに移動します。

 cd /usr/share/nmap/scripts/

次のステップは、git リポジトリのクローンを作成することです。

 git clone https://github.com/vulnersCom/nmap-vulners.git

git リポジトリのクローンを作成した後は、構成に関して他に何もする必要はありません。ツールは自動的にインストールされます。

Nmap-vulners データベースに存在する NSE スクリプトを確認したい場合は、 lsコマンドを使用します。ターミナル上にすべての .nse 拡張子スクリプトが表示されます。

使用法

NSE スクリプトの使用は簡単です。 -script 引数を Nmap コマンドに渡すだけで、どの NSE スクリプトを使用するかを指示できます。

 nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target>

NSE スクリプトを使用するときは、「-sV」引数を渡すことを忘れないでください。 Nmap-vulners は、Nmap からバージョン情報を受け取らない場合、Vulners エクスプロイト データベースにアクセスできません。したがって、-sV パラメーターは常に必要です。

コマンド例

構文は非常に簡単です。 「-script」オプションを使用してスクリプトを呼び出し、脆弱性エンジンとスキャンを開始するターゲットを指定するだけです。

 nmap -sV --script nmap-vulners/ <target>

特定のポートをスキャンしたい場合は、コマンドの最後に「-p」オプションを追加し、スキャンしたいポート番号を渡します。

 nmap -sV --script nmap-vulners/ <target> -p80,223

Nmap – 脆弱性

NSE スクリプトは、各スクリプトが属する一連の事前定義されたカテゴリに従って分類されます。カテゴリには、認証、ブロードキャスト、ブルート フォース、侵入、マルウェア、セーフ、バージョン、脆弱性などがあります。 NSE スクリプトのすべてのカテゴリ タイプとそのフェーズは、 ここで見つけることができます。

「脆弱性」カテゴリに分類されるスクリプトは、特定の既知の脆弱性を検索し、ターゲット システムで脆弱性が特定された場合にのみ報告します。

 nmap -sV --script vuln <target>

Nmap-vulscan

Vulscan は、Nmap がサービスとバージョンの検出に基づいてターゲットの脆弱性を検出するのを支援する NSE スクリプトです。 vulscan は、Nmap を脆弱性スキャナーに変換するモジュールのようなものです。 Nmap オプション -sV を使用すると、サービスごとのバージョン検出が可能になります。これは、システムで検出された脆弱性の潜在的なエクスプロイトを特定するために使用されます。

現在、次のプレインストールされたデータベースが利用可能です。

  • エクスプロイトデータベース.csv
  • osvdb.csv
  • セキュリティトラッカー.csv
  • openvas.csv
  • scipvuldb.csv
  • xforce.csv
  • セキュリティフォーカス.csv
  • cve.csv

インストール

Vulscan をインストールするには、まず次のコマンドを使用して Nmap スクリプト ディレクトリに移動します。

 cd /usr/share/nmap/scripts/

次のステップでは、git リポジトリのクローンを作成し、すべての要件をインストールします。

 git clone https://github.com/scipag/vulscan.git

ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan 

Vulscan は、マシン上にローカルに保存された事前設定されたデータベースを利用します。データベースを更新するには、アップデータ ディレクトリに移動します。ターミナルに次のコマンドを入力して、アップデータ ディレクトリに移動します。

 cd vulscan/utilities/updater/

次に、システム内で実行するファイルの権限を変更します。

 chmod +x updateFiles.sh

最後に、以下のコマンドを使用してエクスプロイト データベースを更新します。

 ./updateFiles.sh

使用法

vulscan を使用して Nmap 脆弱性スキャンを実行してみましょう。 vulscan NSE スクリプトは、nmap-vulners と同じ方法で使用できます。

 nmap -sV --script vulscan <target>

デフォルトでは、Vulscan はすべてのデータベースを同時に検索します。すべてのデータベースを使用して情報をクエリするには、非常に時間がかかります。 vulscandb パラメータを使用すると、一度に 1 つの CVE データベースのみを渡すことができます。

 --script-args vulscandb=database_name

コマンド例

nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233

個別の脆弱性スキャン

各カテゴリ内の特定のスクリプトを利用して、個別の脆弱性スキャンを実行することもできます。以下は、600 以上のNSE スクリプトと 139 のNSE ライブラリのすべてのリストです。

  • http-csrf : このスクリプトにより、クロスサイト リクエスト フォージェリ (CSRF) の脆弱性が検出されます。
 nmap -sV --script http-csrf <target>
  • http-sherlock : Web アプリケーションの「shellshock」脆弱性を悪用することを目的としています。
 nmap -sV --script http-sherlock <target>
  • http-slowloris-攻撃:このスクリプトは、DoS 攻撃を開始せずに、Slowloris DoS 攻撃を実行するための脆弱性がないか Web サーバーまたはターゲット システムをチェックします。
 nmap -sV --script http-slowloris-check <target>
  • http-vmware-path-vuln : VMWare ESX、ESXi、および Server はすべて、パス トラバーサルの脆弱性についてテストされています
nmap -sV --script http-vmware-path-vuln <target>
  • http-passwd : /etc/passwd または boot.ini の取得を試み、Web サーバーがディレクトリ トラバーサルに対して脆弱かどうかを確認します。
 nmap -sV --script http-passwd <target>
  • http-internal-ip-disclosure : Host ヘッダーなしで HTTP/1.0 リクエストを送信する場合、このチェックは Web サーバーが内部 IP アドレスを漏洩しているかどうかを判断します。
 nmap -sV --script http-internal-ip-disclosure <target>
  • http-vuln-cve2013-0156 : DOS 攻撃やコマンド インジェクションに対して脆弱な Ruby on Rails サーバーを検出します。
 nmap -sV --script http-vuln-cve2013-0156 <target-address>

最後に、「 vuln 」カテゴリに分類されるすべての NSE スクリプトのリストを以下に示します。

あなたのシステムは Nmap スキャンを検出できますか?

偵察は、倫理的なハッキングと侵入テストの最初の段階です。ハッカーは偵察フェーズを使用して、システム内の欠陥や抜け穴を見つけて攻撃します。したがって、防衛システムはそれらを検出できる必要があります。

SIEM (セキュリティ情報およびイベント管理) ツール、ファイアウォール、その他の防御手段を使用すると、アラートが届きます。ここでは、ビジネスと組織をサイバー攻撃から守るための最適な SIEM ツールのリストを示します。これらのツールは、Nmap スキャンのログ記録にも役立ちます。早期に特定することで将来のシステムへの損害を回避できるため、脆弱性スキャンは価値があります。

結論

この記事が、脆弱性スキャンに Nmap を使用する方法を学ぶのに非常に役立つことを願っています。

脆弱性を見つけるために、オープンソースの Web セキュリティ スキャナーのリストを学習することにも興味があるかもしれません。

「脆弱性スキャンに Nmap を使用する方法?」についてわかりやすく解説!絶対に観るべきベスト2動画

【ハッキング講座】ポートスキャンのやり方と対策方法について【nmap】【portsentry】【ハッカー】【ホワイトハッカー】【情報処理安全確保支援士】
【ゆっくり解説】霊夢の3分ハッキング ~ポートスキャンとnmap~