Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
nmap-vulners — Nmap NSEスクリプト。Vulners APIに問い合わせ、検出されたネットワークサービスの既知の脆弱性(CVE)を特定し、標準のポートスキャンを自動CVEルックアップとCVSSスコアリングで強化します。 | Kitploit
ツール/GitHubGitHub/vulnerscom/nmap-vulners
脆弱性スキャナー脆弱性分析情報収集ネットワークセキュリティ
GitHubvulnerscom/nmap-vulners

nmap-vulners

Nmap NSEスクリプト。Vulners APIに問い合わせ、検出されたネットワークサービスの既知の脆弱性(CVE)を特定し、標準のポートスキャンを自動CVEルックアップとCVSSスコアリングで強化します。

リポジトリを見る
3.4k5592日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

nmap-vulners

nmapのサービススキャンを、CVE、CVSSスコア、既知のエクスプロイトの一覧に変換します。

nmapがすでに特定したソフトウェアを受け取り、Vulnersデータベースにその既知情報を問い合わせ、スキャンレポート内に回答を出力する3つのNSEスクリプトです。

tests license nmap data stars

scanme.nmap.orgに対するvulners.nse


3つのスクリプト

スクリプトキーの要否機能
vulners.nse不要nmapが見つけたすべてのCPEを公開Vulnersエンドポイントに送信し、既知情報をCVSSの高い順に出力します
vulners_enterprise.nse必要Vulners API v4経由で同じ検索を実行: CVSS v3スコアと各CVEを参照するエクスプロイト
http-vulners-regex.nse不要HTTPヘッダーとページコンテンツからWebソフトウェアを特定し、-sVが名前を特定できない場合でも他の2つが検索対象を持てるようにします

これらは独立しています。1つだけ実行しても、3つすべて実行しても構いません。regexスクリプトは見つけた結果を自動的に他の2つに引き渡します。

インストール

macOS、Linux、Kali、WSL - 1行で、引数なし:

root@kitploit:~
curl -fsSL https://raw.githubusercontent.com/vulnersCom/nmap-vulners/master/install.sh | sh

Windows - 管理者としてPowerShell:

root@kitploit:~
irm https://raw.githubusercontent.com/vulnersCom/nmap-vulners/master/install.ps1 | iex

インストーラはnmapにデータの保存場所を問い合わせ、スクリプトとそのデータファイルをそこへコピーし、スクリプトデータベースを再構築してから、--script vulnersが実際にインストールしたばかりのものを参照することを確認します。nmapには独自のvulners.nseが同梱されており、これがそれを置き換えます。

rootなし、およびその他のオプション
root@kitploit:~
# into ~/.nmap, no sudo; the installer prints the NMAPDIR line to add to your profile
curl -fsSL https://raw.githubusercontent.com/vulnersCom/nmap-vulners/master/install.sh | sh -s -- --user

# a specific directory
./install.sh --prefix /usr/local/share/nmap

# a specific release
./install.sh --ref v1.5

# remove everything it installed
./install.sh --uninstall

PowerShellでも同じオプションを使用できます: -User、-Prefix、-Ref、-Uninstall。

チェックアウトから
root@kitploit:~
git clone https://github.com/vulnersCom/nmap-vulners
cd nmap-vulners
./install.sh

インストーラはその隣にあるファイルを使用するため、クローンした内容がそのままインストールされます。チェックアウトからスクリプトを直接実行することもできます:

root@kitploit:~
nmap -sV --script "$PWD/vulners.nse" <target>

チェックアウトから実行する場合は絶対パスを使用してください。nmapは相対パスの--script ./vulners.nseを最初に自身のscript.dbと照合し、あなたのコピーではなくnmapに同梱されたコピーを静かに実行します。

手動で

5つのファイル、2つのディレクトリ:

ファイル配置先
vulners.nse、vulners_enterprise.nse、http-vulners-regex.nse<nmap data dir>/scripts/

使い方

vulners - キー不要

root@kitploit:~
nmap -sV --script vulners [--script-args mincvss=<score>] <target>

nmapが報告するすべてのCPEが検索され、各脆弱性はスコア、そのスコアの基準、リンクとともに出力されます。既知のエクスプロイトがあるエントリは*EXPLOIT*とマークされ、しきい値に関係なく表示されます。悪用される低重要度のバグでも、あなたは侵害されるからです。

vulners_enterprise - Vulners APIキー

root@kitploit:~
export VULNERS_API_KEY=<token>
nmap -sV --script vulners_enterprise [--script-args mincvss=<score>] <target>

scanme.nmap.orgに対するvulners_enterprise.nse

エンタープライズエンドポイントは、CVSS v3メトリクスとVulnersが収集したエクスプロイトの参照情報を返します。そのため、悪用されたCVEは*HAS EXPLOIT*とマークされ、エクスプロイト自体がその隣にリストされます。1つのポートのすべてのCPEは1つのリクエストで送信されます。

http-vulners-regex - -sVが特定できないソフトウェアをフィンガープリント

root@kitploit:~
nmap -sV --script http-vulners-regex [--script-args paths={"/"}] <target>

scanme.nmap.orgに対するhttp-vulners-regex.nse

178のパターンがHTTPヘッダーとページのマークアップ - Server、X-Powered-By、ジェネレータタグ、アセットURL - をCPEにマッピングします: Webサーバー、CMS、フレームワーク、WordPressプラグイン、JavaScriptライブラリ。見つけたものはすべてポートに公開されるため、vulnersとvulners_enterpriseは同じスキャン内でそれを検索します。

スクリプト引数

vulners

vulners_enterprise

http-vulners-regex

引数デフォルト意味
http-vulners-regex.pathshttp-vulners-paths.txt (125パス)パスのLuaリスト、または1行に1パスを記述したファイル名を指定する1つの文字列

パスリスト全体が単一のHTTPパイプラインで送信されます。読み取れないファイルがあると、同梱リストにフォールバックするのではなくスクリプトが停止します。そのため、ファイル名のタイポによって3パスのスキャンが125パスのスキャンになることはありません。

APIキーの保管場所

優先順位の高い順:

  1. 環境変数VULNERS_API_KEY
  2. --script-args vulners_enterprise.api_key_file=/absolute/path
  3. --script-args vulners_enterprise.api_key=<token>

3番目は便利ですが、情報漏洩のリスクがあります。nmapは自身のコマンドラインをすべてのレポートにコピーするため、トークンは-oX出力のargs属性とシェル履歴に残ります。スクリプト自体はデバッグ出力を含め、トークンをどこにも書き込みません。それを保証するリグレッションテストがあります。

トークンはvulners.comアカウントにあります。トークンがない場合、vulners_enterpriseは何も送信せず沈黙します。

3つの連携の仕組み

root@kitploit:~
nmap -sV
   |
   +-- service fingerprint --> port.version.cpe ------------+
   |                                                        |
   +-- http-vulners-regex.nse                               |
         requests the path list in one pipeline             |
         matches headers and bodies against 178 patterns    |
         publishes the CPEs it found for that port ---------+
                                                            |
                                                            v
                                     vulners.nse / vulners_enterprise.nse
                                        one batched request per port
                                        answers cached for the whole scan
                                        sorted by CVSS, exploits marked

機械可読な出力

スクリプトが出力するものはすべて構造化されているため、-oX出力を人間向けのテキストに触れることなく解析できます:

root@kitploit:~
<script id="vulners_enterprise">
  <table key="cpe:/a:apache:http_server:2.4.7">
    <table>
      <elem key="id">CVE-2021-44790</elem>
      <elem key="type">cve</elem>
      <elem key="cvss">9.8</elem>
      <elem key="cvss_type">cvss3.1</elem>
    </table>
    <table>
      <elem key="id">EDB-ID:51193</elem>
      <elem key="type">exploitdb</elem>
      <elem key="cvss">9.8</elem>
      <elem key="cvss_type">cvss3.1</elem>
      <elem key="is_exploit">true</elem>
    </table>
  </table>
</script>

キーはid、type、cvss、cvss_type、is_exploitで、is_exploitは該当するエントリにのみ存在します。結果テーブルは、検索対象となったCPEをキーとしています。スコアなしのセキュリティ情報にはcvssもcvss_typeも含まれません。

丁寧なスキャン

ネットワークのスキャンは、見た目よりもはるかに少ない回数しかAPIに問い合わせません:

  • ポートのすべてのCPEは1つのバッチリクエストにまとめられます
  • 回答はスキャン全体でキャッシュされるため、100台の同一サーバーでも100回ではなく1回のルックアップで済みます
  • 進行中のルックアップは繰り返されず、待機されます
  • 125パスのスイープは126ではなく5つのTCP接続で実行され、サーバーが対応している場合は圧縮ページを要求します
  • レート制限や障害が発生した場合、ホストごとに再試行するのではなく、スキャンのリクエストを停止します

開発

テスト、ハイジーンゲート、CONTRIBUTING.mdはgitリポジトリにのみ存在します。リリースアーカイブにはスクリプトとそのデータが同梱されます。3つのゲートは、特記のない限りすべてオフラインで動作します:

root@kitploit:~
nmap -sn -Pn --script ./tests/run.nse --script-args testdir=tests,root=. 127.0.0.1
python3 tests/e2e/run_e2e.py
python3 tools/check.py

110のユニットテストケースが実際のNSEライブラリに対してnmap内で実行され、33のエンドツーエンドケースが実際のnmapバイナリをローカルWebサーバーと模擬Vulners APIに対して実行します。ハイジーンゲートは、シークレット、スキャン出力、エディタの作業ファイルをツリーから排除します。python3 tests/e2e/run_e2e.py --liveは実際のサービスに対する6つのチェックを追加します。CONTRIBUTING.mdを参照してください。

FAQ

何かをエクスプロイトしますか? いいえ。スクリプトはバナーとページを読み取り、データベースに問い合わせるだけです。nmapのsafeカテゴリに属しています。

APIキーなしで動作しますか? はい。vulnersとhttp-vulners-regexはキーを必要としません。vulners_enterpriseは必要です。

ある脆弱性がcvss2.0を表示し、別の脆弱性がcvss3.1を表示するのはなぜですか? そのラベルはスコアの基準を示しています。Vulnersはソースが公開した基準を返します。v2の9.3はv3の9.3と同じではありません。

mincvssを設定したのに、低スコアのエントリが表示されるのはなぜですか? 既知のエクスプロイトがあるか、ソースがスコアを付けていないためです。どちらも意図的な動作です。

脆弱性があると分かっているホストで何も見つかりません。 -d2を付けて実行してください。スクリプトは問い合わせたすべてのCPEをログに記録します。通常、nmapがサービス名は特定してもバージョンは特定できておらず、検索するバージョンがない状態です。

ライセンス

スクリプトはNmap自体と同じライセンスです。Nmap Public Source LicenseについてはLICENSE、その意味についてはnmap.org/npslを参照してください。

脆弱性データはVulnersから提供され、その利用規約に従います。

関連リンク

  • vulners.com - これらのスクリプトの背後にあるデータベース
  • vulnersCom/api - Pythonクライアント
  • vulnersCom/burp-vulners-scanner - Burp Suite内で同じデータを利用
  • nmap.org/book/nse.html - NSEスクリプトの仕組み

Vulners Team <[email protected]> によってメンテナンスされています

#nmap #nse #vulnerability-scanner #cve #cvss #cpe #vulners #security-tools #pentest #infosec #network-scanner #exploit-database #lua #vulnerability-detection #security-automation

ツールをダウンロード
http-vulners-regex.json、http-vulners-paths.txt<nmap data dir>/nselib/data/

その後、sudo nmap --script-updatedb を実行します。

nmapのデータディレクトリは通常/usr/share/nmap(Debian、Ubuntu、Kali)、/usr/local/share/nmap(ソースからビルドした場合)、/opt/homebrew/share/nmap(Homebrew)、またはC:\Program Files (x86)\Nmap(Windows)です。確実に確認するには、nmapに問い合わせます:

root@kitploit:~
nmap -d2 --script-help probe 2>&1 | grep nse_main.lua

nse_main.luaがあるディレクトリが、このnmapが使用するディレクトリです。

引数デフォルト意味
vulners.mincvss0この値を下回るスコアの脆弱性を非表示にします。スコアなしのセキュリティ情報とエクスプロイトは常に表示されます
vulners.api_hostvulners.comAPIのホスト名
vulners.api_port443api_host上のポート
引数デフォルト意味
vulners_enterprise.mincvss0上記と同じ
vulners_enterprise.api_key-APIトークン。環境変数を推奨します。下記参照
vulners_enterprise.api_key_file-最初の行がトークンであるファイルの絶対パス
vulners_enterprise.api_hostvulners.comAPIのホスト名
vulners_enterprise.api_port443api_host上のポート