Datos declarativos
Los datos declarativos permiten declarar explicitamente 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 escaneos.
La información a introducir debe respetar la sintaxis descrita a continuación.
Modificar los datos declarativos de un activo
- Hacer clic en Inventario
- Seleccionar un activo
- Desde la pagina dedicada al activo, pestaña “Análisis”, hacer clic en el botón de edición frente a “Datos declarativos”
- Introducir la información relativa al activo, respetando la sintaxis
- Validar haciendo clic en el botón “Actualizar”
Sintaxis del lenguaje
Cada propiedad del lenguaje esta compuesta por un par clave/valor, cuya sintaxis es:
KEY:value
Precisiones sobre la sintaxis
Las claves están compuestas exclusivamente de letras mayusculas y guiones bajos:
bad_key: -> error de sintaxis BAD-KEY: -> error de sintaxis GOOD_KEY:Las lineas que no respetan el formato clave:valor también provocan errores de sintaxis
Cabe senalar que los errores de sintaxis nunca son fatales; la propiedad simplemente no se tendrá en cuenta en el análisis.
Los comentarios comienzan al inicio de la linea con el caracter # y se extienden por toda la linea. Como los valores pueden contener el caracter #, no es posible comentar solo una parte de la linea
Se aceptan valores en varias lineas para ciertas propiedades. Deben tener una indentacion mayor que la propiedad que los define:
KEY:start ... end
Prohibicion de un valor
Puede prohibir un valor para que ya no sea tomado en cuenta por Cyberwatch, anteponiendo un guion a la sintaxis anterior:
-KEY1:value1
Todas las ocurrencias de KEY1:value1 que sigan a -KEY1:value1 se ignoraran.
El guion debe ir seguido de la linea exacta obtenida durante el escaneo.
Tipos de propiedades
Hay dos tipos de propiedades disponibles:
Las propiedades simples que solo pueden definirse una vez y que aceptan un solo valor. Si la propiedad se redefine, el segundo valor se ignora:
HOSTNAME:server-1 HOSTNAME:server-2 -> ignoradaLas propiedades multiples que pueden indicarse varias veces en el script. Permiten construir una lista de elementos:
# Indica 2 paquetes: PACKAGE:coreutils|8.32-1 PACKAGE:bash|5.1.004-1
Observe que al modificar la información de un activo, las propiedades simples pueden reescribirse directamente. Entonces reemplazaran la información obtenida durante los escaneos:
HOSTNAME:server-1 -> reemplaza el valor obtenido
En cambio, las propiedades multiples no pueden reescribirse directamente. Para que un valor obtenido durante los escaneos sea reemplazado, se debe prohibir y agregar una propiedad con el nuevo valor.
Ejemplo de caso de uso:
# Reemplazar la version 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/Multiple |
|---|---|---|---|
| HOSTNAME | Define el nombre del activo | HOSTNAME:server | Simple |
| KERNEL_VERSION | Define la version del kernel 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 version del sistema operativo | OS_VERSION:20.04.1 LTS | Simple |
| OS_PRETTYNAME | Define el sistema operativo y su version | OS_PRETTYNAME:Ubuntu 20.04.1 LTS | Simple |
| ARCH | Define la arquitectura bajo la cual se ejecuta el activo | ARCH:x86_64 | Simple |
Estado del sistema
| KEY | Impacto | Ejemplo KEY:value | Simple/Multiple |
|---|---|---|---|
| REBOOT | Permite definir el 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/Multiple |
|---|---|---|---|
| SERVICE | Anade una linea en la pestaña Servicios | SERVICE:ssh|enabled | Multiple |
Paquetes/aplicaciones instalados
| KEY | Impacto | Ejemplo KEY:value | Simple/Multiple |
|---|---|---|---|
| PACKAGE | Anade un paquete a las tecnologías del activo | PACKAGE:firefox|80.0.1+build1-0ubuntu0.20.04.1 | Multiple |
| APPLICATION | Anade una aplicación a las tecnologías del activo | APPLICATION:Microsoft Office 365 ProPlus - en-us|16.0.11328.20512 | Multiple |
| NVD_APPLICATION | Anade una aplicación de terceros a partir de una CPE conocida de la base NVD | NVD_APPLICATION:cpe:/a:elastic:kibana:7.0.0 | Multiple |
| META | Anade una linea a la pestaña Metadatos | META:processor-version|Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz | Multiple |
Información de red
| KEY | Impacto | Ejemplo KEY:value | Simple/Multiple |
|---|---|---|---|
| IP | Define las direcciones IP del activo con o sin mascara de subred | IP:127.0.0.1 o IP:127.0.0.1/8 o IP:127.0.0.1/255.0.0.0 | Multiple |
| TCP | Anade un puerto TCP a la pestaña Puertos | TCP:22 o TCP:22|openssh | Multiple |
| UDP | Anade un puerto UDP a la pestaña Puertos | UDP:53 | Multiple |
Propiedades especificas de Windows
| KEY | Impacto | Ejemplo KEY:value | Simple/Multiple |
|---|---|---|---|
| OS_BUILD | Define el build de Windows | OS_BUILD:17763.1158 | Simple |
| WUAVERSION | Define la version del Windows Update Agent | WUAVERSION:10.0.17763.1 | Simple |
| CAB_FILENAME | Define el nombre del archivo oficial de Microsoft usado para este escaneo | CAB_FILENAME:dcdb9e78484667695627acea9213897eaf.cab | Simple |
Equipos moviles
| KEY | Impacto | Ejemplo KEY:value | Simple/Multiple |
|---|---|---|---|
| FIRMWARE | Especifica el código CPE del firmware de un equipo movil | FIRMWARE:cpe:/o:google:android:2022-08-15FIRMWARE:cpe:/o:apple:iphone_os:14.3 | Multiple |
Propiedades especificas de SAP
| KEY | Impacto | Ejemplo KEY:value | Simple/Multiple |
|---|---|---|---|
| SAP_NOTE | Anade una nota SAP al activo | SAP_NOTE:3119365 | Multiple |
Defectos de seguridad
| KEY | Impacto | Ejemplo KEY:value | Simple/Multiple |
|---|---|---|---|
| SECURITY_ISSUE | Anade una linea en la pestaña Defectos de seguridad | SECURITY_ISSUE: | Multiple |
| 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 | Precisa información complementaria | SECURITY_ISSUE: | Simple |
| method | Especifica el método de solicitud 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 solicitud HTTP asociada | SECURITY_ISSUE: | - |
GET /login.php HTTP/1.1 host: website.test </code> | 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/Multiple |
|---|---|---|---|
| FIRMWARE | Especifica el código CPE del firmware de un equipo | FIRMWARE:cpe:/o:stormshield:stormshield_network_security:3.8.1 | Multiple |
| HARDWARE | Precisa el código CPE del hardware del equipo | HARDWARE:cpe:2.3:h:sonicwall:nssp_15700 | Multiple |