Datos declarativos
Los datos declarativos permiten declarar explícitamente información relacionada con un activo.
Sirven para crear un activo air gap o para modificar la información de un activo ya presente en Cyberwatch para adaptar los resultados de los análisis.
La información a completar debe respetar la sintaxis descrita a continuación.
Modificar los datos declarativos de un activo
- Hacer clic en Inventario
- Seleccionar un activo
- Desde la página dedicada al activo correspondiente, pestaña «Análisis», hacer clic en el botón de edición delante de «Datos declarativos»
- Completar la información relativa al activo, respetando la sintaxis
- Validar haciendo clic en el botón «Actualizar»
Sintaxis del lenguaje
Cada propiedad del lenguaje está compuesta por un par clave/valor, cuya sintaxis es:
KEY:value
Precisiones sobre la sintaxis
Las claves están compuestas exclusivamente por letras mayúsculas y underscores (guiones bajos):
bad_key: → error de sintaxis BAD-KEY: → error de sintaxis GOOD_KEY:Las líneas que no respetan el formato clave:valor también generan errores de sintaxis
Cabe señalar que los errores de sintaxis nunca son fatales, simplemente la propiedad no será tenida en cuenta en el análisis.
Los comentarios comienzan al inicio de la línea con el carácter #, y se extienden a toda la línea. Como los valores pueden contener el carácter #, no es posible comentar solo una parte de la línea
Se aceptan valores en varias líneas para ciertas propiedades. Deben tener una indentación mayor que la propiedad que los define:
KEY:start ... end
Prohibicion de un valor
Puede prohibir un valor para que no sea tenido en cuenta por Cyberwatch, anteponiendo a la sintaxis anterior un guion:
-KEY1:value1
Todas las ocurrencias de KEY1:value1 que sigan a -KEY1:value1 serán ignoradas.
El guion debe ir seguido de la línea exacta reportada durante el análisis.
Tipos de propiedades
Existen dos tipos de propiedades:
Las propiedades simples que solo pueden ser definidas una vez y solo aceptan un único valor. Si la propiedad se redefine, el segundo valor se ignora:
HOSTNAME:server-1 HOSTNAME:server-2 → ignoradaLas propiedades múltiples que pueden ser completadas varias veces en el script. Permiten construir una lista de elementos:
# Añade 2 paquetes: PACKAGE:coreutils|8.32-1 PACKAGE:bash|5.1.004-1
Tenga en cuenta que al modificar la información de un activo, las propiedades simples pueden ser reescritas directamente. Así reemplazarán la información reportada durante los análisis:
HOSTNAME:server-1 → reemplaza el valor reportado
Por el contrario, las propiedades múltiples no pueden ser reescritas directamente. Para que un valor reportado durante los análisis sea reemplazado, debe prohibirse y añadir una propiedad con el nuevo valor.
Ejemplo de caso de uso:
# Reemplazar la versión de un paquete
-PACKAGE:coreutils|8.31
PACKAGE:coreutils|8.32
Lista de propiedades principales
Información del sistema
| KEY | Impacto | Ejemplo KEY:value | Simple/Múltiple |
|---|---|---|---|
| HOSTNAME | Define el nombre del activo | HOSTNAME:server | Simple |
| KERNEL_VERSION | Define la versión del núcleo del SO | KERNEL_VERSION:5.4.0-42-generic | Simple |
| OS_NAME | Define el nombre del sistema operativo del activo | OS_NAME:Ubuntu | Simple |
| OS_VERSION | Define la versión del sistema operativo | OS_VERSION:20.04.1 LTS | Simple |
| OS_PRETTYNAME | Define el sistema operativo y su versión | OS_PRETTYNAME:Ubuntu 20.04.1 LTS | Simple |
| ARCH | Define la arquitectura bajo la que se ejecuta el activo | ARCH:x86_64 | Simple |
Estado del sistema
| KEY | Impacto | Ejemplo KEY:value | Simple/Múltiple |
|---|---|---|---|
| REBOOT | Permite la definición del estado en Reinicio necesario | REBOOT:false | Simple |
| BOOT_TIME | Define la hora y fecha de arranque | BOOT_TIME:2021-03-18T07:38:59+0000 | Simple |
Servicios
| KEY | Impacto | Ejemplo KEY:value | Simple/Múltiple |
|---|---|---|---|
| SERVICE | Añade una línea en la pestaña Servicios | SERVICE:ssh|enabled | Múltiple |
Paquetes/aplicaciones instalados
| KEY | Impacto | Ejemplo KEY:value | Simple/Múltiple |
|---|---|---|---|
| PACKAGE | Añade un paquete a las tecnologías del activo | PACKAGE:firefox|80.0.1+build1-0ubuntu0.20.04.1 | Múltiple |
| APPLICATION | Añade una aplicación a las tecnologías del activo | APPLICATION:Microsoft Office 365 ProPlus - en-us|16.0.11328.20512 | Múltiple |
| NVD_APPLICATION | Añade una aplicación de terceros a partir de un CPE conocido de la base NVD | NVD_APPLICATION:cpe:/a:elastic:kibana:7.0.0 | Múltiple |
| META | Añade una línea a la pestaña Metadatos | META:processor-version|Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz | Múltiple |
Información de red
| KEY | Impacto | Ejemplo KEY:value | Simple/Múltiple |
|---|---|---|---|
| IP | Define las direcciones IP del activo con o sin máscara de subred | IP:127.0.0.1 o IP:127.0.0.1/8 o IP:127.0.0.1/255.0.0.0 | Múltiple |
| TCP | Añade un puerto TCP a la pestaña Puertos | TCP:22 o TCP:22|openssh | Múltiple |
| UDP | Añade un puerto UDP a la pestaña Puertos | UDP:53 | Múltiple |
Propiedades especificas de Windows
| KEY | Impacto | Ejemplo KEY:value | Simple/Múltiple |
|---|---|---|---|
| OS_BUILD | Define el build de Windows | OS_BUILD:17763.1158 | Simple |
| WUAVERSION | Define la versión del Windows Update Agent | WUAVERSION:10.0.17763.1 | Simple |
| CAB_FILENAME | Define el nombre del archivo oficial de Microsoft utilizado para este análisis | CAB_FILENAME:dcdb9e78484667695627acea9213897eaf.cab | Simple |
Equipos moviles
| KEY | Impacto | Ejemplo KEY:value | Simple/Múltiple |
|---|---|---|---|
| FIRMWARE | Especifica el código CPE del firmware de un equipo móvil | FIRMWARE:cpe:/o:google:android:2022-08-15FIRMWARE:cpe:/o:apple:iphone_os:14.3 | Múltiple |
Propiedades especificas de SAP
| KEY | Impacto | Ejemplo KEY:value | Simple/Múltiple |
|---|---|---|---|
| SAP_NOTE | Añade una nota SAP al activo | SAP_NOTE:3119365 | Múltiple |
Defectos de seguridad
| KEY | Impacto | Ejemplo KEY:value | Simple/Múltiple |
|---|---|---|---|
| SECURITY_ISSUE | Añade una línea en la pestaña Defectos de seguridad | SECURITY_ISSUE: | Múltiple |
| sid | Especifica la referencia del defecto de seguridad asociado | SECURITY_ISSUE: | Simple |
| cipher | Define el cifrado no conforme | SECURITY_ISSUE: | Simple |
| port | Detalla el puerto asociado al defecto de seguridad | SECURITY_ISSUE: | Simple |
| info | Especifica información complementaria | SECURITY_ISSUE: | Simple |
| method | Especifica el método de petición HTTP | SECURITY_ISSUE: | Simple |
| path | Especifica la ruta de acceso | SECURITY_ISSUE: | Simple |
| parameter | Define el parámetro vulnerable | SECURITY_ISSUE: | Simple |
| http_request | Especifica la petición HTTP asociada | SECURITY_ISSUE: | Simple |
| curl_command | Informa del comando curl equivalente | SECURITY_ISSUE: | Simple |
| description | Descripción del defecto de seguridad | SECURITY_ISSUE: | Simple |
| protocol | Define el protocolo no conforme | SECURITY_ISSUE: | Simple |
Equipos de red
| KEY | Impacto | Ejemplo KEY:value | Simple/Múltiple |
|---|---|---|---|
| FIRMWARE | Especifica el código CPE del firmware de un equipo | FIRMWARE:cpe:/o:stormshield:stormshield_network_security:3.8.1 | Múltiple |
| HARDWARE | Especifica el código CPE del hardware del equipo | HARDWARE:cpe:2.3:h:sonicwall:nssp_15700 | Múltiple |