VMware Carbon Black Enterprise EDR
Versión de integración: 6.0
Casos de uso del producto
- Realizar acciones de investigación: Obtén datos de CB Enterprise EDR como parte de un análisis de alertas en Google Security Operations.
- Realizar acciones de configuración: configurar feeds o listas de vigilancia de CB Enterprise EDR desde Google SecOps
Permiso del producto
Conceptos necesarios para acceder a las APIs de Carbon Black Enterprise EDR (ThreatHunter):
- Nombre de host del servicio
- Claves de API
- RBAC
- Claves de organización
Nombres de host del servicio
Existen dos nombres de host de Carbon Black Cloud:
- https://defense-<environment>.conferdeploy.net/
- https://api-<environment>.conferdeploy.net/
Además, tenemos varios entornos, como los siguientes (esta no es una lista completa):
- prod02
- prod04
- prod05
Para la API de Carbon Black Enterprise EDR (ThreatHunter), se usarán los siguientes nombres de host: https://defense-<environment>.conferdeploy.net/
Claves de API
Las APIs y los servicios de Carbon Black Enterprise EDR (ThreatHunter) se autentican a través de claves de API. Los usuarios pueden ver la configuración de las claves de API en la consola de Carbon Black Cloud en Configuración > Claves de API.
Las claves de API incluyen dos partes:
- Clave secreta de la API (anteriormente, clave de API).
- Es el ID de la API (anteriormente, ID del conector).
La autenticación se pasa a la API a través del encabezado HTTP X-Auth-Token.
- Para generar el encabezado adecuado, concatena la clave secreta de la API con el ID de la API, con una barra diagonal entre ellos.
- Por ejemplo, si la clave secreta de la API es ABCD y el ID de la API es 1234, el encabezado HTTP X-Auth-Token correspondiente será: X-Auth-Token: ABCD/1234
Todas las solicitudes a la API deben autenticarse con una clave secreta de la API y un ID de la API. Las solicitudes no autenticadas devuelven un error HTTP 401.
Cómo obtener una clave secreta de la API y un ID de la API
- Accede a tu organización de Carbon Black Cloud.
- Navega a Configuración > Claves de API.
- Haz clic en "Agregar clave de API".
- Configura el nombre, el nivel de acceso, etcétera.
- Obtén tu par de ID y clave secreta de la API.
Esto permite que un administrador de la organización defina una clave de API y obtenga acceso a la clave secreta de la API y al ID de la API que se requerirán para autenticar la solicitud a la API. Además, por motivos de seguridad, los administradores pueden restringir el uso de esta clave de API a un conjunto específico de direcciones IP.
Niveles de acceso a la clave de API
Actualmente, hay cuatro niveles de acceso principales para las claves de API disponibles en la página Claves de API. Cada nivel de acceso proporciona diferentes niveles de acceso a las rutas de la API:
Nivel de acceso de clave personalizada: Proporciona autorización personalizable.
- Las claves de API personalizadas son el resultado de nuestros esfuerzos por implementar el control de acceso basado en roles (RBAC).
- Permite a los clientes aplicar controles de acceso y crear claves de API con privilegios mínimos.
- A las claves de API personalizadas se les pueden asignar roles de usuario o niveles de acceso.
Nivel de acceso de la clave de API: Proporciona acceso a todas las APIs, excepto a la API de Notifications y la API de Live Response.
Nivel de acceso a la clave del SIEM: Proporciona acceso a la API de Notifications.
Nivel de acceso a la clave de Live Response: Proporciona acceso a todas las APIs disponibles para (1) anterior, además de la API de Live Response.
Correlación entre el servicio de Carbon Black Enterprise EDR (ThreatHunter) y el nivel de acceso a la API La API de la plataforma está en negrita
| Categoría de API o servicio | Niveles de acceso permitidos de la clave de API |
|---|---|
| PSC /appservices/* | Personalizado (con los permisos adecuados) |
| CB-TH /threathunter/* | API personalizada (con los permisos adecuados) |
| CB-LO /livequery/* | Personalizado (con los permisos adecuados) |
| CB-D /integrationServices/v3/notification/ | SIEM |
| CB-D /integrationServices/* | Respuesta de APILive |
Claves de organización
Además de las claves de API, muchas APIs o servicios de Carbon Black Cloud requieren una org_key en la ruta de la solicitud de API. Esto es para ayudar a los clientes que administran varias organizaciones.
Puedes encontrar tu clave de organización en la consola de Carbon Black Cloud en Settings > API Keys.
Configura el acceso a la API para la integración de Carbon Black Enterprise EDR (ThreatHunter) en Google SecOps
Para configurar el acceso a la API para la integración de Google SecOps de Carbon Black Enterprise EDR (ThreatHunter), se deben seguir los siguientes pasos:
- Accede a la consola de Carbon Black Cloud, ve a Configuración > Acceso a la API.
- En la página Acceso a la API, ve a Niveles de acceso.
- En la página Niveles de acceso, haz clic en + Agregar nivel de acceso.
En la ventana que se abrió, proporciona un nombre y una descripción para el nuevo nivel de acceso, y selecciona los permisos como se muestra en la siguiente captura de pantalla:

Regresa a la pestaña API Access.
Haz clic en “+ Agregar clave de API” para crear una clave de API nueva.
En la pestaña que se abrió, completa el campo obligatorio y selecciona el nivel de acceso que configuraste en el paso 4:

Una vez que hagas clic en Guardar, se mostrarán el ID de API y la clave secreta de la API. Guarda esos valores, ya que solo se mostrarán una vez.
Una vez que se guardan el ID de la API y la clave secreta de la API, se completa el acceso a la API en Carbon Black Enterprise EDR (ThreatHunter).
Configura la integración de VMware Carbon Black Enterprise EDR (Threat Hunter) en Google SecOps
Si quieres obtener instrucciones detalladas para configurar una integración en Google SecOps, consulta Configura integraciones.
Parámetros de integración
Usa los siguientes parámetros para configurar la integración:
| Nombre visible del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
|---|---|---|---|---|
| Nombre de la instancia | String | N/A | No | Nombre de la instancia para la que deseas configurar la integración. |
| Descripción | String | N/A | No | Es la descripción de la instancia. |
| Raíz de la API | String | N/A | Sí | Es la URL raíz de la API de VMware Carbon Black Cloud. |
| Clave de organización | String | N/A | Sí | Es la clave de organización de VMware Carbon Black Cloud. |
| ID de API | String | N/A | Sí | Es el ID de la API de VMware Carbon Black Cloud (ID de clave de API personalizada). |
| Clave secreta de la API | String | N/A | Sí | Clave secreta de la API de VMware Carbon Black Cloud (clave secreta de la API personalizada). |
| Ejecutar de forma remota | Casilla de verificación | N/A | No | Marca la casilla para ejecutar la integración configurada de forma remota. Una vez que se marca, aparece la opción para seleccionar al usuario remoto (agente). |
Acciones
Ping
Descripción
Prueba la conectividad con VMware Carbon Black Enterprise EDR con los parámetros proporcionados en la página de configuración de la integración en la pestaña Google Security Operations Marketplace.
Parámetros
N/A
Ejemplos de casos de uso de manuales
La acción se usa para probar la conectividad en la página de configuración de la integración en la pestaña Google Security OperationsMarketplace y se puede ejecutar como una acción manual, no se usa en los cuadernos de estrategias.
Ejecutar en
Esta acción no se ejecuta en entidades ni tiene parámetros de entrada obligatorios.
Resultados de la acción
Resultado de secuencia de comandos
| Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
|---|---|---|
| is_success | Verdadero/Falso | is_success:False |
Muro de casos
| Tipo de resultado | Valor/Descripción | Tipo |
|---|---|---|
| Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía:
La acción debería fallar y detener la ejecución de la guía:
|
General |
Búsqueda de procesos
Descripción
Busca información sobre la actividad del proceso en el host con el sensor de CB según los parámetros de búsqueda proporcionados. La acción acepta entidades de Host Google SecOps.
Parámetros
| Nombre visible del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
|---|---|---|---|---|
| Consulta | String | N/A | No | Es la consulta que se ejecutará en la búsqueda de procesos. Por ejemplo, process_name:svchost.exe (para buscar por nombre del proceso) o process_hash:9520a99e77d6196d0d09833146424113 (para buscar por hash del proceso). |
| Período | Número entero | 4 | No | Especifica un período en horas para recuperar las alertas. |
| Límite de registros | Número entero | 20 | Sí | Especifica cuántos registros puede devolver la acción. |
| Ordenar por | String | N/A | No | Especifica un parámetro para ordenar los datos. |
| Ordenar por | DDL | ASC | No | Orden de clasificación. |
Ejemplos de casos de uso de manuales
Busca eventos causados por procesos según los parámetros de búsqueda proporcionados.
Durante el análisis de una alerta relacionada con un host específico que administra la Plataforma de CB, el usuario desea investigar el host y buscar eventos particulares causados por procesos que se ejecutan según los parámetros de búsqueda proporcionados. Los usuarios pueden ejecutar esta acción para la actividad de búsqueda de amenazas, es decir, buscar de forma proactiva si hay procesos o eventos sospechosos en el host en cuestión.
Ejecutar en
Esta acción se ejecuta en la entidad Host.
Resultados de la acción
Resultado de secuencia de comandos
| Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
|---|---|---|
| is_success | Verdadero/Falso | is_success:False |
Resultado de JSON
{
"results": [
{
"alert_id": [
"null/WSD2CQMT"
],
"backend_timestamp": "2020-03-04T21:42:45.080Z",
"device_id": 3078944,
"device_name": "qaam\\manticorewin864",
"device_policy_id": 6525,
"device_timestamp": "2020-03-04T21:39:33.180Z",
"enriched": true,
"enriched_event_type": "CREATE_PROCESS",
"event_description": "The script \"<share><link hash=\"74fcbbb574bfd505cf0680575a1c025f6cead071fce78ee0cc2c7bac7dd24ce9\">C:\\programdata\\wmirepair.bat</link></share>\" invoked the application \"<share><link hash=\"7eadc73f8aa77148ca289d5ce5c2632f3a157d313079583454c0421bb97d5646\">C:\\windows\\syswow64\\regsvr32.exe</link></share>\". ",
"event_id": "ecc6954f5e6011eaa0de89cc027330db",
"event_type": "childproc",
"ingress_time": 1583358118950,
"legacy": true,
"org_id": "7DESJ9GN",
"parent_guid": "7DESJ9GN-002efb20-00001604-00000000-1d5f26cab1067fe",
"parent_pid": 5636,
"process_guid": "7DESJ9GN-002efb20-00000d58-00000000-1d5f26d6615c568",
"process_hash": [
"629ae017d28848b68485bd2aeede9129",
"74fcbbb574bfd505cf0680575a1c025f6cead071fce78ee0cc2c7bac7dd24ce9"
],
"process_name": "c:\\programdata\\wmirepair.bat",
"process_pid": [
3416
],
"process_username": [
"NT AUTHORITY\\SYSTEM"
]
},
...
] }
Muro de casos
| Tipo de resultado | Valor o descripción | Tipo |
|---|---|---|
| Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía:
La acción debería fallar y detener la ejecución de la guía:
|
Ambos |
| Tabla | Nombre de la tabla: Procesa los resultados de la búsqueda para {entityIdentifier} Columnas:
|
Entidad |
Obtén eventos asociados con el proceso por GUID de proceso
Descripción
Obtén eventos asociados con procesos específicos según la información del EDR de VMware Carbon Black Enterprise. Esta acción puede obtener resultados más detallados sobre la actividad de un proceso específico que la acción "Búsqueda de procesos". Ten en cuenta que, para que la acción funcione, el artefacto procesado por las Operaciones de seguridad de Google que se pasa a la acción debe ser de tipo GUID de proceso.
Parámetros
| Nombre visible del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
|---|---|---|---|---|
| Criterios de búsqueda | String | N/A | No | Especifica un criterio de búsqueda para la solicitud. Actualmente, solo se aceptan los valores de "event_type" como criterios de búsqueda, por ejemplo, netconn. Se aceptan varios valores como una cadena separada por comas. |
| Consulta | Buscar | N/A | Sí | Es la consulta que se ejecutará en la búsqueda de procesos. Por ejemplo, "netconn_action:ACTION_CONNECTION_CREATE OR netconn_action:ACTION_CONNECTION_ESTABLISHED". |
| Período | Número entero | 4 | No | Especifica un período en horas para recuperar las alertas. |
| Límite de registros | Número entero | 20 | No | Especifica cuántos registros puede devolver la acción. |
| Ordenar por | String | N/A | No | Especifica un parámetro para ordenar los datos. |
| Ordenar por | DDL | ASC | No | Ordenar por |
Ejemplos de casos de uso de manuales
Investiga la actividad de un proceso específico.
Durante el análisis de una alerta relacionada con un host específico que administra la Plataforma de CB, se descubrió que el host tiene un proceso sospechoso en ejecución. El usuario de SecOps de Google necesita una acción que use la funcionalidad de CB Enterprise EDR para obtener eventos asociados a un proceso determinado de SecOps de Google.
Ejecutar en
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de secuencia de comandos
| Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
|---|---|---|
| is_success | Verdadero/Falso | is_success:False |
Resultado de JSON
{
"results": [
{
"backend_timestamp": "2020-04-26T18:38:50.128Z",
"created_timestamp": "2020-05-19T03:56:53.483Z",
"event_guid": "ufzid3pPQs-yrRlPBe8-ww",
"event_hash": "ce6a949bcd3879897c9eac258ec6a091",
"event_timestamp": "2020-04-26T18:34:16.258Z",
"event_type": "netconn",
"legacy": false,
"netconn_action": "ACTION_CONNECTION_CREATE",
"netconn_inbound": true,
"netconn_local_ipv6": "FF020000000000000000000000010003",
"netconn_local_port": 5355,
"netconn_protocol": "PROTO_UDP",
"netconn_remote_ipv6": "FE800000000000000000000000000000",
"netconn_remote_port": 58994,
"process_guid": "7DESJ9GN-002efb20-000003ec-00000000-1d5fb6d63ba535c",
"process_pid": 1004
},
...
]
}
Muro de casos
| Tipo de resultado | Valor o descripción | Tipo |
|---|---|---|
| Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía:
La acción debería fallar y detener la ejecución de la guía:
|
General |
| Tabla | Nombre de la tabla: Se encontraron eventos para el proceso {identificador del artefacto del proceso} Columnas: Se deben generar automáticamente en función de los resultados devueltos. |
Entidad |
Hash de enriquecimiento
Descripción
Enriquece la entidad de hash de archivo de Google SecOps en función de la información del EDR de VMware Carbon Black Enterprise.
Ejemplos de casos de uso de manuales
Enriquece la entidad filehash de Google SecOps con información de CB Enterprise EDR.
Durante el procesamiento de una posible alerta de infección de malware asociada a un host que tiene un sensor de la Plataforma de CB, el usuario debe tener datos de enriquecimiento del EDR de CB Enterprise (parte de la plataforma) sobre los hashes de archivos particulares que están asociados a la alerta en cuestión por motivos de investigación. Por ejemplo, como parte del enriquecimiento, el usuario puede obtener metadatos relacionados con el hash del archivo, cuándo se detectó por primera vez este hash en la organización y en qué host.
Ejecutar en
Esta acción se ejecuta en la entidad Filehash en formato Sha256.
Resultados de la acción
Enriquecimiento de entidades
| Nombre del campo de enriquecimiento | Fuente (clave JSON) | Lógica: Cuándo aplicar |
|---|---|---|
| CB_ENT_EDR.sha256 | sha256 | siempre |
| CB_ENT_EDR.md5 | md5 | siempre |
| CB_ENT_EDR.architecture | arquitectura | siempre |
| CB_ENT_EDR.available_file_size | available_file_size | siempre |
| CB_ENT_EDR.charset_id | charset_id | siempre |
| CB_ENT_EDR.comments | comentarios | Si no es nulo |
| CB_ENT_EDR.company_name | company_name | siempre |
| CB_ENT_EDR.copyright | derechos de autor | siempre |
| CB_ENT_EDR.file_available | file_available | siempre |
| CB_ENT_EDR.file_description | file_description | siempre |
| CB_ENT_EDR.file_size | file_size | siempre |
| CB_ENT_EDR.file_version | file_version | siempre |
| CB_ENT_EDR.internal_name | internal_name | siempre |
| CB_ENT_EDR.lang_id | lang_id | Si no es nulo |
| CB_ENT_EDR.original_filename | original_filename | siempre |
| CB_ENT_EDR.os_type | os_type | siempre |
| CB_ENT_EDR.private_build | private_build | Si no es nulo |
| CB_ENT_EDR.product_description | product_description | Si no es nulo |
| CB_ENT_EDR.product_name | product_name | siempre |
| CB_ENT_EDR.product_version | product_version | siempre |
| CB_ENT_EDR.special_build | special_build | Si no es nulo |
| CB_ENT_EDR.trademark | marca | Si no es nulo |
| CB_ENT_EDR.found_times | num_devices | siempre |
| CB_ENT_EDR.first_seen_device_timestamp | first_seen_device_timestamp | siempre |
| CB_ENT_EDR.first_seen_device_id | first_seen_device_id | siempre |
| CB_ENT_EDR.first_seen_device_name | first_seen_device_name | siempre |
| CB_ENT_EDR.last_seen_device_timestamp | last_seen_device_timestamp | siempre |
| CB_ENT_EDR.last_seen_device_id | last_seen_device_id | siempre |
| CB_ENT_EDR.last_seen_device_name | last_seen_device_name | siempre |
Resultado de secuencia de comandos
| Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
|---|---|---|
| is_success | Verdadero/Falso | is_success:False |
Resultado de JSON
{
"sha256": "e24dd278cec867486b68418c9066ffa9bd4f394dac3ba94125d58415f677f0f4",
"architecture": [
"amd64"
],
"available_file_size": 207800,
"charset_id": 1200,
"comments": null,
"company_name": "Example Organization",
"copyright": "Copyright © 2019",
"file_available": true,
"file_description": "OpenJDK Platform binary",
"file_size": 207800,
"file_version": "8.0.2320.9",
"internal_name": "java",
"lang_id": null,
"md5": "afede6f64ed8878bc0cac57e1831a3bc",
"original_filename": "java.exe",
"os_type": "WINDOWS",
"private_build": null,
"product_description": null,
"product_name": "OpenJDK Platform 8",
"product_version": "8.0.2320.9",
"special_build": null,
"trademark": null
}
Muro de casos
| Tipo de resultado | Valor o descripción | Tipo |
|---|---|---|
| Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía:
La acción debería fallar y detener la ejecución de la guía:
|
General |