Ir al contenido

Cheatsheet de evaluación de vulnerabilidades

Por

Madurezreviewed
Última revisión
Publicado
Última actualización

Esta referencia parte de un alcance aprobado, un inventario versionado y una posición de escaneo conocida. Los comandos recuperan datos o comprueban el entorno. El flujo de evaluación, el playbook de escaneo y la checklist explican las decisiones.

Placeholder Valor esperado
CVE_ID identificador CVE-AAAA-NNNN...
TARGET_IP dirección del activo autorizado
INTERFACE interfaz que transporta el escaneo
PACKAGE_VERSION versión exacta del artefacto oficial
SERVICE servicio Compose investigado
SOCKET_PATH socket GMP del despliegue Greenbone
CVE y enriquecimiento NVD
curl --silent --show-error \
'https://services.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE_ID' |
jq .

Señal esperada: un objeto vulnerabilities con el CVE solicitado y el análisis disponible.

Límite: NVD enriquece el CVE. No confirma el producto local.

Explicación: Identificadores y contenido de seguridad.

EPSS con fecha y percentil
curl --silent --show-error \
'https://api.first.org/data/v1/epss?cve=CVE_ID' |
jq '.data[] | {cve, epss, percentile, date}'

Señal esperada: probabilidad, percentil y fecha para CVE_ID.

Límite: EPSS no mide impacto ni riesgo del activo.

Explicación: Severidad y priorización.

Tráfico en vivo por interfaz
vnstat --live --iface INTERFACE

Señal esperada: bytes y paquetes durante la ventana.

Límite: no muestra carga del servicio, CPU ni sesiones.

Captura acotada a un objetivo
sudo tcpdump \
-i INTERFACE \
-nn \
-w scan-window.pcap \
'host TARGET_IP'

Señal esperada: scan-window.pcap contiene solo tráfico donde participa TARGET_IP.

Límite: puede contener credenciales o datos sensibles.

Explicación: Diseño y ejecución del escaneo.

Instalar e iniciar un paquete oficial verificado
sudo dpkg --install ./Nessus-PACKAGE_VERSION-amd64.deb
sudo systemctl enable --now nessusd
sudo systemctl status nessusd --no-pager

Señal esperada: nessusd aparece activo y la consola local responde en el puerto configurado.

Límite: el servicio activo no demuestra que los plugins estén actualizados o compilados.

Explicación: Nessus.

Antes de lanzar:

  • versión y conjunto de plugins registrados
  • política efectiva conservada
  • rango de puertos explícito
  • familias de plugins revisadas
  • credenciales verificadas mediante inventario
  • canario positivo y control negativo

Después:

  • .nessus o .db protegido
  • output original del plugin conservado
  • plugin rules tratadas como presentación
  • fallos de autenticación y hosts omitidos revisados
Descargar y validar la definición oficial
install -d -m 0750 ./greenbone-community
cd ./greenbone-community
curl --fail --silent --show-error --location \
--output compose.yaml \
'https://greenbone.github.io/docs/latest/_static/compose.yaml'
sha256sum compose.yaml
docker compose --file compose.yaml config --quiet

Señal esperada: checksum registrado y validación Compose sin errores.

Límite: la URL latest cambia. Archiva el fichero revisado.

Iniciar y comprobar procesos
docker compose --file compose.yaml pull
docker compose --file compose.yaml up --detach
docker compose --file compose.yaml ps

Señal esperada: servicios declarados en ejecución.

Límite: los procesos activos no demuestran que los feeds estén cargados.

Consultar la versión del gestor
gvm-cli socket \
--socketpath SOCKET_PATH \
--xml '<get_version/>'

Señal esperada: get_version_response satisfactorio.

Límite: el socket y autenticación dependen del despliegue.

Estado y registros de un componente
docker compose --file compose.yaml ps
docker compose --file compose.yaml logs --since 15m SERVICE

Señal esperada: estado y eventos recientes del componente propietario del fallo.

Límite: selecciona sincronización del feed, gvmd, escáner o interfaz según la capa.

Detener conservando volúmenes
docker compose --file compose.yaml down

Señal esperada: contenedores y red detenidos, datos persistentes conservados.

Límite: no reconstruye copias de seguridad, cuentas o certificados.

Explicación: Greenbone Community Edition.

Asset ID:
Endpoint:
Escáner / plugin / feed:
Position / identity:
Observed evidence:
Product / version / configuration:
CVE / CWE / CPE:
CVSS version / vector / source:
EPSS / percentile / date:
KEV:
Validation status:
Negative control:
Operational consequence:
Remediation:
Retest criterion:
Limitations:

Usa confirmed, likely, not-affected, mitigated, blocked o not-tested. La validación y tratamiento desarrolla cada estado.

Síntoma Primera comparación
cero resultados canario, feed, plugins, objetivos y descubrimiento
todos los puertos abiertos respuesta de firewall o proxy
credenciales correctas, poca cobertura inventario y privilegios efectivos
escaneo muy rápido objetivos omitidos o contenido sin cargar
escaneo muy lento UDP, timeouts, pérdida y concurrencia
herramientas discrepan posición, identidad, política, feed e identificación
retest limpio comprobar que conserva credenciales y denominador