Назад к обновлениям
New releaseAug 18, 2026

nmap-vulners v1.5

Скрипт NSE для Nmap, который запрашивает API Vulners для выявления известных уязвимостей (CVE) для обнаруженных сетевых служб, расширяя стандартное сканирование портов автоматизированным поиском CVE и оценкой CVSS.

Поделиться

nmap-vulners

Превращает сканирование сервисов nmap в ранжированный список CVE, эксплойтов и того, что атакуется в дикой природе.

Один NSE-скрипт, который берёт программное обеспечение, уже идентифицированное nmap, запрашивает базу данных Vulners о том, что о нём известно, и выводит ответ внутри отчёта сканирования — сначала худшее, по тому, что реально эксплуатируемо.

tests license nmap data stars

Три сканирования: SSH-порт без API-ключа, тот же порт с ключом и веб-порт, где обход называет Tomcat за баннером Coyote

Реальные сканирования хостов, опубликованных для сканирования. Без ключа, затем с ключом, затем веб-порт: nmap -sV сообщает о баннере Coyote, а обход называет Tomcat и jQuery за ним.


Что он делает

Для каждого открытого порта он ищет программное обеспечение, идентифицированное nmap — CPE, которые создал -sV, — и выводит то, что Vulners знает о нём: сначала худшее по тому, что эксплуатируется, а не только по оценке, и каждая строка — ссылка на страницу за ней.

На HTTP-порту он также снимает отпечатки самого веб-стека, что называет программное обеспечение, которое -sV не может увидеть — фреймворк приложения, CMS, версию PHP за обратным прокси. 721 правило читает части ответа, несущие версию: заголовок Server, X-Powered-By, cookie, заголовок страницы, теги <meta>, имена файлов <script src> и тело. Эти идентичности также ищутся и публикуются на порту, чтобы остальная часть сканирования могла их использовать.

Две вещи, которые он делает помимо обхода:

  • он читает собственный баннер сервиса nmap. Когда -sV не смог назвать сервис, сырой баннер сопоставляется с правилами для FTP, SMTP, SSH, MySQL, DNS, NTP, LDAP и других. Это не стоит дополнительного запроса, и это тот случай, когда порт в противном случае не сообщил бы вообще ничего.
  • он спрашивает продукт, который не скажет. CMS, которая называет себя и скрывает свою версию, — обычное дело, и никакое сопоставление с образцом не извлечёт число, которого нет на странице. Когда продукт распознан, а версия нет, один запрос идёт в место, которое отвечает — /CHANGELOG.txt для Drupal, /administrator/manifests/files/joomla.xml для Joomla. Хосту, на котором не запущен ни один из шести проверяемых продуктов, ничего лишнего не отправляется.```sh nmap -sV --script vulners
Это весь интерфейс. Он работает без API-ключа; с ним он сообщает вам больше информации. Режима переключения нет.```
PORT      STATE SERVICE VERSION
80/tcp    open  http    Apache httpd 2.4.7 ((Ubuntu))
| vulners: cpe:/a:apache:http_server:2.4.7  272 findings, 56 exploitable
|   SEVERITY  CVSS    AI  FLAGS    LINK
|   ========  ====  ====  =======  ==============================================================
|   CRITICAL  10.0   8.8  EXP      https://vulners.com/gitee/3E6BA608-776F-5B1F-9BA5-589CD2A5A351
|   CRITICAL   9.8   9.9  EXP      https://vulners.com/zdt/1337DAY-ID-39214
|   CRITICAL   9.8   9.6  EXP      https://vulners.com/packetstorm/PACKETSTORM:171631
|   CRITICAL   9.8   9.9           https://vulners.com/cve/CVE-2021-44790
|   CRITICAL   9.8   9.8           https://vulners.com/cve/CVE-2023-25690
|_  262 more not shown; -v shows all, -vv adds where each was found

С ключом один и тот же скан одного и того же хоста отвечает по-разному — KEV означает, что CISA зафиксировала эксплуатацию уязвимости в реальных атаках, а EPSS — это опубликованная вероятность того, что она будет эксплуатироваться:``` | vulners: cpe:/a:apache:http_server:2.4.7 272 findings, 78 exploitable | SEVERITY CVSS EPSS FLAGS LINK | ======== ==== ==== ======= ============================================================== | CRITICAL 9.1 >99% KEV EXP https://vulners.com/cve/CVE-2024-38475 | CRITICAL 9.0 >99% KEV EXP https://vulners.com/cve/CVE-2021-40438 | CRITICAL 9.1 >99% KEV https://vulners.com/cnvd/CNVD-2024-36387 | CRITICAL 10.0 71% EXP https://vulners.com/gitee/3E6BA608-776F-5B1F-9BA5-589CD2A5A351 | CRITICAL 9.8 97% EXP https://vulners.com/cve/CVE-2021-44790 |_ 262 more not shown; -v shows all, -vv adds where each was found

Те же 272 находки, другой порядок, другая верхняя строка — и ещё 22 из них
известно как эксплуатируемые, потому что ключ связывает каждый эксплойт с CVE,
которые он эксплуатирует. Оба этих ответа — реальные результаты с vulners.com,
полученные против локального сервера, показывающего этот баннер.

## Ранжирование

Факты важнее прогнозов. Находки упорядочены:

1. **CISA KEV** — зафиксировано как эксплуатируемое в дикой природе
2. **SSVC `active`** — суждение координатора о том, что эксплуатация происходит
3. **существует эксплойт** — код опубликован, для этой уязвимости или для CVE, которое она называет
4. **высокий EPSS** — модель ожидает эксплуатации
5. всё остальное

CVSS разрешает ничьи внутри группы, а не между ними: эксплуатируемая 7.5 — это
худшая проблема, чем неэксплуатируемая 9.8, и именно такой порядок это отражает.

Колонки следуют за данными. Сигнал, который ответ не нёс, теряет свою колонку,
а не показывает пустую ячейку, потому что пустой EPSS читается как «тихо»,
а это утверждение, которое отсутствующее поле не может поддержать.

## Что добавляет ключ API

| | |
|---|---|
| **Без ключа** | Каждый CPE, найденный nmap, проверяется на бесплатном endpoint. Находки, оценки, флаги эксплойтов и собственный AI-скор Vulners. Без кредитов, без аккаунта |
| **Ключ, без кредитов** | Каждая находка получает то, что знает id endpoint: заголовки, даты, ссылку на upstream-совет или страницу эксплойта, связь эксплойт-к-CVE, CISA KEV и — в зависимости от лицензии — EPSS и SSVC |
| **Ключ, один кредит** | ПО, которое бесплатный путь вообще не мог назвать, идентифицируется по его сырому баннеру. Это единственное здесь, что что-то стоит, и только для сервиса без CPE |

Порт, который уже несёт CPE, никогда не стоит кредита: по замерам на четырёх
продуктах бесплатный поиск возвращает те же **CVE**, что и платный, для CPE.
Что покупает кредит — это идентификация, а не больше уязвимостей.

Бесплатные ключи — на [vulners.com/userinfo](https://vulners.com/userinfo).

## Установка

**macOS, Linux, Kali, WSL** — одна строка, без аргументов:```sh
curl -fsSL https://raw.githubusercontent.com/vulnersCom/nmap-vulners/master/install.sh | sh

Windows — PowerShell от имени администратора:```powershell irm https://raw.githubusercontent.com/vulnersCom/nmap-vulners/master/install.ps1 | iex

Установщик спрашивает nmap, где он хранит свои данные, копирует туда скрипты и их файлы данных, пересобирает базу данных скриптов, а затем проверяет, что `--script vulners` действительно разрешается в то, что он только что установил — nmap поставляется с собственным `vulners.nse`, и этот заменяет его.

<details>
<summary><b>Без root и другие параметры</b></summary>```sh
# 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 v2.0

Категории