Integre o VirusTotal com o Google SecOps

Este documento explica como integrar o VirusTotal com o Google Security Operations (Google SecOps).

Versão da integração: 39.0

Esta integração usa a API VirusTotal v2.

Esta integração usa um ou mais componentes de código aberto. Pode transferir uma cópia comprimida do código-fonte completo desta integração a partir do contentor do Cloud Storage.

Antes de começar

Para usar a integração do VirusTotal, configure uma chave da API.

Para configurar a chave da API, conclua os seguintes passos:

  1. Inicie sessão no portal do VirusTotal.
  2. Abaixo do seu nome de utilizador, clique em Chave da API.
  3. Copie a chave da API gerada para a usar nos parâmetros de integração.
  4. Clique em Guardar.

Parâmetros de integração

A integração do VirusTotal requer os seguintes parâmetros:

Parâmetro Descrição
Api Key

Obrigatório.

A chave da API para aceder ao VirusTotal.

Verify SSL

Opcional.

Se esta opção estiver selecionada, a integração valida o certificado SSL quando se liga ao VirusTotal.

Não selecionado por predefinição.

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

Se necessário, pode fazer alterações numa fase posterior. Depois de configurar uma instância de integração, pode usá-la em manuais de soluções. Para mais informações sobre como configurar e suportar várias instâncias, consulte o artigo Suporte de várias instâncias.

Ações

Para mais informações sobre ações, consulte os artigos Responda a ações pendentes a partir de O seu espaço de trabalho e Realize uma ação manual.

Aceda ao relatório de domínio

Use a ação Get Domain Report para obter relatórios de domínios do VirusTotal para as entidades fornecidas e enriquecer essas entidades na plataforma Google SecOps.

Esta ação é executada nas seguintes entidades do Google SecOps:

  • User
  • Hostname

Dados de ações

Nenhum.

Resultados da ação

A ação Get Domain Report fornece os seguintes resultados:

Tipo de saída da ação Disponibilidade
Fixação à parede da caixa Não disponível
Link da parede da caixa Não disponível
Mesa de parede para caixas Não disponível
Tabela de enriquecimento de entidades Disponível
Resultado JSON Disponível
Resultado do script Disponível
Tabela de enriquecimento de entidades

A ação Get Domain Report pode enriquecer os seguintes campos:

Nome do campo de enriquecimento Lógica aplicável
Forcepoint ThreatSeeker category Devolve se existir no resultado JSON.
BitDefender domain info Devolve se existir no resultado JSON.
Categories Devolve se existir no resultado JSON.
BitDefender Category Devolve se existir no resultado JSON.
Alexa Category Devolve se existir no resultado JSON.
Alexa domain info Devolve se existir no resultado JSON.
Websense ThreatSeeker category Devolve se existir no resultado JSON.
TrendMicro category Devolve se existir no resultado JSON.
Opera domain info Devolve se existir no resultado JSON.
Webutation domain info Devolve se existir no resultado JSON.
verbose_msg Devolve se existir no resultado JSON.
whois Devolve se existir no resultado JSON.
Resultado JSON

O exemplo seguinte mostra o resultado JSON recebido quando usa a ação Get Domain Report:

[
    {
        "EntityResult": {
            "detected_downloaded_samples": [],
            "undetected_downloaded_samples": [{
                "date": "2018-08-08 22:48:28",
                "positives": 0,
                "sha256": "ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629",
                "total": 59
            }],
            "resolutions": [{
                "last_resolved": "2019-01-13 03:31:09",
                "ip_address": "192.0.2.1"
            }],
            "Opera domain info": "The URL domain/host was seen to host badware at some point in time",
            "domain_siblings": [],
            "BitDefender domain info": "This URL domain/host was seen to host badware at some point in time",
            "whois": "Domain Name: EXAMPLE.CO.IN, nUpdated Date: 2018-05-22T09:30:37Z, nCreation Date: 2003-06-23T14:02:33Z, nRegistry Expiry Date: 2019-06-23T14:02:33Z, nDomain Status: clientDeleteProhibited, nDomain Status: clientTransferProhibited, nDomain Status: clientUpdateProhibited, nRegistrant Country: US, nName Server: NS1.EXAMPLE.COM, nName Server: NS2.EXAMPLE.COM, nName Server: NS3.EXAMPLE.COM, nName Server: NS4.EXAMPLE.COM, nDNSSEC: unsigned",
            "Alexa domain info": "example.co.in is one of the top 100 sites in the world and is in the Search_Engines category",
            "verbose_msg": "Domain found in dataset",
            "BitDefender category": "searchengines",
            "undetected_referrer_samples": [{
                "date": "2019-02-05 13:20:39",
                "positives": 0,
                "sha256": "3baf9f2a2d2b152193d2af602378b71e40d381e835b0aa3111851b2f29e64f38",
                "total": 71
            }],
            "whois_timestamp": 1548379042,
            "WOT domain info": {
                "Vendor reliability": "Excellent",
                "Child safety": "Excellent",
                "Trustworthiness": "Excellent",
                "Privacy": "Excellent"
            },
            "detected_referrer_samples": [{
                "date": "2019-02-05 01:11:35",
                "positives": 1,
                "sha256": "097ea19b440441248b157698e2b23555cdf6117491b5f49f7ec8e492550cb02c",
                "total": 70
            }],
            "Forcepoint ThreatSeeker category": "search engines and portals",
            "Alexa category": "search_engines",
            "detected_communicating_samples": [{
                "date": "2019-01-28 23:58:13",
                "positives": 30,
                "sha256": "e65faa1283f8941d98dc23ff6822be228a24cb4489a5e5b01aeee749bf851658",
                "total": 70
            }],
            "TrendMicro category": "search engines portals",
            "categories": [
                "searchengines", "search engines and portals"
            ],
            "undetected_urls": [[
                "http://example.co.in/example", "daed97b2c77f0f72c9e4ee45506e3e1bc4e34d7b8846246877a02779bb85dd5b", 0, 70, "2019-02-04 14:58:23"
            ]],
            "response_code": 1,
            "Webutation domain info": {
                "Safety score": 100,
                "Adult content": "no",
                "Verdict": "safe"
            },
            "subdomains": [
                "www.example.co.in"
            ],
            "Websense ThreatSeeker category": "search engines and portals",
            "detected_urls": [{
                "url": "http://example.co.in/urlURL",
                "positives": 2,
                "total": 66,
                "scan_date": "2018-01-13 00:38:35"
            }],
            "Alexa rank": 100,
            "undetected_communicating_samples": [{
                "date": "2018-11-17 03:19:28",
                "positives": 0,
                "sha256": "e2a6ab7d594490c62bd3bb508dc38d7191ad48977da4d8dcce08dcb8af0070e9",
                "total": 68
            }],
            "pcaps": [
           "97e4a17068ce3ed01ed1c25c3d263fc0145e5ecc53b7db6f2ba84496b53d4a65"
            ]},
        "Entity": "example.co.in"
    }
]
Resultado do script

A tabela seguinte lista o valor do resultado do script quando usa a ação Get Domain Report:

Nome do resultado do script Valor
is_success True ou False

Hash da análise

Use a ação Analisar hash para analisar hashes de ficheiros com o VirusTotal, marcar entidades como suspeitas e mostrar estatísticas, se a pontuação de risco corresponder a um determinado limite.

Esta ação é executada na entidade Filehash do Google SecOps.

Dados de ações

A ação Analisar hash requer os seguintes parâmetros:

Parâmetro Descrição
Threshold

Obrigatório.

O limite para marcar deteções como suspeitas.

Se as deteções do motor malicioso atingirem ou excederem o limite definido, a ação marca a entidade como suspeita.

Rescan after days

Opcional.

O número de dias após a data de análise mais recente para voltar a analisar a entidade.

Resultados da ação

A ação Analisar hash fornece os seguintes resultados:

Tipo de saída da ação Disponibilidade
Fixação à parede da caixa Não disponível
Link da parede da caixa Não disponível
Mesa de parede para caixas Não disponível
Tabela de enriquecimento de entidades Disponível
Insight Disponível
Resultado JSON Disponível
Resultado do script Disponível
Tabela de enriquecimento de entidades

A ação Analisar hash pode enriquecer os seguintes campos:

Nome do campo de enriquecimento Lógica aplicável
permalink Devolve se existir no resultado JSON.
sha1 Devolve se existir no resultado JSON.
resource Devolve se existir no resultado JSON.
Scan date Devolve se existir no resultado JSON.
Scan ID Devolve se existir no resultado JSON.
verbose_msg Devolve se existir no resultado JSON.
total Devolve se existir no resultado JSON.
positives Devolve se existir no resultado JSON.
sha256 Devolve se existir no resultado JSON.
md5 Devolve se existir no resultado JSON.
Detecting Engines Devolve se existir no resultado JSON.
Insight

A ação Analisar hash pode devolver a seguinte estatística:

Gravidade Descrição
Warn

A ação cria uma estatística de aviso para informar acerca do estado malicioso do hash enriquecido.

A ação só cria a estatística quando o número de motores detetados é igual ou superior ao limite mínimo de suspeitos que definiu antes da análise.

Resultado JSON

O exemplo seguinte mostra o resultado JSON recebido quando usa a ação Scan Hash:

[
    {
        "EntityResult": {
            "permalink": "https://www.virustotal.com/file/HASH/analysis/ANALYSIS_ID/",
            "sha1": "3395856ce81f2b7382dee72602f798b642f14140",
            "resource": "HASH",
            "response_code": 1,
            "scan_date": "2019-02-05 15:41:52",
            "scan_id": "HASH-ANALYSIS_ID",
            "verbose_msg": "Scan finished, information embedded",
            "total": 60,
            "positives": 54,
            "sha256": "HASH",
            "md5": "44d88612fea8a8f36de82e1278abb02f",
            "scans": {
                "Bkav": {
                    "detected": true,
                    "version": "192.0.2.1",
                    "result": "Trojan",
                    "update": "20190201"
                },
                "MicroWorld-eScan": {
                    "detected": true,
                    "version": "14.0.297.0",
                    "result": "Test-File",
                    "update": "20190205"
                }}},
        "Entity": "HASH"
    }
]
Resultado do script

A tabela seguinte lista o valor do resultado do script quando usa a ação Scan Hash:

Nome do resultado do script Valor
is_risky True ou False

Analisar IP

Use a ação Analisar IP para reunir as informações que o VirusTotal viu recentemente num IP específico.

Esta ação é executada na entidade IP Address do Google SecOps.

Dados de ações

A ação Procurar IP requer os seguintes parâmetros:

Parâmetro Descrição
Threshold

Opcional.

O limite para marcar um endereço IP como suspeito.

Se as deteções do motor malicioso atingirem ou excederem o limite definido, a ação marca o endereço IP como suspeito.

O valor predefinido é 25.

Resultados da ação

A ação Procurar IP fornece os seguintes resultados:

Tipo de saída da ação Disponibilidade
Fixação à parede da caixa Não disponível
Link da parede da caixa Não disponível
Mesa de parede para caixas Não disponível
Tabela de enriquecimento de entidades Disponível
Estatísticas Disponível
Resultado JSON Disponível
Resultado do script Disponível
Tabela de enriquecimento de entidades

A ação Analisar IP pode enriquecer os seguintes campos:

Nome do campo de enriquecimento Lógica aplicável
Country Devolve se existir no resultado JSON.
Related Domains Devolve se existir no resultado JSON.
Last Scan Date Devolve se existir no resultado JSON.
verbose_msg Devolve se existir no resultado JSON.
Resolutions Devolve se existir no resultado JSON.
Estatísticas

A ação Analisar IP pode devolver as seguintes estatísticas:

Gravidade Descrição
Warn

A ação cria uma estatística de aviso para informar acerca do estado malicioso do endereço IP enriquecido.

A ação só cria a estatística quando o número de motores detetados é igual ou superior ao limite mínimo de suspeitos que definiu antes da análise.

Nome da estatística Corpo
Entity Insight
  • País: country
  • Exemplos de referenciadores maliciosos: len(detected_referrer_samples)
  • Amostras transferidas maliciosas: len(detected_downloaded_samples)
  • Exemplos de comunicação maliciosa: len(detected_communicating_samples)
  • URLs maliciosos: len(detected_urls)
Resultado JSON

O exemplo seguinte mostra o resultado JSON recebido quando usa a ação Analisar IP:

[
    {
        "EntityResult": {
            "asn": 4436,
            "undetected_urls": [[
                "http://example.com", "2ed06796f95e7c1xxxxxbd68d81754acf535c999e901bfe2cf9c45612396f66", 0, 66, "2022-11-23 06:51:49"
            ]],
            "undetected_downloaded_samples": [{
                "date": "2018-07-09 07:53:30",
                "positives": 0,
                "sha256": "6a0bf66ddc73d7e64eb2ff0dd3512c5378c0c63c2ad4e13c0e1429fe",
                "total": 60
            }],
            "country": "country",
            "response_code": 1,
            "as_owner": "Example, Inc.",
            "verbose_msg": "IP address in dataset",
            "detected_downloaded_samples": [{
                "date": "2023-05-20 08:38:00",
                "positives": 6,
                "sha256": "9cf5c07c99c3342d83b241c25850da0bf231ee150cb962cab1e8399cb",
                "total": 57
            }],
            "resolutions": [{
                "last_resolved": "2023-05-13 00:00:00",
                "hostname": "40515350444dff68-2f7735d5ad283fa41a203a082d9a8f25.example.com"
            }],
            "detected_urls": [{
                "url": "http://example.com",
                "positives": 2,
                "total": 67,
                "scan_date": "2023-05-20 07:16:45"
            }]},
            "Entity": "192.0.2.1"
        }
    ]
Resultado do script

A tabela seguinte lista o valor do resultado do script quando usa a ação Scan IP:

Nome do resultado do script Valor
is_success True ou False

Analisar URL

Use a ação Analisar URL para analisar um URL com o VirusTotal.

Esta ação é executada na entidade URL do Google SecOps.

Dados de ações

A ação Analisar URL requer os seguintes parâmetros:

Parâmetro Descrição
Threshold

Obrigatório.

O limite para marcar deteções como suspeitas.

Se as deteções do motor malicioso atingirem ou excederem o limite definido, a ação marca a entidade como suspeita.

Rescan after days

Opcional.

O número de dias após a data de análise mais recente para voltar a analisar a entidade.

Resultados da ação

A ação Analisar URL fornece os seguintes resultados:

Tipo de saída da ação Disponibilidade
Fixação à parede da caixa Não disponível
Link da parede da caixa Não disponível
Mesa de parede para caixas Não disponível
Tabela de enriquecimento de entidades Disponível
Insight Disponível
Resultado JSON Disponível
Resultado do script Disponível
Tabela de enriquecimento de entidades

A ação Analisar URL pode enriquecer os seguintes campos:

Nome do campo de enriquecimento Lógica aplicável
Scan date Devolve se existir no resultado JSON.
Scan ID Devolve se existir no resultado JSON.
risk_score Devolve se existir no resultado JSON.
Total Devolve se existir no resultado JSON.
Online Link Devolve se existir no resultado JSON.
Scanned Url Devolve se existir no resultado JSON.
resource Devolve se existir no resultado JSON.
Detecting Engines Devolve se existir no resultado JSON.
Risk Score Devolve se existir no resultado JSON.
Last Scan Date Devolve se existir no resultado JSON.
verbose_msg Devolve se existir no resultado JSON.
File Scan ID Devolve se existir no resultado JSON.
Insight

A ação Analisar URL pode devolver a seguinte estatística:

Gravidade Descrição
Warn

A ação cria uma estatística de aviso para informar acerca do estado malicioso do URL enriquecido.

A ação só cria a estatística quando o número de motores detetados é igual ou superior ao limite mínimo de suspeitos que definiu antes da análise.

Resultado JSON

O exemplo seguinte mostra o resultado JSON recebido quando usa a ação Analisar URL:

[
    {
        "EntityResult": {
            "permalink": "https://www.virustotal.com/url/URL_HASH/analysis/ANALYSIS_ID/",
            "resource": "http://example.php",
            "url": "http://example.php",
            "response_code": 1,
            "scan_date": "2019-02-04 05:28:54",
            "scan_id": "URL_HASH-ANALYSIS_ID",
            "verbose_msg": "Scan finished, scan information embedded in this object",
            "filescan_id": null,
            "positives": 5,
            "total": 67,
            "scans": {
                "CLEAN MX": {
                    "detected": false,
                    "result": "clean site"
                },
                "DNS8": {
                    "detected": false,
                    "result": "clean site"
                }}},
        "Entity": "http://example.php"
    }
]
Resultado do script

A tabela seguinte lista o valor da saída do resultado do script quando usa a ação Analisar URL:

Nome do resultado do script Valor
is_risky True ou False

Carregue e analise ficheiros

Use a ação Carregar e analisar ficheiro para carregar e analisar um ficheiro com o VirusTotal.

Esta ação é executada em todas as entidades do Google SecOps.

Dados de ações

A ação Carregar e analisar ficheiro requer os seguintes parâmetros:

Parâmetro Descrição
Threshold

Obrigatório.

O número mínimo de deteções positivas dos verificadores do VirusTotal para considerar um ficheiro arriscado e acionar uma estatística.

O valor predefinido é 3.

File Paths

Obrigatório.

Uma lista de caminhos separados por vírgulas para carregar e analisar.

Linux Server Address

Opcional.

O endereço de um servidor Linux remoto onde os ficheiros estão localizados, como 192.0.2.1.

Linux User

Opcional.

O nome de utilizador para autenticar no servidor Linux remoto.

Linux Password

Opcional.

A palavra-passe para autenticar no servidor Linux remoto.

Resultados da ação

A ação Carregar e analisar ficheiro fornece os seguintes resultados:

Tipo de saída da ação Disponibilidade
Fixação à parede da caixa Não disponível
Link da parede da caixa Não disponível
Mesa de parede para caixas Não disponível
Tabela de enriquecimento de entidades Disponível
Insight Disponível
Resultado JSON Disponível
Resultado do script Disponível
Tabela de enriquecimento de entidades

A ação Carregar e analisar ficheiro pode enriquecer os seguintes campos:

Nome do campo de enriquecimento Lógica aplicável
resource Devolve se existir no resultado JSON.
Scan date Devolve se existir no resultado JSON.
Scan ID Devolve se existir no resultado JSON.
permalink Devolve se existir no resultado JSON.
Total Devolve se existir no resultado JSON.
Md5 Devolve se existir no resultado JSON.
Sha1 Devolve se existir no resultado JSON.
Sha256 Devolve se existir no resultado JSON.
positives Devolve se existir no resultado JSON.
total Devolve se existir no resultado JSON.
Detecting Engines Devolve se existir no resultado JSON.
verbose_msg Devolve se existir no resultado JSON.
Insight

A ação Carregar e analisar ficheiro pode devolver a seguinte estatística:

Gravidade Descrição
Warn

A ação cria uma estatística de aviso para informar sobre o estado malicioso do ficheiro enriquecido.

A ação só cria a estatística quando o número de motores detetados é igual ou superior ao limite mínimo de suspeitos que definiu antes da análise.

Resultado JSON

O exemplo seguinte mostra o resultado JSON recebido quando usa a ação Carregar e analisar ficheiro:

{
    "file_path": {
        "scan_id": "FILE_ID-ANALYSIS_ID",
        "sha1": "ec44b2af88e602e3981db0b218ecb5d59dc0dfec",
        "resource": "FILE_ID-ANALYSIS_ID",
        "response_code": 1,
        "scan_date": "2019-02-05 15:55:50",
        "permalink": "https://www.virustotal.com/file/FILE_ID/analysis/ANALYSIS_ID/",
        "verbose_msg": "Scan finished, information embedded",
        "total": 58,
        "positives": 0,
        "sha256": "FILE_ID",
        "md5": "848d57fbd8e29afa08bd3f58dd30f902",
        "scans": {
            "Bkav": {
                "detected": false,
                "version": "192.0.2.1",
                "result": null,
                "update": "20190201"
            },
            "MicroWorld-eScan": {
                "detected": false,
                "version": "14.0.297.0",
                "result": null,
                "update": "20190205"
            }
        }
    }
}
Resultado do script

A tabela seguinte lista o valor da saída do resultado do script quando usa a ação Carregar e analisar ficheiro:

Nome do resultado do script Valor
is_risky True ou False

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