Vectra

Versão da integração: 8.0

Casos de uso

  1. Ingerir detecções do Vectra para criar alertas do Google Security Operations. Em seguida, no Google SecOps, os alertas podem ser usados para realizar orquestrações com playbooks ou análises manuais.
  2. Realizar ações de enriquecimento: receba dados da Vectra para enriquecer os alertas do Google SecOps.

Permissão de produto

Para receber um token de API, acesse a página de perfil e copie o token.

Local do token de API

Configurar a integração do Vectra no Google SecOps

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

Parâmetros de integração

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

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome da instância String N/A Não Nome da instância em que você 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.
Token da API Senha N/A Sim Token de API da conta do Vectra.
Verificar SSL Caixa de seleção Selecionado Sim Se ativado, verifique se o certificado SSL da conexão com o servidor Vectra é válido.
Executar remotamente Caixa de seleção Desmarcado Não Marque a caixa para executar a integração configurada remotamente. Depois de marcada, a opção aparece para selecionar o usuário remoto (agente).

Ações

Ping

Descrição

Teste a conectividade com o Vectra usando os parâmetros fornecidos na página de configuração da integração na guia "Marketplace" do Google Security Operations.

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
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se a operação for concluída:

Imprima "A conexão com o servidor Vectra foi estabelecida com sucesso usando os parâmetros fornecidos!"

A ação deve falhar e interromper a execução de um playbook:
Se não for bem-sucedida:

Imprima "Não foi possível se conectar ao servidor do Vectra! O erro é {0}".format(exception.stacktrace)

Geral

Endpoint de enriquecimento

Descrição

Extrai as informações do sistema do endpoint pelo nome do host ou endereço IP.

Executar em

Essa ação é executada nas seguintes entidades:

  • Endereço IP
  • Nome do host

Resultados da ação

Enriquecimento de entidades
Nome do campo de enriquecimento Origem (chave JSON) Lógica: quando aplicar
Vectra_id results/id Quando disponível em JSON
Vectra_name results/name Quando disponível em JSON
Vectra_state results/state Quando disponível em JSON
Vectra_threat results/threat Quando disponível em JSON
Vectra_certainty results/certainty Quando disponível em JSON
Vectra_ip results/last_source Quando disponível em JSON
Vectra_tags {results/tags} separados por espaços Quando disponível em JSON
Vectra_note results/note Quando disponível em JSON
Vectra_url results/url Quando disponível em JSON
Vectra_last_modified results/last_modified Quando disponível em JSON
Vectra_groups {results/groups} separados por espaços Quando disponível em JSON
Vectra_is_key_asset results/is_key_asset Quando disponível em JSON
Vectra_has_active_traffic results/has_active_traffic Quando disponível em JSON
Vectra_is_targeting_key_asset results/is_targeting_key_asset Quando disponível em JSON
Vectra_privilege_level results/privilege_level Quando disponível em JSON
Vectra_previous_ip {results/previous_ips} separados por espaços Quando 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 do 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"
}
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se a solicitação for bem-sucedida e pelo menos uma das entidades fornecidas tiver sido enriquecida (is_success = true):

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

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

Imprima "Várias correspondências foram encontradas no Vectra. Usando a primeira correspondência para as seguintes entidades:/n {0}".format(entity.identifiers list)

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

Imprima "Nenhuma entidade foi enriquecida".

A ação precisa falhar e interromper a execução de um playbook:
se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, entre outros:

Imprima "Erro ao executar a ação "Enriquecer endpoint". Motivo: {0}''.format(error.Stacktrace)

Geral

Adicionar tags

Descrição

Adicione tags ao endpoint ou à detecção no Vectra.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É Mandatório Descrição
Tipo de item Menu suspenso

Endpoint

Valores possíveis:
Endpoint

Detecção

Sim Selecione o tipo de item a que você quer adicionar tags.
Código do item String N/A Sim Especifique o ID da detecção/endpoint.
Tags CSV N/A Sim Especifique quais tags você quer adicionar à detecção/endpoint. As tags precisam ser separadas por vírgulas, por exemplo: tag1, tag2.

Executar em

Essa 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
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se uma detecção/endpoint for encontrado e as tags forem atualizadas com sucesso (is_success = true):

Imprima "Tags {0} adicionadas com sucesso a {1} com ID {2}.format(tags, Item Type, Item ID)

Se a detecção/endpoint foi encontrada, mas as tags não foram adicionadas (is_success=False):

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

Se a detecção/endpoint não foi encontrada (is_success=False):

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

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

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

A ação precisa falhar e interromper a execução de um playbook:
Se houver um erro fatal (credenciais incorretas, erro de conexão, falha na ação):

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

Geral

Remover tags

Descrição

Remova tags do endpoint ou da detecção no Vectra.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Tipo de item Menu suspenso

Endpoint

Valores possíveis:
Endpoint

Detecção

Sim Selecione o tipo de item de que você quer remover tags.
Código do item String N/A Sim Especifique o ID da detecção/endpoint.
Tags CSV N/A Sim Especifique quais tags você quer remover da detecção/endpoint. As tags precisam ser separadas por vírgulas, por exemplo: tag1, tag2.

Executar em

Essa 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
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se uma detecção/endpoint for encontrado e as tags forem atualizadas com sucesso (is_success = true):

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

Se a detecção/endpoint não foi encontrada (is_success=False):

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

Se a detecção/endpoint foi encontrada, mas a tag não (is_success=False):

Imprima "As tags {0} não existem em {1} com ID {2}.".format(lista de tags que não foram encontradas separadas por vírgula, Item Type, Item ID)."

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

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

A ação precisa falhar e interromper a execução de um playbook:
Se houver um erro fatal (credenciais incorretas, erro de conexão, falha na ação):

Imprima "Erro ao executar a ação "Remover tags". Motivo: {0}''.format(error.Stacktrace)

Geral

Atualizar observação

Descrição

Atualize a observação para o endpoint ou a detecção.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É Mandatório Descrição
Tipo de item Menu suspenso

Endpoint

Valores possíveis:
Endpoint

Detecção

Sim Selecione o tipo de item em que você quer atualizar uma observação.
Código do item String N/A Sim Especifique o ID da detecção/endpoint.
Observação String N/A Sim Especifique qual observação você quer ter na detecção/no endpoint.

Executar em

Essa 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
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se a detecção/endpoint for encontrada e a observação for atualizada com sucesso (is_success = true):

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

Se a detecção/endpoint não foi encontrada (is_success=False):

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

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

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

A ação precisa falhar e interromper a execução de um playbook:
Se houver um erro fatal (credenciais incorretas, erro de conexão, falha na ação):

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

Geral

Atualizar status da detecção

Descrição

Atualiza o status da detecção.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
ID da detecção Número inteiro N/A Sim Especifique o ID da detecção em que você quer atualizar o status.
Status DDL

Correção de

Valores possíveis:

Fixo

Ativo

Sim Especifique qual status definir na detecção.

Executar em

Essa 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
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída\*

A ação não pode falhar nem interromper a execução de um playbook:

Se uma detecção for encontrada e o status for atualizado com sucesso (is_success = true):

Imprima "Status atualizado com sucesso para '{0}' na detecção com ID {1}.format(Status, Detection ID)

Se a detecção não foi encontrada (is_success=False):

Imprima "A detecção com ID {1} não foi encontrada.".format(ID da detecção)."

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

Imprima "Não foi possível atualizar o status na detecção com o ID {1}.format(ID da detecção)":

A ação precisa falhar e interromper a execução de um playbook:
Se houver um erro fatal (credenciais incorretas, erro de conexão, falha na ação):

Imprima "Erro ao executar a ação "Atualizar status de detecção". Motivo: {0}''.format(error.Stacktrace)

Geral

Receber detalhes da regra de triagem

Descrição

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

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
IDs de regras de triagem Número inteiro N/A Sim Especifique uma lista separada por vírgulas de IDs de regra de triagem. Exemplo: 28,29
Criar insights Caixa de seleção Verdadeiro Sim Se ativada, a ação vai criar um insight separado para cada regra de triagem processada.

Executar em

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

Resultados da ação

Insight
Título do insight Descrição do insight
"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 do 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"
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se a operação for bem-sucedida e pelo menos um dos IDs de regra 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):

Imprima "A ação não conseguiu recuperar informações sobre as seguintes regras de triagem\n: {0}".format(not processed rule ids)

Se não for possível enriquecer todas as entidades (is_success = false):

Imprima "Nenhuma informação foi recuperada sobre as regras de triagem".

A ação precisa falhar e interromper a execução de um playbook:
Se houver um erro fatal (credenciais incorretas, erro de conexão, falha na ação):

Imprima "Erro ao executar a ação "Receber detalhes da regra de triagem". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela do painel de casos

Nome da tabela:detalhes das regras de triagem

Colunas da tabela:

ID (mapeado como id)

Ativado (mapeado como ativado)

Categoria de detecção (mapeada como detection_category)

Categoria de triagem (mapeada como triage_category)

Detecção (mapeada como detecção)

Lista de permissões (mapeada como is_whitelist)

Prioridade (mapeada como prioridade)

Criado em (mapeado como created_timestamp)

Geral

Conectores

Vectra: conector de detecções

Configurar o conector de detecções do Vectra no Google SecOps

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

Parâmetros do conector

Use os seguintes parâmetros para configurar o conector:

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome do campo do produto String Nome do produto Sim Insira o nome do campo de origem para recuperar o nome do campo do produto.
Nome do campo do evento String eventType Sim Insira o nome do campo de origem para recuperar o nome do campo de evento.

Nome do campo de ambiente

String "" Não

Descreve o nome do campo em que o nome do ambiente é armazenado.

Se o campo de ambiente não for encontrado, o ambiente será o padrão.

Padrão de regex do ambiente

String .* Não

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

O padrão é ".*" para capturar tudo e retornar o valor sem alterações.

Usado para permitir que o usuário manipule o campo de ambiente usando a lógica de regex.

Se o padrão de regex for nulo ou vazio, ou se o valor do ambiente for nulo, o resultado final será o ambiente padrão.

Tempo limite 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.
Token da API Senha N/A Sim Token de API da conta do Vectra.
Pontuação de ameaça mínima a ser buscada Número inteiro 50 Sim

A menor pontuação de ameaça que será usada para buscar detecções.

Mín.: 0

Máximo: 100

Menor pontuação de certeza a ser buscada Número inteiro 0 Não

A menor pontuação de certeza que será usada para buscar detecções.

Mín.: 0

Máximo: 100

Filtro de categoria Valores separados por vírgula Comando e controle,botnet ,reconhecimento,movimentação lateral,exfiltração,informações

Especifique quais categorias de detecções serão ingeridas no Google SecOps.

Valores possíveis:

Comando e controle

Botnet

Reconhecimento

Movimentação lateral

Exfiltração

Informações

Voltar o tempo máximo Número inteiro 1 Não Número de horas de onde buscar ameaças.
Número máximo de detecções a serem buscadas Número inteiro 25 Não Quantas detecções processar por iteração de conector. O limite é 5.000. Essa é uma limitação do Vectra.
Usar a lista de permissões como uma lista de proibições Caixa de seleção Desmarcado Sim Se ativada, a lista de permissões será usada como uma lista de bloqueios.
Verificar SSL Caixa de seleção Selecionado Sim Se ativado, verifique se o certificado SSL da conexão com o servidor Vectra é válido.
Endereço do servidor proxy String N/A Não O endereço do servidor proxy a ser usado.
Nome de usuário do proxy String N/A Não O nome de usuário do proxy para autenticação.
Senha do proxy Senha N/A Não A senha do proxy para autenticação.

Regras do conector

Suporte a proxy

O conector é compatível com proxy.

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