Recopila registros de Thinkst Canary
Este analizador normaliza los mensajes de registro sin procesar del software Thinkst Canary limpiando los saltos de línea y tratando de analizar el mensaje como JSON. Luego, según la presencia de campos específicos ("Descripción" para el formato de par clave-valor o "Resumen" para JSON), determina el formato de registro y, además, incluye la lógica de análisis adecuada de archivos de configuración independientes para asignar los datos al modelo de datos unificado.
Antes de comenzar
- Asegúrate de tener una instancia de Google SecOps.
- Asegúrate de tener acceso con privilegios a Thinkst Canary.
Configura la API de REST en Thinkst Canary
- Accede a la consola de administración de Thinkst Canary.
- Haz clic en el ícono de ajustes > Configuración global.
- Haz clic en API.
- Haz clic en Habilitar API.
- Haz clic en + para agregar una API.
- Asigna un nombre descriptivo a la API.
- Copia el hash de dominio y el token de autenticación.
Configura un feed en Google SecOps para transferir registros de Thinkst Canary
- Haz clic en Agregar nueva.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de Canary de Thinkst).
- Selecciona API de terceros como el Tipo de origen.
- Selecciona Thinkst Canary como el Tipo de registro.
- Haz clic en Siguiente.
- Especifica valores para los siguientes parámetros de entrada:
- Encabezado HTTP de autenticación: Es el token generado anteriormente en un formato
auth_token:<TOKEN>
(por ejemplo, auth_token:AAAABBBBCCCC111122223333). - Nombre de host de la API: Es el FQDN (nombre de dominio completamente calificado) de tu extremo de la API de Thinks Canary REST (por ejemplo,
myinstance.canary.tools
). - Espacio de nombres de recursos: Es el espacio de nombres de recursos.
- Etiquetas de transferencia: Es la etiqueta que se aplica a los eventos de este feed.
- Encabezado HTTP de autenticación: Es el token generado anteriormente en un formato
- Haz clic en Siguiente.
- Revisa la configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
Asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
AUDITACTION | read_only_udm.metadata.product_event_type | El valor se toma del campo de descripción si el formato es JSON; de lo contrario, lo determina el campo eventid. |
CanaryIP | read_only_udm.target.ip | |
CanaryName | read_only_udm.target.hostname | |
CanaryPort | read_only_udm.target.port | |
COOKIE | read_only_udm.security_result.about.resource.attribute.labels.value | |
creada | read_only_udm.metadata.event_timestamp.seconds | |
created_std | read_only_udm.metadata.event_timestamp.seconds | |
DATOS | ||
descripción | read_only_udm.metadata.product_event_type | El valor se toma del campo de descripción si el formato es JSON; de lo contrario, lo determina el campo eventid. |
Descripción | read_only_udm.metadata.product_event_type | El valor se toma del campo de descripción si el formato es JSON; de lo contrario, lo determina el campo eventid. |
DOMINIO | read_only_udm.target.administrative_domain | |
dst_host | read_only_udm.target.ip | |
dst_port | read_only_udm.target.port | |
eventid | read_only_udm.metadata.product_event_type | El valor se toma del campo de descripción si el formato es JSON; de lo contrario, lo determina el campo eventid. |
events_count | read_only_udm.security_result.detection_fields.value | |
FILENAME | read_only_udm.target.file.full_path | |
FIN | read_only_udm.security_result.detection_fields.value | |
flock_id | read_only_udm.principal.resource.attribute.labels.value | |
flock_name | read_only_udm.principal.resource.attribute.labels.value | |
FunctionData | ||
FunctionName | ||
ENCABEZADOS | read_only_udm.security_result.about.resource.attribute.labels | |
HOST | read_only_udm.target.hostname | |
HOSTNAME | read_only_udm.target.hostname | |
id | read_only_udm.metadata.product_log_id | |
ID | read_only_udm.security_result.detection_fields.value | |
IN | read_only_udm.security_result.detection_fields.value | |
ip_address | ||
CLAVE | ||
LEN | read_only_udm.security_result.detection_fields.value | |
LOCALNAME | read_only_udm.target.hostname | |
LOCALVERSION | read_only_udm.target.platform_version | |
logtype | read_only_udm.security_result.detection_fields.value | |
LOGINTYPE | ||
MAC | read_only_udm.principal.mac | |
matched_annotations | ||
MÉTODO | read_only_udm.network.http.method | |
MODO | ||
ms_macro_ip | read_only_udm.principal.ip | |
ms_macro_username | read_only_udm.principal.user.user_display_name | |
nombre | read_only_udm.target.hostname | |
node_id | read_only_udm.principal.resource.attribute.labels.value | |
DESREF (OFFSET) | ||
OPCODE | ||
OUT | read_only_udm.security_result.detection_fields.value | |
CONTRASEÑA | ||
PATH | read_only_udm.target.url | |
puertos | read_only_udm.target.labels.value | |
PREC | read_only_udm.security_result.detection_fields.value | |
PreviousIP | read_only_udm.principal.ip | |
PROTO | read_only_udm.network.ip_protocol | |
PSH | read_only_udm.security_result.detection_fields.value | |
REALM | read_only_udm.target.administrative_domain | |
REMOTENAME | read_only_udm.principal.hostname | |
REMOTEVERSION | read_only_udm.principal.platform_version | |
REPO | read_only_udm.target.resource.attribute.labels.value | |
RESPUESTA | read_only_udm.network.http.response_code | |
ReverseDNS | ||
Configuración | read_only_udm.target.labels | |
SHARENAME | ||
SIZE | ||
SKIN | ||
SMBARCH | ||
SMBREPEATEVENTMSG | ||
SMBVER | ||
SNAME | ||
SourceIP | read_only_udm.principal.ip | |
src_host | read_only_udm.principal.ip | |
src_host_reverse | read_only_udm.principal.hostname | |
src_port | read_only_udm.principal.port | |
ESTADO | ||
resumen | read_only_udm.metadata.product_event_type | El valor se toma del campo de descripción si el formato es JSON; de lo contrario, lo determina el campo eventid. |
SYN | read_only_udm.security_result.detection_fields.value | |
TCPBannerID | ||
TERMSIZE | ||
TERMTYPE | ||
timestamp | read_only_udm.metadata.event_timestamp.seconds | |
timestamp_std | read_only_udm.metadata.event_timestamp.seconds | |
Marca de tiempo | read_only_udm.metadata.event_timestamp.seconds | |
TKTVNO | read_only_udm.security_result.detection_fields.value | |
Condiciones del Servicio | read_only_udm.security_result.detection_fields.value | |
TTL | read_only_udm.security_result.detection_fields.value | |
TIPO | ||
USUARIO | read_only_udm.principal.user.user_display_name | |
USERAGENT | read_only_udm.network.http.user_agent | |
NOMBRE DE USUARIO | read_only_udm.target.user.user_display_name | |
URG | read_only_udm.security_result.detection_fields.value | |
URGP | read_only_udm.security_result.detection_fields.value | |
WINDOW | read_only_udm.security_result.detection_fields.value | |
windows_desktopini_access_domain | read_only_udm.principal.group.group_display_name | |
windows_desktopini_access_username | read_only_udm.principal.user.user_display_name | |
read_only_udm.metadata.log_type | THINKST_CANARY: Valor hard-coded | |
read_only_udm.metadata.vendor_name | Thinkst: Valor hard-coded | |
read_only_udm.metadata.product_name | Canary: Valor hard-coded | |
read_only_udm.security_result.severity | CRÍTICO: Valor hard-coded | |
read_only_udm.is_alert | verdadero: Valor codificado | |
read_only_udm.is_significant | verdadero: Valor codificado | |
read_only_udm.network.application_protocol | Se determina según el puerto y el product_event_type | |
read_only_udm.extensions.auth.mechanism | Se determina según el método de autenticación que se usa en el evento. |
Cambios
2024-05-18
- Se agregó compatibilidad con los eventos "Flock Settings Changed" y se comenzó a asignar el ID del usuario a partir de estos eventos.
2024-03-05
- Se agregó compatibilidad con los eventos "Solicitud de SIP" y "Solicitud de TFTP".
- Se mejoró la asignación de varios campos, como los valores hash de archivos, los agentes de usuario y las etiquetas de recursos.
- Se comenzaron a asignar detalles específicos de los encabezados SIP y TFTP para mejorar el análisis de seguridad.
2023-12-08
- Se estandarizaron las alertas "THINKST_CANARY" como eventos críticos con las marcas de gravedad adecuadas.
- Se agregó compatibilidad con los eventos "NMAP OS Scan Detected".
2023-12-07
- Se agregó compatibilidad con los eventos "WinRM Login Attempt", "Telnet Login Attempt" y "Redis Command".
- Se mejoró el análisis de las marcas de tiempo de los eventos.
2023-09-15
- Se agregó compatibilidad con los eventos "Intento de acceso a VNC".
2023-08-04
- Se mejoró el manejo de los eventos activados por Canarytoken:
- Ahora se usan tipos de eventos más específicos.
- La información de Canarytoken se asignó correctamente.
- Los eventos se marcan como alertas.
- La categoría de seguridad está configurada en "NETWORK_SUSPICIOUS".
2023-05-12
- Se corrigió un problema por el que los eventos "MSSQL Login Attempt" no se categorizaban correctamente.
2022-12-04
- Se agregó compatibilidad con los eventos "Intento de acceso de HTTP", "Intento de acceso de FTP", "Exploración de sitios web", "Cambio en la configuración de la consola" y "Intento de acceso de RDP".