Volver a actualizaciones
Nuevo releaseSep 9, 2026

nerva v1.69.6

CLI de identificación rápida de servicios para más de 170 protocolos (TCP/UDP/SCTP) - creado por Praetorian

Compartir
Nerva - CLI de fingerprinting de servicios rápido para reconocimiento de red compatible con más de 170 protocolos

Nerva
Nerva: CLI de fingerprinting de servicios rápido

Release Build Status Go Report Card License Stars

Características • Instalación • Inicio rápido • Uso • Protocolos • Biblioteca • Casos de uso • Solución de problemas

Fingerprinting de servicios de alto rendimiento escrito en Go. Identifica más de 170 protocolos de red en transportes TCP, UDP y SCTP con extracción de metadatos enriquecida.

Nerva detecta e identifica rápidamente servicios que se ejecutan en puertos de red abiertos. Úsalo junto con escáneres de puertos como Naabu para hacer fingerprinting de los servicios descubiertos, o intégralo en tus pipelines de seguridad para reconocimiento automatizado.

Características

  • Más de 170 plugins de protocolos — Bases de datos, acceso remoto, servicios web, mensajería, protocolos industriales y de telecomunicaciones
  • 76 fingerprinters HTTP — Detecta tecnologías web, incluidos firewalls, bases de datos, servidores de IA/LLM y más
  • Detección de malas configuraciones de seguridad — Identifica problemas de seguridad comunes como APIs sin autenticación y protocolos en texto plano (--misconfigs)
  • Compatibilidad con múltiples transportes — TCP (predeterminado), UDP (--udp) y SCTP (--sctp, solo Linux)
  • Compatibilidad con proxies — Enruta el tráfico de escaneo de forma transparente a través de proxies SOCKS5 o HTTP con resolución DNS configurable
  • Metadatos enriquecidos — Extrae versiones, configuraciones y detalles relevantes para la seguridad de cada servicio
  • Modo rápido — Escanea solo los puertos predeterminados para un reconocimiento rápido (--fast)
  • Salida flexible — Formatos JSON, CSV o legible por humanos
  • Compatible con pipelines — Canaliza desde Naabu, Nmap o cualquier herramienta que genere host:port
  • Biblioteca Go — Impórtala directamente en tus aplicaciones Go

Instalación

Releases

Descarga un binario precompilado desde la página de Releases.

Desde GitHub

go install github.com/praetorian-inc/nerva/cmd/nerva@latest

Desde el código fuente

git clone https://github.com/praetorian-inc/nerva.git
cd nerva
go build ./cmd/nerva
./nerva -h

Docker

git clone https://github.com/praetorian-inc/nerva.git
cd nerva
docker build -t nerva .
docker run --rm nerva -h
docker run --rm nerva -t example.com:80 --json

Inicio rápido

Huella digital de un único objetivo:

nerva -t example.com:22
# ssh://example.com:22

Obtener metadatos JSON detallados:

nerva -t example.com:22 --json
# {"host":"example.com","ip":"93.184.216.34","port":22,"protocol":"ssh","transport":"tcp","metadata":{...}}

Canalizar desde un escáner de puertos:

naabu -host example.com -silent | nerva
# http://example.com:80
# ssh://example.com:22
# https://example.com:443

La referencia completa — cada subcomando, alias y flag, incluidos los ocultos de --help — se genera en docs/CLI.md.

Uso

nerva [flags]

TARGET SPECIFICATION:
  Requires host:port or ip:port format. Assumes ports are open.

EXAMPLES:
  nerva -t example.com:80
  nerva -t example.com:80,example.com:443
  nerva -l targets.txt
  nerva --json -t example.com:80
  cat targets.txt | nerva

Ejemplos

Múltiples objetivos:

nerva -t example.com:22,example.com:80,example.com:443

Desde el archivo:

nerva -l targets.txt --json -o results.json

Escaneo UDP:

nerva -t example.com:53 -U
# dns://example.com:53

Escaneo SCTP (solo Linux):

nerva -t telecom-server:3868 -S
# diameter://telecom-server:3868

Modo rápido (solo puertos predeterminados):

nerva -l large-target-list.txt --fast --json

Enrutamiento de proxy con resolución DNS remota:

nerva -t target.internal:80 --proxy socks5://127.0.0.1:1080 --dns-order p

Detección de configuraciones de seguridad incorrectas

Nerva puede identificar configuraciones de seguridad incorrectas comunes cuando se habilita con --misconfigs:

nerva -t example.com:2375 --misconfigs --json

Misconfiguraciones detectadas:

ID de hallazgoSeveridadDescripción
docker-unauth-apiCríticaAPI de Docker accesible sin autenticación
x11-unauth-accessCríticaEl servidor X11 permite conexiones no autenticadas
dotnet-remoting-http-exposedAltaCanal HTTP de .NET Remoting expuesto (riesgo de deserialización)
smb-signing-not-requiredMediaFirma SMB no requerida (riesgo de ataque de retransmisión)
telnet-cleartextMediaTelnet transmite credenciales en texto claro
vnc-detectedMediaVNC detectado (a menudo autenticación débil)
ssh-password-authMediaEl servidor permite autenticación por contraseña
ssh-weak-cipherBajaEl servidor ofrece cifrados débiles (RC4, 3DES, Blowfish)
ssh-weak-kexBajaEl servidor ofrece algoritmos de intercambio de claves débiles
ssh-weak-macBajaEl servidor ofrece algoritmos MAC débiles
ftp-cleartextBajaFTP transmite credenciales en texto claro

Ejemplo de salida con misconfiguraciones:

{
  "host": "example.com",
  "port": 2375,
  "protocol": "docker",
  "anonymous_access": true,
  "security_findings": [
    {
      "id": "docker-unauth-api",
      "severity": "critical",
      "description": "Docker API accessible without authentication",
      "evidence": "Successfully queried /version endpoint without credentials"
    }
  ]
}

Soporte de Proxy

Nerva admite el enrutamiento del tráfico de escaneo a través de proxies SOCKS5 y HTTP con resolución DNS configurable.

Esquemas de proxy compatibles:

  • socks5:// - Proxy SOCKS5 con resolución DNS local
  • socks5h:// - Proxy SOCKS5 con resolución DNS del lado del proxy (siempre)
  • http:// - Proxy HTTP CONNECT
  • https:// - Proxy HTTPS CONNECT

Autenticación de proxy:

# Inline authentication (URL format)
nerva -t example.com:80 --proxy socks5://username:[email protected]:1080

# Separate authentication flag
nerva -t example.com:80 --proxy socks5://127.0.0.1:1080 --proxy-auth username:password

Categorías