Tutoriales

Herramientas para realizar búsquedas locales para vulnerabilidades conocidas

introducir

Cuando se trata de ciberseguridad, la velocidad y la privacidad son cruciales. Las bases de datos de vulnerabilidad pública como NVD y Mitre son valiosas, pero confiar directamente en ellas puede exponer consultas sensibles o crear latencia. Ahí es donde CVE-Search intervención.

CVE-Search es una herramienta de código abierto importada CVE (vulnerabilidades y exposiciones comunes) y CPE (enumeración de la plataforma pública) Agregue datos de datos a MongoDB. Esto te permite construir Base de datos de vulnerabilidad CVE localconsultará una preparación más rápida, privada y automatizada.

Incluye:

  • uno Base de datos de backend Vulnerabilidad y metadatos relacionados
  • uno Interfaz web intuitiva Se utiliza para buscar y administrar CVE
  • Poderoso Herramientas de línea de comandos Utilizado para consultar
  • uno API REST Integrarse en el flujo de trabajo

¿Por qué usar CVE-Search?

  • Consulta más rápida: La búsqueda local de MongoDB es mucho más rápida que la búsqueda remota.
  • Protección de la privacidad: Consultas sensibles nunca dejarán su red.
  • Multifuncional: Elija entre interfaces CLI, web o API.
  • Automatización amigable: Ideal para tuberías CI/CD o monitoreo continuo.

Instalar MongoDB

CVE-Search requiere Python 3.3+ y MongoDB 2.2+ (o actualizado). Instale MongoDB desde el Administrador de paquetes de su distribución o directamente desde MongoDB. No olvides incluir el título de desarrollo.

Para las instrucciones de instalación, consulte Manual de mongodb.


Uplica la base de datos

Después de ejecutar MongoDB, llene sus datos CVE y CPE:

Publicaciones relacionadas
./sbin/db_mgmt.py -p
./sbin/db_mgmt_cpe_dictionary.py
./sbin/db_updater.py -c

Esto obtendrá datos XML de las bases de datos CVE y CPE. La primera importación puede llevar tiempo, dependiendo de su sistema.

Agregue referencias cruzadas a NIST, Red Hat y otros proveedores:

./sbin/db_mgmt_ref.py

Mantenga la base de datos actualizada

Actualice regularmente la base de datos:

./sbin/db_updater.py -v
  • Puede ser automáticamente cron
  • Redacción de registros syslog Por defecto

Reiniciar y rellenar completamente:

./sbin/db_updater.py -v -f

Ejemplo de uso

Utilice la base de datos, use search.py:

./bin/search.py -p cisco:ios:12.4
./bin/search.py -p cisco:ios:12.4 -o json
./bin/search.py -f nagios -n
./bin/search.py -p microsoft:windows_7 -o html

Ejemplo: encontró todas las vulnerabilidades de Cisco WebEx con referencia oficial:

./bin/search.py -p webex: -o csv -v "cisco"

Encuentra una CVE específica:

./bin/search.py -c CVE-2010-3333

Otras utilidades incluyen:

  • Robot xmpp: ./bin/search_xmpp.py -j mybot@jabber.org -p strongpassword
  • Volcar la última CVE (RSS/Atom): ./bin/dump_last.py -f atom -l 2
  • Interfaz web: ./web/index.py

Base de datos de clasificación

CVE Search permite clasificar vulnerabilidades para cada organización o departamento.

Ejemplo: Mark SAP Netweaver es esencial para la contabilidad:

./sbin/db_ranking.py -c "sap:netweaver" -g "accounting" -r 3
./bin/search.py -c CVE-2012-4341 -r -n

Uso avanzado

Dado que CVE-Search es modular, puede usarlo junto con las herramientas UNIX para el análisis.

Ejemplo: proveedor superior con vulnerabilidad «desconocida»

python3 bin/search_fulltext.py -q unknown -f \
| jq -c '.vulnerable_configuration[0]' \
| cut -f5 -d: | sort | uniq -c | sort -nr | head -10

Ejemplo: Comparación de puntajes CVSS (Oracle vs Sun JRE)

python3 bin/search.py -p oracle:java -o json | jq -r '.cvss' | Rscript -e 'summary(...)'
python3 bin/search.py -p sun:jre -o json | jq -r '.cvss' | Rscript -e 'summary(...)'

Indexación y visualización de texto completo

Índice CVE:

./sbin/db_fulltext.py

Busque el índice de texto completo:

./bin/search_fulltext.py -q NFS -q Linux

Genere Visual JSON (requerido NLTK):

./bin/search_fulltext.py -g -s > cve.json

Esto crea información de palabras clave y análisis de frecuencia para vulnerabilidades.


Interfaz web y API

CVE-Search incluye:

  • UI web mínima: Consulte el último CVE y consulte la identificación. Corre en Flask + Flask.
  • API JSON: Acceso programático a proveedores, productos y CVE.

Ejemplo:

curl       # List vendors
curl zyxel # Zyxel products
curl 

Las API públicas también se pueden encontrar en cve.circl.lu.


Ecosistemas e integración

Varios proyectos extienden CVE-Serearch:

  • CVE-portal: Portal de notificación CVE
  • CVE-Search-MT: Kit de herramientas de gestión
  • CVe-scan: Escáner CVE basado en NMAP

Juntos, mejoran la automatización, el monitoreo y la gestión de vulnerabilidad agresiva.


Implementación de docker y arranque rápido

Una de las formas más fáciles de iniciar CVE-Search hoy es usar su oficial Configuración de Docker. Esto evita la necesidad de configurar manualmente MongoDB, Redis o Dependencias en el sistema de host.

Paso 1: Clonación del repositorio de cVe-Search Docker

git clone 
cd CVE-Search-Docker

Paso 2: Inicie el contenedor

Use la combinación de Docker para proponer una pila completa (CVE-Search, MongoDB, Redis):

docker compose up -d

Esto comenzará todos los servicios requeridos en segundo plano.

Paso 3: acceder a la interfaz web

Después de ejecutar, la interfaz de red está disponible:


Desde aquí, puede explorar la CVE reciente, buscar a través del proveedor o producto, e interactuar con la API REST.

Paso 4: Mantenga los datos actualizados

Actualizar datos CVE y CPE en el contenedor, use:

docker compose exec cvesearch ./sbin/db_updater.py -v

Paso 5: Detente o retire el contenedor

Cerrar con gracia:

docker compose down

Elimine todos los contenedores y volúmenes (restablezca la base de datos):

docker compose down -v

¿Por qué usar Docker para CVE-Search?

  • Configuración rápida: Corre en unos minutos sin depender de la gerencia manualmente
  • Portátil y reproducible: Trabajar con la misma configuración en diferentes entornos
  • Servicio aislado: MongoDB y Redis están preconfigurados en contenedores
  • Restablecimiento simple: Reconstruir o actualizar rápidamente su base de datos de vulnerabilidad

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba