Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
nmap-vulners — Script NSE de Nmap que consulta la API de Vulners para identificar vulnerabilidades conocidas (CVE) en los servicios de red detectados, mejorando el escaneo de puertos estándar con búsqueda automatizada de CVE y puntuación CVSS. | Kitploit
Herramientas/GitHubGitHub/vulnerscom/nmap-vulners
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesRecopilación de InformaciónSeguridad de Redes
GitHubvulnerscom/nmap-vulners

nmap-vulners

Script NSE de Nmap que consulta la API de Vulners para identificar vulnerabilidades conocidas (CVE) en los servicios de red detectados, mejorando el escaneo de puertos estándar con búsqueda automatizada de CVE y puntuación CVSS.

Ver Repositorio
3.4k559hace 2 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

nmap-vulners

Convierte un escaneo de servicios de nmap en una lista de CVEs, puntuaciones CVSS y exploits conocidos.

Tres scripts NSE que toman el software que nmap ya identificó, preguntan a la base de datos de Vulners qué se sabe sobre él e imprimen la respuesta dentro del informe del escaneo.

tests license nmap data stars

vulners.nse against scanme.nmap.org


Los tres scripts

Son independientes. Ejecuta uno, o los tres: el script de regex entrega sus hallazgos a los otros dos automáticamente.

Instalación

macOS, Linux, Kali, WSL - una línea, sin argumentos:

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

Windows - PowerShell como Administrador:

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

El instalador pregunta a nmap dónde guarda sus datos, copia allí los scripts y sus archivos de datos, reconstruye la base de datos de scripts y luego comprueba que --script vulners realmente resuelve a lo que acaba de instalar: nmap incluye un vulners.nse propio, y este lo reemplaza.

Sin root y otras opciones
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 acepta las mismas opciones: -User, -Prefix, -Ref, -Uninstall.

Desde un checkout
root@kitploit:~
git clone https://github.com/vulnersCom/nmap-vulners
cd nmap-vulners
./install.sh

El instalador usa los archivos que tiene a su lado, así que instala exactamente lo que clonaste. Ejecutar los scripts directamente desde el checkout también funciona:

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

Usa una ruta absoluta al ejecutar desde un checkout. nmap resuelve un --script ./vulners.nse relativo contra su propio script.db primero, y ejecuta silenciosamente la copia que trae nmap en lugar de la tuya.

Manualmente

Cinco archivos, dos directorios:

ArchivoVa a
vulners.nse, vulners_enterprise.nse, http-vulners-regex.nse<nmap data dir>/scripts/

Uso

vulners - no requiere clave

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

Se consulta cada CPE que nmap informa; cada vulnerabilidad se imprime con su puntuación, la escala en la que está esa puntuación y un enlace. Las entradas con un exploit conocido se marcan *EXPLOIT* y se muestran sea cual sea el umbral, porque un fallo de baja severidad explotado igualmente te compromete.

vulners_enterprise - clave de API de Vulners

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

vulners_enterprise.nse against scanme.nmap.org

El endpoint empresarial responde con métricas CVSS v3 y con las referencias de exploits que Vulners ha recopilado, de modo que un CVE explotado se marca *HAS EXPLOIT* y el exploit en sí aparece listado junto a él. Todos los CPE de un puerto viajan en una sola petición.

http-vulners-regex - identifica lo que -sV no puede nombrar

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

http-vulners-regex.nse against scanme.nmap.org

178 patrones asignan cabeceras HTTP y marcado de página - Server, X-Powered-By, etiquetas de generador, URLs de recursos - a CPEs: servidores web, CMS, frameworks, plugins de WordPress, librerías JavaScript. Todo lo que encuentra queda registrado en el puerto, de modo que vulners y vulners_enterprise lo consultan en el mismo escaneo.

Argumentos de script

vulners

vulners_enterprise

http-vulners-regex

ArgumentoValor por defectoSignificado
http-vulners-regex.pathshttp-vulners-paths.txt (125 rutas)Una lista Lua de rutas, o una cadena que nombra un archivo con una ruta por línea

Toda la lista de rutas viaja en una sola canalización HTTP. Un archivo que no se puede leer detiene el script en lugar de recurrir a la lista incluida, de modo que un error tipográfico en el nombre del archivo no puede convertir un escaneo de tres rutas en uno de 125.

Dónde guardar la clave de API

En orden de preferencia:

  1. VULNERS_API_KEY en el entorno
  2. --script-args vulners_enterprise.api_key_file=/absolute/path
  3. --script-args vulners_enterprise.api_key=<token>

La tercera es cómoda y peligrosa: nmap copia su propia línea de comandos en cada informe, así que el token termina en el atributo args de la salida -oX y en el historial de tu shell. El script en sí nunca escribe el token en ningún sitio, incluida su salida de depuración; hay una prueba de regresión que lo confirma.

Los tokens viven en tu cuenta de vulners.com. Sin uno, vulners_enterprise permanece en silencio y no envía nada.

Cómo encajan los tres

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

Salida legible por máquina

Todo lo que imprimen los scripts también está estructurado, de modo que la salida -oX se puede analizar sin tocar el texto legible:

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>

Las claves son id, type, cvss, cvss_type e is_exploit, que solo está presente en las entradas que lo tienen. Las tablas de resultados se indexan por el CPE para el que se encontraron. Un boletín sin puntuar no lleva ni cvss ni cvss_type.

Escaneo responsable

Un escaneo de una red pide a la API mucho menos de lo que parece:

  • cada CPE de un puerto se incluye en una petición por lotes
  • las respuestas se almacenan en caché durante todo el escaneo, de modo que cien servidores idénticos cuestan una consulta, no cien
  • una consulta ya en curso se espera en lugar de repetirse
  • el barrido de 125 rutas se ejecuta sobre 5 conexiones TCP en lugar de 126, y solicita páginas comprimidas cuando el servidor las ofrece
  • un límite de tasa o una caída del servicio detiene las peticiones del escaneo en lugar de reintentar por cada host

Desarrollo

Las pruebas, el control de higiene y CONTRIBUTING.md están solo en el repositorio git; el archivo de la versión publicada incluye los scripts y sus datos. Tres controles, todos sin conexión salvo donde se indique:

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 casos unitarios se ejecutan dentro de nmap contra las librerías NSE reales; 33 casos de extremo a extremo ejecutan el binario real de nmap contra un servidor web local y una API de Vulners simulada; el control de higiene mantiene fuera del repositorio secretos, salidas de escaneo y basura de editores. python3 tests/e2e/run_e2e.py --live añade seis comprobaciones contra el servicio real. Consulta CONTRIBUTING.md.

Preguntas frecuentes

¿Explota algo? No. Los scripts leen banners y páginas y consultan una base de datos. Están en la categoría safe de nmap.

¿Funciona sin clave de API? Sí: vulners y http-vulners-regex no necesitan ninguna. vulners_enterprise sí.

¿Por qué una vulnerabilidad muestra cvss2.0 mientras otra muestra cvss3.1? La etiqueta indica la escala en la que está la puntuación. Vulners devuelve la que publicó la fuente; una puntuación v2 de 9.3 no es una puntuación v3 de 9.3.

¿Por qué se muestra una entrada con puntuación baja cuando establezco mincvss? Porque tiene un exploit conocido, o porque la fuente nunca la puntuó. Ambas cosas son deliberadas.

No encontró nada en un host que sé que es vulnerable. Ejecuta con -d2: los scripts registran cada CPE que consultaron. Normalmente nmap nombra el servicio pero no su versión, y no hay versión que consultar.

Licencia

Los scripts tienen la misma licencia que el propio Nmap: consulta LICENSE para la Nmap Public Source License y nmap.org/npsl para saber qué significa.

Los datos de vulnerabilidades provienen de Vulners y están sujetos a sus términos.

Relacionados

  • vulners.com - la base de datos detrás de estos scripts
  • vulnersCom/api - el cliente Python
  • vulnersCom/burp-vulners-scanner - los mismos datos dentro de Burp Suite
  • nmap.org/book/nse.html - cómo funcionan los scripts NSE

Mantenido por el equipo de Vulners <[email protected]>

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

Descargar herramienta
Script¿Necesita clave?Qué hace
vulners.nsenoEnvía cada CPE que nmap encontró al endpoint público de Vulners e imprime lo que se sabe sobre él, con el CVSS más alto primero
vulners_enterprise.nsesíLa misma consulta a través de la API v4 de Vulners: puntuaciones CVSS v3 y los exploits que referencian cada CVE
http-vulners-regex.nsenoIdentifica el software web por su huella a partir de cabeceras HTTP y contenido de páginas, para que los otros dos tengan algo que consultar incluso cuando -sV no puede nombrarlo
http-vulners-regex.json, http-vulners-paths.txt<nmap data dir>/nselib/data/

Después sudo nmap --script-updatedb.

El directorio de datos de nmap suele ser /usr/share/nmap (Debian, Ubuntu, Kali), /usr/local/share/nmap (compilado desde el código fuente), /opt/homebrew/share/nmap (Homebrew) o C:\Program Files (x86)\Nmap (Windows). Para estar seguro, pregúntale a nmap:

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

El directorio que contiene nse_main.lua es el que usa este nmap.

ArgumentoValor por defectoSignificado
vulners.mincvss0Oculta vulnerabilidades con puntuación inferior a esta. Los boletines y exploits sin puntuar siempre se muestran
vulners.api_hostvulners.comNombre de host de la API
vulners.api_port443Puerto en api_host
ArgumentoValor por defectoSignificado
vulners_enterprise.mincvss0Igual que arriba
vulners_enterprise.api_key-Token de API. Prefiere la variable de entorno, ver más abajo
vulners_enterprise.api_key_file-Ruta absoluta a un archivo cuya primera línea es el token
vulners_enterprise.api_hostvulners.comNombre de host de la API
vulners_enterprise.api_port443Puerto en api_host