VMware Carbon Black Enterprise EDR
Versión de integración: 6.0
Casos prácticos de productos
- Realiza 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 seguimiento de CB Enterprise EDR desde Google SecOps.
Permiso de 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 de servicio
Hay 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 (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 mediante claves de API. Los usuarios pueden ver la configuración de las claves de API en la consola de Carbon Black Cloud, en Settings (Configuración) > API Keys (Claves de API).
Las claves de API constan de dos partes:
- Clave secreta de la API (antes, clave de API).
- ID de API (antes, ID de conector).
La autenticación se transmite 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 y añade una barra diagonal entre ambos.
- 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 mediante una clave secreta de API y un ID de API. Las solicitudes no autenticadas devuelven un error HTTP 401.
Cómo obtener una clave secreta de API y un ID de API
- Inicia sesión en tu organización de Carbon Black Cloud.
- Ve a Settings (Configuración) > API Keys (Claves de API).
- Haz clic en Añadir clave de API.
- Configurar el nombre, el nivel de acceso, etc.
- Obtén tu par de clave secreta de API e ID de API.
De esta forma, el administrador de una organización puede definir una clave de API y obtener acceso a la clave secreta de la API y al ID de la API, que se necesitarán para autenticar la solicitud de la API. Además, los administradores pueden restringir el uso de esta clave de API a un conjunto específico de direcciones IP por motivos de seguridad.
Niveles de acceso de la clave de API
Actualmente, hay cuatro niveles de acceso principales para las claves de API disponibles en la página API Keys. Cada nivel de acceso proporciona diferentes niveles de acceso a las rutas de la API:
Nivel de acceso de clave personalizado: proporciona una 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 los mínimos privilegios.
- A las claves de API personalizadas se les pueden asignar roles de usuario o niveles de acceso.
Nivel de acceso de clave de API: proporciona acceso a todas las APIs, excepto a la API Notifications y a la API Live Response.
Nivel de acceso de clave de SIEM: proporciona acceso a la API Notifications.
Nivel de acceso de clave de respuesta activa: proporciona acceso a todas las APIs disponibles en (1) más la API Live Response.
Servicio Carbon Black Enterprise EDR (ThreatHunter) a nivel de acceso a la API Correlación 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/* | APILive Response |
Claves de organización
Además de las claves de API, muchas APIs o servicios de Carbon Black Cloud requieren una clave org_key en la ruta de la solicitud de API. Esto se hace para ayudar a los clientes que gestionan varias organizaciones.
Puedes encontrar tu org_key en la consola de Carbon Black Cloud, en Settings > API Keys (Configuración > Claves de API).
Configurar el acceso a la API para la integración de Google SecOps de Carbon Black Enterprise EDR (ThreatHunter)
Para configurar el acceso a la API para la integración de Google SecOps de Carbon Black Enterprise EDR (ThreatHunter), debes seguir estos pasos:
- Inicia sesión en la consola de Carbon Black Cloud y ve a Settings (Configuración) > API Access (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 + Añadir nivel de acceso.
En la ventana que se abre, indica un nombre y una descripción para el nuevo nivel de acceso y selecciona los permisos como en la captura de pantalla que aparece a continuación:

Vuelve a la pestaña Acceso a la API.
Haz clic en + Añadir clave de API para crear una.
En la pestaña que se ha abierto, rellena el campo obligatorio y selecciona el nivel de acceso que has configurado en el paso 4:

Cuando hagas clic en Guardar, se mostrarán el ID de API y la clave secreta de API. Guarda esos valores, ya que solo se mostrarán una vez.
Una vez que se hayan guardado el ID de API y la clave secreta de la API, se habrá completado el acceso a la API en Carbon Black Enterprise EDR (ThreatHunter).
Configurar la integración de VMware Carbon Black Enterprise EDR (Threat Hunter) en Google SecOps
Para obtener instrucciones detalladas sobre cómo configurar una integración en Google SecOps, consulta Configurar 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 | Cadena | N/A | No | Nombre de la instancia para la que quiere configurar la integración. |
| Descripción | Cadena | N/A | No | Descripción de la instancia. |
| Raíz de la API | Cadena | N/A | Sí | URL raíz de la API de VMware Carbon Black Cloud. |
| Clave de organización | Cadena | N/A | Sí | Clave de organización de VMware Carbon Black Cloud. |
| ID de API | Cadena | N/A | Sí | ID de la API de VMware Carbon Black Cloud (ID de clave de API personalizada). |
| Clave secreta de la API | Cadena | N/A | Sí | Clave secreta de la API de VMware Carbon Black Cloud (clave secreta de API personalizada). |
| Ejecutar de forma remota | Casilla | N/A | No | Marca el campo para ejecutar la integración configurada de forma remota. Una vez marcada, 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 de la pestaña Google Security Operations Marketplace.
Parámetros
N/A
Ejemplos de casos prácticos de guías
Esta acción se usa para probar la conectividad en la página de configuración de la integración de la pestaña Marketplace de Google Security Operations. Se puede ejecutar como una acción manual, pero no se usa en guías.
Fecha de ejecución
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 |
Panel 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 de los procesos en el host con el sensor de CB en función de 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 | Cadena | N/A | No | Consulta que se va a ejecutar en la búsqueda de procesos. Por ejemplo, process_name:svchost.exe para buscar por nombre de proceso o process_hash:9520a99e77d6196d0d09833146424113 para buscar por hash de proceso. |
| Periodo | Entero | 4 | No | Especifica un periodo en horas para obtener las alertas. |
| Límite de registros | Entero | 20 | Sí | Especifica cuántos registros puede devolver la acción. |
| Ordenar por | Cadena | N/A | No | Especifica un parámetro para ordenar los datos. |
| Ordenar por | DDL | Ascendente | No | Orden. |
Ejemplos de casos prácticos de guías
Busca eventos causados por procesos en función de los parámetros de búsqueda proporcionados.
Durante el análisis de una alerta relacionada con un host específico gestionado por la plataforma de CB, el usuario quiere investigar el host y buscar eventos concretos causados por procesos que se ejecutan en función de los parámetros de búsqueda proporcionados. Los usuarios pueden ejecutar esta acción para buscar amenazas de forma proactiva y comprobar si hay procesos o eventos sospechosos en el host en cuestión.
Fecha de ejecución
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"
]
},
...
] }
Panel 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: Process search results for {entityIdentifier} Columnas:
|
Entidad |
Obtiene los eventos asociados a un proceso por su GUID.
Descripción
Obtén eventos asociados a procesos específicos en función de la información de VMware Carbon Black Enterprise EDR. 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". Nota: Para que la acción funcione, el artefacto procesado por Google SecOps que se le haya pasado 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 | Cadena | N/A | No | Especifica un criterio de búsqueda para la solicitud. Actualmente, solo se aceptan 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í | Consulta que se va a ejecutar en la búsqueda de procesos. Por ejemplo, "netconn_action:ACTION_CONNECTION_CREATE OR netconn_action:ACTION_CONNECTION_ESTABLISHED". |
| Periodo | Entero | 4 | No | Especifica un periodo en horas para obtener las alertas. |
| Límite de registros | Entero | 20 | No | Especifica cuántos registros puede devolver la acción. |
| Ordenar por | Cadena | N/A | No | Especifica un parámetro para ordenar los datos. |
| Ordenar por | DDL | Ascendente | No | Ordenar por |
Ejemplos de casos prácticos de guías
Investiga la actividad de un proceso específico.
Durante el análisis de una alerta relacionada con un host específico gestionado por la plataforma de CB, se ha descubierto que el host tiene un proceso sospechoso en ejecución. El usuario de Google SecOps necesita una acción que use la función EDR de CB Enterprise para obtener eventos asociados a un proceso determinado de Google SecOps.
Fecha de ejecución
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
},
...
]
}
Panel 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: Found events for process {process artifact identifier} Columnas: se deben generar automáticamente en función de los resultados devueltos. |
Entidad |
Enrich Hash
Descripción
Enriquece la entidad de hash de archivo de Google SecOps basándose en la información de VMware Carbon Black Enterprise EDR.
Ejemplos de casos prácticos de guías
Enriquece la entidad de hash de archivo 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 CB, el usuario debe tener datos de enriquecimiento de CB Enterprise EDR (parte de la plataforma) sobre determinados hashes de archivos asociados a la alerta en cuestión por motivos de investigación. Por ejemplo, como parte del enriquecimiento, el usuario puede obtener metadatos de hash de archivo relacionados, cuándo se detectó por primera vez este hash de archivo en la organización y en qué host.
Fecha de ejecución
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
}
Panel 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 |