Integra VirusTotal en Google SecOps
En este documento, se explica cómo integrar VirusTotal en Google Security Operations (Google SecOps).
Versión de integración: 39.0
Esta integración usa la versión 2 de la API de VirusTotal.
Esta integración usa uno o más componentes de código abierto. Puedes descargar una copia comprimida del código fuente completo de esta integración desde el bucket de Cloud Storage.
Antes de comenzar
Para usar la integración de VirusTotal, configura una clave de API.
Para configurar la clave de API, completa los siguientes pasos:
- Accede al portal de VirusTotal.
- Debajo de tu nombre de usuario, haz clic en Clave de API.
- Copia la clave de API generada para usarla en los parámetros de integración.
- Haz clic en Guardar.
Parámetros de integración
La integración de VirusTotal requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Api Key |
Obligatorio. Es la clave de API para acceder a VirusTotal. |
Verify SSL |
Opcional. Si se selecciona, la integración valida el certificado SSL cuando se conecta a VirusTotal. No está seleccionada de forma predeterminada. |
Si quieres obtener instrucciones para configurar una integración en Google SecOps, consulta Configura integraciones.
Si es necesario, puedes hacer cambios más adelante. Después de configurar una instancia de integración, puedes usarla en las guías. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta Compatibilidad con varias instancias.
Acciones
Para obtener más información sobre las acciones, consulta Cómo responder a las acciones pendientes de Tu Workdesk y Cómo realizar una acción manual.
Obtener informe de dominio
Usa la acción Get Domain Report para recuperar informes de dominios de VirusTotal para las entidades proporcionadas y enriquecer esas entidades dentro de la plataforma de Google SecOps.
Esta acción se ejecuta en las siguientes entidades de Google SecOps:
UserHostname
Entradas de acción
Ninguno
Resultados de la acción
La acción Get Domain Report proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento de entidades | Disponible |
| Resultado de JSON | Disponible |
| Resultado de secuencia de comandos | Disponible |
Tabla de enriquecimiento de entidades
La acción Get Domain Report puede enriquecer los siguientes campos:
| Nombre del campo de enriquecimiento | Lógica aplicable |
|---|---|
Forcepoint ThreatSeeker category |
Devuelve si existe en el resultado JSON. |
BitDefender domain info |
Devuelve si existe en el resultado JSON. |
Categories |
Devuelve si existe en el resultado JSON. |
BitDefender Category |
Devuelve si existe en el resultado JSON. |
Alexa Category |
Devuelve si existe en el resultado JSON. |
Alexa domain info |
Devuelve si existe en el resultado JSON. |
Websense ThreatSeeker category |
Devuelve si existe en el resultado JSON. |
TrendMicro category |
Devuelve si existe en el resultado JSON. |
Opera domain info |
Devuelve si existe en el resultado JSON. |
Webutation domain info |
Devuelve si existe en el resultado JSON. |
verbose_msg |
Devuelve si existe en el resultado JSON. |
whois |
Devuelve si existe en el resultado JSON. |
Resultado de JSON
En el siguiente ejemplo, se muestra el resultado JSON que se recibe cuando se usa la acción 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 de secuencia de comandos
En la siguiente tabla, se indica el valor del resultado de la secuencia de comandos cuando se usa la acción Get Domain Report:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
Hash del análisis
Usa la acción Scan Hash para analizar los hashes de archivos con VirusTotal, marcar entidades como sospechosas y mostrar estadísticas si la puntuación de riesgo coincide con un umbral determinado.
Esta acción se ejecuta en la entidad Filehash de Google SecOps.
Entradas de acción
La acción Scan Hash requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Threshold |
Obligatorio. Es el umbral para marcar las detecciones como sospechosas. Si las detecciones de motores maliciosos alcanzan o superan el umbral establecido, la acción marca la entidad como sospechosa. |
Rescan after days |
Opcional. Es la cantidad de días después de la fecha del análisis más reciente para volver a analizar la entidad. |
Resultados de la acción
La acción Scan Hash proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento de entidades | Disponible |
| Estadística | Disponible |
| Resultado de JSON | Disponible |
| Resultado de secuencia de comandos | Disponible |
Tabla de enriquecimiento de entidades
La acción Scan Hash puede enriquecer los siguientes campos:
| Nombre del campo de enriquecimiento | Lógica aplicable |
|---|---|
permalink |
Devuelve si existe en el resultado JSON. |
sha1 |
Devuelve si existe en el resultado JSON. |
resource |
Devuelve si existe en el resultado JSON. |
Scan date |
Devuelve si existe en el resultado JSON. |
Scan ID |
Devuelve si existe en el resultado JSON. |
verbose_msg |
Devuelve si existe en el resultado JSON. |
total |
Devuelve si existe en el resultado JSON. |
positives |
Devuelve si existe en el resultado JSON. |
sha256 |
Devuelve si existe en el resultado JSON. |
md5 |
Devuelve si existe en el resultado JSON. |
Detecting Engines |
Devuelve si existe en el resultado JSON. |
Estadística
La acción Scan Hash puede devolver la siguiente estadística:
| Gravedad | Descripción |
|---|---|
Warn |
La acción crea una estadística de advertencia para informar sobre el estado malicioso del hash enriquecido. La acción solo crea la estadística cuando la cantidad de motores detectados es igual o superior al umbral mínimo de sospecha que estableces antes del análisis. |
Resultado de JSON
En el siguiente ejemplo, se muestra el resultado JSON que se recibe cuando se usa la acción 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 de secuencia de comandos
En la siguiente tabla, se indica el valor del resultado del script cuando se usa la acción Scan Hash:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_risky |
True o False |
IP de análisis
Usa la acción Scan IP para recopilar la información que VirusTotal vio recientemente en una IP específica.
Esta acción se ejecuta en la entidad IP Address de Google SecOps.
Entradas de acción
La acción Scan IP requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Threshold |
Opcional. Es el umbral para marcar una dirección IP como sospechosa. Si las detecciones del motor malicioso alcanzan o superan el umbral establecido, la acción marca la dirección IP como sospechosa. El valor predeterminado es |
Resultados de la acción
La acción Scan IP proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento de entidades | Disponible |
| Estadísticas | Disponible |
| Resultado de JSON | Disponible |
| Resultado de secuencia de comandos | Disponible |
Tabla de enriquecimiento de entidades
La acción Scan IP puede enriquecer los siguientes campos:
| Nombre del campo de enriquecimiento | Lógica aplicable |
|---|---|
Country |
Devuelve si existe en el resultado JSON. |
Related Domains |
Devuelve si existe en el resultado JSON. |
Last Scan Date |
Devuelve si existe en el resultado JSON. |
verbose_msg |
Devuelve si existe en el resultado JSON. |
Resolutions |
Devuelve si existe en el resultado JSON. |
Estadísticas
La acción Scan IP puede devolver las siguientes estadísticas:
| Gravedad | Descripción |
|---|---|
Warn |
La acción crea una sugerencia de advertencia para informar sobre el estado malicioso de la dirección IP enriquecida. La acción solo crea la estadística cuando la cantidad de motores detectados es igual o superior al umbral mínimo de sospecha que estableces antes del análisis. |
| Nombre de la estadística | Cuerpo |
|---|---|
Entity Insight |
|
Resultado de JSON
En el siguiente ejemplo, se muestra el resultado JSON que se recibe cuando se usa la acción Scan 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 de secuencia de comandos
En la siguiente tabla, se indica el valor del resultado del script cuando se usa la acción Scan IP:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
Analizar URL
Usa la acción Scan URL para analizar una URL con VirusTotal.
Esta acción se ejecuta en la entidad URL de Google SecOps.
Entradas de acción
La acción Scan URL requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Threshold |
Obligatorio. Es el umbral para marcar las detecciones como sospechosas. Si las detecciones de motores maliciosos alcanzan o superan el umbral establecido, la acción marca la entidad como sospechosa. |
Rescan after days |
Opcional. Es la cantidad de días después de la fecha del análisis más reciente para volver a analizar la entidad. |
Resultados de la acción
La acción Scan URL proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento de entidades | Disponible |
| Estadística | Disponible |
| Resultado de JSON | Disponible |
| Resultado de secuencia de comandos | Disponible |
Tabla de enriquecimiento de entidades
La acción Scan URL puede enriquecer los siguientes campos:
| Nombre del campo de enriquecimiento | Lógica aplicable |
|---|---|
Scan date |
Devuelve si existe en el resultado JSON. |
Scan ID |
Devuelve si existe en el resultado JSON. |
risk_score |
Devuelve si existe en el resultado JSON. |
Total |
Devuelve si existe en el resultado JSON. |
Online Link |
Devuelve si existe en el resultado JSON. |
Scanned Url |
Devuelve si existe en el resultado JSON. |
resource |
Devuelve si existe en el resultado JSON. |
Detecting Engines |
Devuelve si existe en el resultado JSON. |
Risk Score |
Devuelve si existe en el resultado JSON. |
Last Scan Date |
Devuelve si existe en el resultado JSON. |
verbose_msg |
Devuelve si existe en el resultado JSON. |
File Scan ID |
Devuelve si existe en el resultado JSON. |
Estadística
La acción Analizar URL puede devolver la siguiente estadística:
| Gravedad | Descripción |
|---|---|
Warn |
La acción crea una sugerencia de advertencia para informar sobre el estado malicioso de la URL enriquecida. La acción solo crea la estadística cuando la cantidad de motores detectados es igual o superior al umbral mínimo de sospecha que estableces antes del análisis. |
Resultado de JSON
En el siguiente ejemplo, se muestra el resultado JSON que se recibe cuando se usa la acción Escanear 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 de secuencia de comandos
En la siguiente tabla, se indica el valor del resultado de la secuencia de comandos cuando se usa la acción Analizar URL:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_risky |
True o False |
Subir y analizar archivo
Usa la acción Upload and Scan File para subir y analizar un archivo con VirusTotal.
Esta acción se ejecuta en todas las entidades de SecOps de Google.
Entradas de acción
La acción Upload and Scan File requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Threshold |
Obligatorio. Es la cantidad mínima de detecciones positivas de los analizadores de VirusTotal para considerar que un archivo es riesgoso y activar una sugerencia. El valor predeterminado es |
File Paths |
Obligatorio. Es una lista separada por comas de las rutas de acceso que se deben subir y analizar. |
Linux Server Address |
Opcional. Dirección de un servidor Linux remoto en el que se encuentran los archivos, como |
Linux User |
Opcional. Nombre de usuario para autenticarse en el servidor Linux remoto. |
Linux Password |
Opcional. Contraseña para autenticarse en el servidor Linux remoto. |
Resultados de la acción
La acción Subir y analizar archivo proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento de entidades | Disponible |
| Estadística | Disponible |
| Resultado de JSON | Disponible |
| Resultado de secuencia de comandos | Disponible |
Tabla de enriquecimiento de entidades
La acción Subir y analizar archivo puede enriquecer los siguientes campos:
| Nombre del campo de enriquecimiento | Lógica aplicable |
|---|---|
resource |
Devuelve si existe en el resultado JSON. |
Scan date |
Devuelve si existe en el resultado JSON. |
Scan ID |
Devuelve si existe en el resultado JSON. |
permalink |
Devuelve si existe en el resultado JSON. |
Total |
Devuelve si existe en el resultado JSON. |
Md5 |
Devuelve si existe en el resultado JSON. |
Sha1 |
Devuelve si existe en el resultado JSON. |
Sha256 |
Devuelve si existe en el resultado JSON. |
positives |
Devuelve si existe en el resultado JSON. |
total |
Devuelve si existe en el resultado JSON. |
Detecting Engines |
Devuelve si existe en el resultado JSON. |
verbose_msg |
Devuelve si existe en el resultado JSON. |
Estadística
La acción Subir y analizar archivo puede devolver la siguiente estadística:
| Gravedad | Descripción |
|---|---|
Warn |
La acción crea una sugerencia de advertencia para informar sobre el estado malicioso del archivo enriquecido. La acción solo crea la estadística cuando la cantidad de motores detectados es igual o superior al umbral mínimo de sospecha que estableces antes del análisis. |
Resultado de JSON
En el siguiente ejemplo, se muestra el resultado JSON que se recibe cuando se usa la acción Upload and Scan File:
{
"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 de secuencia de comandos
En la siguiente tabla, se indica el valor del resultado de la secuencia de comandos cuando se usa la acción Upload and Scan File:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_risky |
True o False |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.