Vectra

Versão da integração: 8.0

Exemplos de utilização

  1. Ingira deteções do Vectra para as usar na criação de alertas do Google Security Operations. Em seguida, no Google SecOps, os alertas podem ser usados para realizar orquestrações com manuais de procedimentos ou análises manuais.
  2. Realizar ações de enriquecimento: obtenha dados da Vectra para enriquecer dados nos alertas do Google SecOps.

Autorização do produto

Para obter um token de API, tem de aceder à página do perfil e copiá-lo.

Localização da chave da API

Configure a integração do Vectra no Google SecOps

Para obter instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte o artigo Configure integrações.

Parâmetros de integração

Use os seguintes parâmetros para configurar a integração:

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
Nome da instância String N/A Não Nome da instância para a qual pretende configurar a integração.
Descrição String N/A Não Descrição da instância.
Raiz da API String https://{address}:{port} Sim Raiz da API do servidor Vectra.
Chave da API Palavra-passe N/A Sim Token da API da conta do Vectra.
Validar SSL Caixa de verificação Marcado Sim Se estiver ativado, verifique se o certificado SSL para a ligação ao servidor Vectra é válido.
Executar remotamente Caixa de verificação Desmarcado Não Selecione o campo para executar a integração configurada remotamente. Depois de selecionada, a opção aparece para selecionar o utilizador remoto (agente).

Ações

Tchim-tchim

Descrição

Teste a conetividade ao Vectra com os parâmetros fornecidos na página de configuração da integração no separador Google Security Operations Marketplace.

Executar em

A ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um guia interativo:

Se for bem-sucedido:

Imprima "Ligação ao servidor Vectra estabelecida com êxito com os parâmetros de ligação fornecidos!"

A ação deve falhar e parar a execução de um guia interativo:
se não for bem-sucedida:

Imprime "Failed to connect to the Vectra server! O erro é {0}".format(exception.stacktrace)

Geral

Ponto final de enriquecimento

Descrição

Obter as informações do sistema do ponto final pelo respetivo nome do anfitrião ou endereço IP.

Executar em

Esta ação é executada nas seguintes entidades:

  • Endereço IP
  • Nome do anfitrião

Resultados da ação

Enriquecimento de entidades
Nome do campo de enriquecimento Origem (chave JSON) Lógica: quando aplicar
Vectra_id results/id Quando estiver disponível em JSON
Vectra_name results/name Quando estiver disponível em JSON
Vectra_state resultados/estado Quando estiver disponível em JSON
Vectra_threat results/threat Quando estiver disponível em JSON
Vectra_certainty results/certainty Quando estiver disponível em JSON
Vectra_ip results/last_source Quando estiver disponível em JSON
Vectra_tags {results/tags} separados por espaços Quando estiver disponível em JSON
Vectra_note resultados/nota Quando estiver disponível em JSON
Vectra_url results/url Quando estiver disponível em JSON
Vectra_last_modified results/last_modified Quando estiver disponível em JSON
Vectra_groups {results/groups} separados por espaços Quando estiver disponível em JSON
Vectra_is_key_asset results/is_key_asset Quando estiver disponível em JSON
Vectra_has_active_traffic results/has_active_traffic Quando estiver disponível em JSON
Vectra_is_targeting_key_asset results/is_targeting_key_asset Quando estiver disponível em JSON
Vectra_privilege_level results/privilege_level Quando estiver disponível em JSON
Vectra_previous_ip {results/previous_ips} separados por espaços Quando estiver disponível em JSON
Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Resultado JSON
{
            "id": 131,
            "name": "DESKTOP-DAIOS7J",
            "active_traffic": false,
            "has_active_traffic": false,
            "t_score": 0,
            "threat": 0,
            "c_score": 0,
            "certainty": 0,
            "severity": null,
            "last_source": "10.0.2.68",
            "ip": "10.0.2.68",
            "previous_ips": [],
            "last_detection_timestamp": "2019-10-08T17:13:57Z",
            "key_asset": false,
            "is_key_asset": false,
            "state": "inactive",
            "targets_key_asset": false,
            "is_targeting_key_asset": false,
            "detection_set": [],
            "host_artifact_set": [
                {
                    "type": "netbios",
                    "value": "DESKTOP-DAIOS7J",
                    "source": null,
                    "siem": false
                }
            ],
            "sensor": "YLq09aHU",
            "sensor_name": "Vectra X",
            "tags": [],
            "note": null,
            "note_modified_by": null,
            "note_modified_timestamp": null,
            "url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
            "host_url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
            "last_modified": "2020-02-12T13:41:51Z",
            "assigned_to": null,
            "assigned_date": null,
            "groups": [],
            "has_custom_model": false,
            "privilege_level": null,
            "privilege_category": null,
            "probable_owner": null,
            "detection_profile": null,
            "host_session_luids": [],
            "host_luid": "e0M-jygN"
}
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um guia interativo:

Se for bem-sucedido e pelo menos uma das entidades fornecidas tiver sido enriquecida (is_success = true):

Imprima "Successfully enriched the following endpoints from Vectra: \n {0}".format(entity.identifier list)

Se a ação tiver encontrado várias correspondências no Vectra para algumas entidades do Google SecOps, foi usada a primeira correspondência para enriquecer o ponto final:

Print "Foram encontradas várias correspondências no Vectra. Está a ser usada a primeira correspondência para as seguintes entidades:/n {0}".format(entity.identifiers list)

Se não conseguir enriquecer entidades específicas(is_success = true):

Imprima "Nenhuma entidade foi enriquecida".

A ação deve falhar e parar a execução de um playbook:
se ocorrer um erro fatal, como credenciais incorretas, sem ligação ao servidor, entre outros:

Imprimir "Erro ao executar a ação "Enrich Endpoint". Motivo: {0}''.format(error.Stacktrace)

Geral

Adicione etiquetas

Descrição

Adicione etiquetas ao ponto final ou à deteção no Vectra.

Parâmetros

Nome a apresentar do parâmetro Tipo Valor predefinido É Mandatório Descrição
Tipo de item Menu pendente

Ponto final

Valores possíveis:
Endpoint

Deteção

Sim Selecione o tipo de item ao qual quer adicionar etiquetas.
ID do item String N/A Sim Especifique o ID da deteção/ponto final.
Etiquetas CSV N/A Sim Especifique as etiquetas que quer adicionar à deteção/ponto final. As etiquetas devem ser separadas por vírgulas, por exemplo: etiqueta1, etiqueta2.

Executar em

Esta ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um guia interativo:

Se for encontrada uma deteção/ponto final e as etiquetas forem atualizadas com êxito (is_success = true):

Imprima "Successfully added tags {0} to {1} with ID {2}.format(tags, Item Type, Item ID)

Se foi encontrada uma deteção/ponto final, mas não foram adicionadas etiquetas (is_success=False):

Imprima "Não foi possível adicionar as etiquetas {0} a {1} com o ID {2}. Reason: {3}. format(tags, Item Type, Item ID, tags parameter from response)".

Se a deteção/ponto final não foi encontrada (is_success=False):

Imprima "{0} com o ID {1} não foi encontrado.format(Item Type, Item ID)."

II is_success=false without a specific situation and it's not a critical error:

Imprima "Não foi possível adicionar etiquetas a {0} com o ID {1}.format(Item Type, Item ID)":

A ação deve falhar e parar a execução de um manual de soluções:
se ocorrer um erro fatal (credenciais incorretas, erro de ligação, falha da ação):

Imprimir "Erro ao executar a ação "Adicionar etiquetas". Motivo: {0}''.format(error.Stacktrace)

Geral

Remova etiquetas

Descrição

Remova etiquetas do ponto final ou da deteção no Vectra.

Parâmetros

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
Tipo de item Menu pendente

Ponto final

Valores possíveis:
Endpoint

Deteção

Sim Selecione o tipo de item do qual quer remover etiquetas.
ID do item String N/A Sim Especifique o ID da deteção/ponto final.
Etiquetas CSV N/A Sim Especifique as etiquetas que quer remover da deteção/ponto final. As etiquetas devem ser separadas por vírgulas, por exemplo: etiqueta1, etiqueta2.

Executar em

Esta ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um guia interativo:

Se for encontrada uma deteção/ponto final e as etiquetas forem atualizadas com êxito (is_success = true):

Imprimir "Successfully removed tags {0} from {1} with ID {2}.format(tags, Item Type, Item ID)

Se a deteção/ponto final não foi encontrada (is_success=False):

Print "{0} with ID {1} was not found.".format(Item Type, Item ID)."

Se a deteção/ponto final tiver sido encontrada, mas a etiqueta não tiver sido encontrada (is_success=False):

Print "Tags {0} don't exist in {1} with ID {2}.".format(list of tags that were not found separated by comma, Item Type, Item ID)."

Se is_success=false sem uma situação específica e não for um erro crítico:

Imprimir "Action wasn't able to remove tags from {0} with ID {1}.format(Item Type, Item ID)":

A ação deve falhar e parar a execução de um manual de soluções:
se ocorrer um erro fatal (credenciais incorretas, erro de ligação, falha da ação):

Imprimir "Error executing action "Remove Tags". Motivo: {0}''.format(error.Stacktrace)

Geral

Atualizar nota

Descrição

Atualize a nota para o ponto final ou a deteção.

Parâmetros

Nome a apresentar do parâmetro Tipo Valor predefinido É Mandatório Descrição
Tipo de item Menu pendente

Ponto final

Valores possíveis:
Endpoint

Deteção

Sim Selecione o tipo de item no qual quer atualizar uma nota.
ID do item String N/A Sim Especifique o ID da deteção/ponto final.
Nota String N/A Sim Especifique a nota que quer ter na deteção/ponto final.

Executar em

Esta ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um guia interativo:

Se for encontrada uma deteção/ponto final e a nota for atualizada com êxito (is_success = true):

Print "Successfully updated note on {1} with ID {2}.format(Item Type, Item ID)

Se a deteção/ponto final não foi encontrada (is_success=False):

Print "{0} with ID {1} was not found.".format(Item Type, Item ID)."

Se is_success=false sem uma situação específica e não for um erro crítico:

Imprimir "Action wasn't able to update note on {0} with ID {1}.format(Item Type, Item ID)":

A ação deve falhar e parar a execução de um manual de soluções:
se ocorrer um erro fatal (credenciais incorretas, erro de ligação, falha da ação):

Imprimir "Erro ao executar a ação "Atualizar nota". Motivo: {0}''.format(error.Stacktrace)

Geral

Atualize o estado de deteção

Descrição

Atualizar o estado da deteção.

Parâmetros

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
ID da deteção Número inteiro N/A Sim Especifique o ID de deteção no qual quer atualizar o estado.
Estado LDD

Fixa

Valores possíveis:

Corrigido

Ativo

Sim Especifique o estado a definir na deteção.

Executar em

Esta ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída\*

A ação não deve falhar nem parar a execução de um guia interativo:

Se for detetada uma deteção e o estado tiver sido atualizado com êxito (is_success = true):

Print "Successfully updated status to '{0}' on detection with ID {1}.format(Status, Detection ID)

If detection was not found (is_success=False):

Imprima "Não foi encontrada a deteção com o ID {1}.".format(ID de deteção)."

Se is_success=false sem uma situação específica e não for um erro crítico:

Imprima "Action wasn't able to update status on detection with ID {1}.format(detection ID)":

A ação deve falhar e parar a execução de um manual de soluções:
se ocorrer um erro fatal (credenciais incorretas, erro de ligação, falha da ação):

Imprime "Erro ao executar a ação "Atualizar estado de deteção". Motivo: {0}''.format(error.Stacktrace)

Geral

Obtenha detalhes da regra de triagem

Descrição

Obtenha informações detalhadas sobre as regras de triagem.

Parâmetros

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
IDs das regras de triagem Número inteiro N/A Sim Especifique uma lista de IDs de regras de triagem separados por vírgulas. Exemplo: 28,29
Crie estatísticas Caixa de verificação True Sim Se estiver ativada, a ação cria uma estatística separada para cada regra de triagem processada.

Executar em

Esta ação não é executada em entidades.

Resultados da ação

Insight
Título da estatística Descrição das estatísticas
"Triage Rule {0}".format(triage_rule) "Detection Category: {0}\n Triage Category: {1}\n Detection: {2} \n Description: {3}".format(detection_category, triage_category, detection, description)
Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Resultado JSON
{
    "id": 28,
    "url": "https://api.demo.vectranetworks.com/api/v2.1/rules/28",
    "description": "whatever",
    "enabled": true,
    "created_timestamp": "2020-10-01T17:21:19Z",
    "last_timestamp": "2020-10-01T17:21:19Z",
    "is_whitelist": false,
    "priority": 1,
    "active_detections": 1,
    "total_detections": 1,
    "template": false,
    "additional_conditions": {
        "OR": [
            {
                "AND": [
                    {
                        "ANY_OF": {
                            "field": "remote1_ip",
                            "values": [
                                {
                                    "url": null,
                                    "value": "35.166.75.118",
                                    "label": "35.166.75.118"
                                }
                            ],
                            "groups": [],
                            "label": "C&C Server IP"
                        }
                    }
                ]
            }
        ]
    },
    "source_conditions": {
        "OR": [
            {
                "AND": [
                    {
                        "ANY_OF": {
                            "field": "host",
                            "values": [
                                {
                                    "url": "https://api.demo.vectranetworks.com/api/v2.1/hosts/142",
                                    "value": 142,
                                    "label": "IP-10.10.100.10"
                                }
                            ],
                            "groups": [],
                            "label": "Host"
                        }
                    }
                ]
            }
        ]
    },
    "detection_category": "COMMAND & CONTROL",
    "triage_category": "triage rule 1",
    "detection": "Hidden HTTPS Tunnel"
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um guia interativo:

Se for bem-sucedido e, pelo menos, um dos IDs das regras fornecidos tiver sido enriquecido (is_success = true):

Print "Successfully retrieved information about the following triage rules from Vectra: \n {0}".format(processed rule ids)

Se não for possível enriquecer entidades específicas(is_success = true):

Print "Action was not able to retrieve information about the following triage rules\n: {0}".format(not processed rule ids)

If fail to enrich for all entities (is_success = false):

Imprimir "Não foram obtidas informações sobre as regras de triagem."

A ação deve falhar e parar a execução de um manual de soluções:
se ocorrer um erro fatal (credenciais incorretas, erro de ligação, falha da ação):

Imprimir "Error executing action "Get Triage Rule Details". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela de parede da caixa

Nome da tabela: detalhes das regras de triagem

Colunas da tabela:

ID (mapeado como id)

Ativado (mapeado como ativado)

Categoria de deteção (mapeada como detection_category)

Categoria de triagem (mapeada como triage_category)

Deteção (mapeada como deteção)

Lista de autorizações (mapeada como is_whitelist)

Prioridade (mapeada como prioridade)

Created At (mapeado como created_timestamp)

Geral

Conetores

Vectra - Detections Connector

Configure o conetor de deteções do Vectra no Google SecOps

Para ver instruções detalhadas sobre como configurar um conetor no Google SecOps, consulte o artigo Configurar o conetor.

Parâmetros do conetor

Use os seguintes parâmetros para configurar o conector:

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
Nome do campo do produto String Nome do produto Sim Introduza o nome do campo de origem para obter o nome do campo do produto.
Nome do campo de evento String eventType Sim Introduza o nome do campo de origem para obter o nome do campo do evento.

Nome do campo do ambiente

String "" Não

Descreve o nome do campo onde o nome do ambiente está armazenado.

Se o campo do ambiente não for encontrado, o ambiente é o ambiente predefinido.

Padrão de expressão regular do ambiente

String .* Não

Um padrão de regex a executar no valor encontrado no campo "Nome do campo do ambiente".

A predefinição é .* para captar tudo e devolver o valor inalterado.

Usado para permitir que o utilizador manipule o campo do ambiente através da lógica de regex.

Se o padrão regex for nulo ou estiver vazio, ou o valor do ambiente for nulo, o resultado final do ambiente é o ambiente predefinido.

Limite de tempo do script (segundos) Número inteiro 180 Sim Limite de tempo limite para o processo Python que executa o script atual.
Raiz da API String https://x.x.x.x:x:x Sim Raiz da API do servidor Vectra.
Chave da API Palavra-passe N/A Sim Token da API da conta do Vectra.
Pontuação de ameaça mais baixa a obter Número inteiro 50 Sim

A pontuação de ameaça mais baixa que vai ser usada para obter deteções.

Mín.: 0

Máximo: 100

Pontuação de certeza mais baixa a obter Número inteiro 0 Não

A pontuação de certeza mais baixa que vai ser usada para obter deteções.

Mín.: 0

Máximo: 100

Filtro de categoria Valores separados por vírgulas Comando e controlo,rede de bots ,reconhecimento,movimento lateral,exfiltração,informações

Especifique as categorias de deteções a carregar para o Google SecOps.

Valores possíveis:

Comando e controlo

Botnet

Reconhecimento

Movimento lateral

Exfiltração

Informações

Fetch Max Hours Backwards Número inteiro 1 Não Número de horas a partir das quais devem ser obtidas ameaças.
Máximo de deteções a obter Número inteiro 25 Não O número de deteções a processar por iteração de conetor. O limite é 5000. Esta é uma limitação do Vectra.
Use a lista de autorizações como uma lista negra Caixa de verificação Desmarcado Sim Se estiver ativada, a lista de autorizações é usada como uma lista negra.
Validar SSL Caixa de verificação Marcado Sim Se estiver ativado, verifique se o certificado SSL para a ligação ao servidor Vectra é válido.
Endereço do servidor proxy String N/A Não O endereço do servidor proxy a usar.
Nome de utilizador do proxy String N/A Não O nome de utilizador do proxy para autenticação.
Palavra-passe do proxy Palavra-passe N/A Não A palavra-passe do proxy para autenticação.

Regras de conector

Suporte de proxy

O conetor suporta proxy.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.