Digital Shadows

本文档介绍了如何将 Digital Shadows 与 Google Security Operations 集成。

使用场景

Digital Shadows 集成用作提醒来源并丰富实体。

前提条件

如需使用 Digital Shadows API,您需要提供 API 密钥。

对所有操作端点的请求都需要 HTTP 基本身份验证和专用(高熵)API 凭据,这些凭据通常由 6 个字符的密钥和 32 个字符的密钥组成。

将 Digital Shadows 与 Google Security Operations 集成

有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成。

集成输入

如需配置集成,请使用以下参数:

参数
Instance Name 可选

您要为其配置集成的实例的名称。

Description 可选

实例说明。

API Key 必需

Digital Shadow API 密钥。

API Secret 可选

Digital Shadow API 密钥。

Run Remotely 可选

勾选此字段可远程运行配置的集成。选中后,系统会显示选择远程用户(代理)的选项。

默认情况下处于未选中状态。

操作

扩充 CVE

使用 Digital Shadows 信息丰富 CVE。

分析师可以使用此操作来获取有关特定 CVE 的更多信息,这有助于调查。

实体

此操作在 CVE 实体上运行。

操作输入

不适用

操作输出

操作输出类型
案例墙附件 不适用
案例墙链接 可用
案例墙表格 不适用
丰富化表 可用
JSON 结果 可用
脚本结果 可用
实体丰富化
扩充项字段 来源(JSON 密钥) 逻辑
DigitalShadows_Exploit_title entity/title 如果 JSON 结果中包含此信息。
DigitalShadows_Exploit_type entity/type 如果 JSON 结果中包含此信息。
DigitalShadows_Exploit_platform entity/platform 如果 JSON 结果中包含此信息。
DigitalShadows_Exploit_source entity/sourceUri 如果 JSON 结果中包含此信息。
DigitalShadows_Vulnerability_sourceURL entity/sourceUri 如果 JSON 结果中包含此信息。
DigitalShadows_Vulnerability_description entity/description 如果 JSON 结果中包含此信息。
DigitalShadows_Vulnerability_score entity/cvss2Score/baseScore 如果 JSON 结果中包含此信息。
DigitalShadows_Vulnerability_authentication entity/cvss2Score/authentication 如果 JSON 结果中包含此信息。
DigitalShadows_Vulnerability_accessVector entity/cvss2Score/accessVector 如果 JSON 结果中包含此信息。
DigitalShadows_Vulnerability_accessComplexity entity/cvss2Score/accessComplexity 如果 JSON 结果中包含此信息。
DigitalShadows_Vulnerability_confidentialityImpact entity/cvss2Score/confidentialityImpact 如果 JSON 结果中包含此信息。
DigitalShadows_Vulnerability_integrityImpact entity/cvss2Score/integrityImpact 如果 JSON 结果中包含此信息。
DigitalShadows_Vulnerability_availabilityImpact entity/cvss2Score/availabilityImpact 如果 JSON 结果中包含此信息。
脚本结果
脚本结果名称 值
is_success True/False
JSON 结果
{
    "content": [
        {
            "entity": {
                "cveIdentifier": "CVE-2011-0489",
                "created": "2011-01-18T18:03:00.000Z",
                "updated": "2017-08-17T01:33:00.000Z",
                "sourceUri": "https://nvd.nist.gov/vuln/detail/CVE-2011-0489",
                "description": "The server components in Example_DB 10.0 do not require authentication for administrative commands, which allows remote attackers to modify data, obtain sensitive information, or cause a denial of service by sending requests over TCP to (1) the Lock Server or (2) the Advanced Multithreaded Server, as demonstrated by commands that are ordinarily sent by the (a) ookillls and (b) oostopams applications.  NOTE: some of these details are obtained from third party information.",
                "relatedCPEs": [
                    "cpe:/a:example:example%2fdb:10.0"
                ],
                "cvss2Score": {
                    "baseScore": 7.5,
                    "authentication": "NONE",
                    "accessVector": "NETWORK",
                    "accessComplexity": "LOW",
                    "confidentialityImpact": "PARTIAL",
                    "integrityImpact": "PARTIAL",
                    "availabilityImpact": "PARTIAL"
                }
            },
            "type": "VULNERABILITY",
            "snippet": "CVE ID: CVE-2011-0489</em><br><br>",
            "sortDate": "2017-08-17T01:33:00.000Z"
        },
        {
            "entity": {
                "id": "f75754b5-65a3-46ee-bea7-e0f015a5283d",
                "uri": "http://example.com",
                "pasted": "2018-01-05T09:10:02.000Z",
                "observableCounts": {
                    "ipV4": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "email": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "md5": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "sha1": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "sha256": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "host": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "cve": {
                        "count": 100,
                        "exceededMaximum": true
                    }
                },
                "screenshot": {
                    "id": "3ab6b3cb-349d-4ed7-b150-773454a11908",
                    "link": "https://example.com"
                },
                "screenshotThumbnail": {
                    "id": "7529cf75-5ddb-4e2d-8fc9-f3531e33704e",
                    "link": "https://example.com"
                }
            },
            "type": "PASTE",
            "snippet": "&quot;\n  ], \n  &quot;CVE-2002-1656&quot;: [\n    &quot;3043&quot;\n  ], \n  &quot;CVE-2003-0347&quot;: [\n    &quot;23094&quot;\n  ], \n  &quot;<em>CVE</em>-<em>2011</em>-<em>0489</em>&quot;: [\n    &quot;15988",
            "sortDate": "2018-01-05T09:10:02.000Z"
        },
            "type": "PASTE",
            "snippet": ") sequences in a crafted request.\n| [<em>CVE</em>-<em>2011</em>-<em>0489</em>] The server components in Example_DB 10.0 do ...  in a crafted request.\n| [<em>CVE</em>-<em>2011</em>-<em>0489</em>] The server components in Example_DB 10.0 do not require ...  request.\n| [<em>CVE</em>-<em>2011</em>-<em>0489</em>] The server components in Example_DB 10.0 do not require ...  files via &quot;../\\&quot; (dot dot forward-slash backslash) sequences in a crafted request.\n| [<em>CVE</em>-<em>2011</em>-<em>0489</em>",
            "sortDate": "2019-07-23T21:35:39.000Z"
        }
    ],
    "currentPage": {
        "offset": 0,
        "size": 50
    },
    "total": 4,
    "facets": {}
}
案例墙

该操作会提供以下输出消息:

输出消息 消息说明

Successfully enriched CVE.

No CVEs were enriched.

操作成功。
Error executing action "Enrich CVE". Reason: ERROR_REASON

操作失败。

请检查与服务器的连接、输入参数或凭据。

  • 如果 JSON 响应中包含 TYPE=Exploit:

    标题:漏洞利用来源网址

    链接:entity/sourceUri

  • 如果 JSON 响应中包含 TYPE=Vulnerability:

    标题:漏洞来源网址:

    链接:entity/sourceUri

  • 对于返回数据的所有实体:

    标题:完整数字影子搜索结果

    链接:https://portal-digitalshadows.com/search?q=ENTITY

丰富哈希值 - 已弃用

使用 Digital Shadows 信息丰富哈希。

使用场景

分析师可以使用此操作来收集更多详细信息,例如,它是否是有助于调查的安全哈希。

运行时间

此操作在 Filehash 实体上运行。

操作执行结果

实体丰富化
扩充项字段名称 来源(JSON 密钥) 逻辑 - 适用情形
DigitalShadows_CylanceFileHash_generalScore entity/fileHashInfo/generalScore 如果 JSON 结果中包含此信息。
DigitalShadows_CylanceFileHash_classifier_ml entity/fileHashInfo/classifiers/ml 如果 JSON 结果中包含此信息。
DigitalShadows_CylanceFileHash_classifier_industry entity/fileHashInfo/classifiers/industry 如果 JSON 结果中包含此信息。
DigitalShadows_CylanceFileHash_classifier_human entity/fileHashInfo/classifiers/human

如果 JSON 结果中包含此信息。

DigitalShadows_WebrootFileHash_category 实体/类别 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootFileHash_malwareCategory entity/malwareCategory 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootFileHash_fileSizeBytes entity/fileSizeBytes 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootFileHash_fileLastSeen entity/fileLastSeen 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootFileHash_sourceUrls entity/sourceUrls 如果 JSON 结果中有数据,空列表应被忽略。
脚本结果
脚本结果名称 “值”选项 示例
is_success True/False is_success:False
JSON 结果
 {
    "content": [
        {
            "entity": {
                "requestedHash": "617f7301fd67e8b5d8ad42d4e94e02cb313fe5ad51770ef93323c6115e52fe98",
                "status": 0,
                "fileHashInfo": {
                    "status": "COMPLETE",
                    "statusCode": 1,
                    "generalScore": -1.0,
                    "classifiers": {
                        "ml": 1.0,
                        "industry": -1.0,
                        "human": -1.0
                    },
                    "hashes": {
                        "sha256": "617F7301FD67E8B5D8AD42D4E94E02CB313FE5AD51770EF93323C6115E52FE98",
                        "sha1": "CF0743ED381ADE69BBA3D1DD3D357A8300BCD4AE",
                        "md5": "8FE94843A3E655209C57AF587849AC3A"
                    }
                }
            },
            "type": "CYLANCE_FILE_HASH"
        },
              {
            "entity": {
                "id": "7ab729ab-2176-4072-8fcc-483410e7949d",
                "uri": "http://example.com",
                "title": "Malware hashes",
                "pasted": "2019-12-07T04:01:21.000Z",
                "observableCounts": {
                    "ipV4": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "email": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "md5": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "sha1": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "sha256": {
                        "count": 45,
                        "exceededMaximum": false
                    },
                    "host": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "cve": {
                        "count": 0,
                        "exceededMaximum": false
                    }
                },
                "screenshot": {
                    "id": "a358a7fd-ce76-4ac0-a338-7a17c5affcca",
                    "link": "https://example.com"
                },
                "screenshotThumbnail": {
                    "id": "2a98b417-1846-47ca-835f-b4be580cfdc2",
                    "link": "https://example.com"
                }
            },
            "type": "PASTE",
            "snippet": "617f7301fd67e8b5d8ad42d4e94e02cb313fe5ad51770ef93323c6115e52fe98\n137e17ed0c693f5ba23c3f3bf252f7edc29548d97f426625a4e0c5fea0558e45",
            "sortDate": "2019-12-07T04:01:21.000Z"
        },
        {
            "entity": {
                "id": "e05f1f61-5996-4ff9-b656-5d7fe856e459",
                "uri": "http://example.com",
                "pasted": "2017-12-27T08:53:14.000Z",
                "observableCounts": {
                    "ipV4": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "email": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "md5": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "sha1": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "sha256": {
                        "count": 100,
                        "exceededMaximum": true
                    },
                    "host": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "cve": {
                        "count": 0,
                        "exceededMaximum": false
                    }
                },
                "screenshot": {
                    "id": "d41fd1d9-aa0c-411d-87f5-824d036e9843",
                    "link": "https://example.com"
                },
                "screenshotThumbnail": {
                    "id": "ab91eba6-f8fd-4a7e-a3b4-6b100ee50789",
                    "link": "https://example.com"
                }
            },
            "type": "PASTE",
            "snippet": "617F7301FD67E8B5D8AD42D4E94E02CB313FE5AD51770EF93323C6115E52FE98",
            "sortDate": "2017-12-27T08:53:14.000Z"
        }
    ],
    "currentPage": {
        "offset": 0,
        "size": 25
    },
    "total": 4,
    "facets": {}
 }
 
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败或停止 playbook 执行:

如果未返回错误,并且返回了实体的数据:
输出“已使用提供的连接参数成功连接到 Digital Shadows!

如果未发生错误,且未返回任何实体数据:
输出“No hashes were enriched”(未丰富任何哈希)。

操作应失败并停止 playbook 执行:

如果出现错误:

输出“执行‘丰富哈希’操作时出错”。 Reason: {0}''.format(error.Stacktrace)

常规
链接

对于返回数据的所有实体:

Title: Full Digital Shadows Search Result

链接: https://portal-digitalshadows.com/search?q=ENTITY

实体

丰富 IP - 已弃用

使用 Digital Shadows 信息丰富 IP。

使用场景

分析师可以使用此操作来获取有关 IP 地址的更多信息,这有助于调查。

运行时间

此操作在 IP 地址实体上运行。

操作执行结果

实体丰富化
扩充项字段名称 来源(JSON 密钥) 逻辑 - 适用情形
DigitalShadows_WebrootIP_reputationScore entity/reputationScore 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootIP_asn entity/asn 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootIP_currentlyClassifiedAsThreat entity/currentlyClassifiedAsThreat 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootIP_ipThreatHistory entity/ipThreatHistory 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootIP_country entity/ipGeoInfo/国家/地区 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootIP_region entity/ipGeoInfo/区域 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootIP_state entity/ipGeoInfo/state 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootIP_city entity/ipGeoInfo/city 如果 JSON 结果中包含此信息。
脚本结果
脚本结果名称 “值”选项 示例
is_success True/False is_success:False
JSON 结果
 {
    "content": [
        {
            "entity": {
                "ipAddress": "192.0.2.1",
                "updatedDateTime": "2020-02-21T01:10:01.000Z",
                "reputationScore": 18,
                "asn": 13335,
                "currentlyClassifiedAsThreat": false,
                "threatCategories": [],
                "ipThreatHistory": [],
                "ipReputationHistory": [
                    {
                        "timestamp": "2020-02-21T01:10:01.000Z",
                        "reputation": 18
                    },
                    {
                        "timestamp": "2020-02-07T01:10:02.000Z",
                        "reputation": 29
                    }
                ],
                "ipIncidentHistory": [
                    {
                        "classifiedAsThreat": false,
                        "startDateTime": "2019-07-15T00:37:12.000Z",
                        "durationSeconds": 0,
                        "numberOfAttempts": 0,
                        "eventType": "Phishing IPs",
                        "threatType": "Phishing",
                        "eventDescription": "IP hosts phishing sites",
                        "applications": [],
                        "hostingPhishUrls": [
                            "example.net"
                        ],
                        "scanDetails": [],
                        "attackDetails": []
                    },
                    {
                        "classifiedAsThreat": false,
                        "startDateTime": "2018-07-21T00:23:27.000Z",
                        "durationSeconds": 0,
                        "numberOfAttempts": 0,
                        "eventType": "Phishing IPs",
                        "threatType": "Phishing",
                        "eventDescription": "IP hosts phishing sites",
                        "applications": [],
                        "hostingPhishUrls": [
                            "example.net"
                        ],
                        "scanDetails": [],
                        "attackDetails": []
                    }
                ],
                "ipGeoInfo": {
                    "country": "united states",
                    "region": "mid atlantic",
                    "state": "new jersey",
                    "city": "newark",
                    "latitude": "40.73873",
                    "longitude": "-74.19453",
                    "organization": "example  inc.",
                    "carrier": "example",
                    "tld": "",
                    "sld": "",
                    "asn": "example_isn"
                }
            },
            "type": "WEBROOT_IP"
        },
        {
            "entity": {
                "id": "0007b64b-ef21-4b5f-a0c2-1e469ceb6896",
                "uri": "http://example.com",
                "pasted": "2019-10-23T13:32:46.000Z",
                "observableCounts": {
                    "ipV4": {
                        "count": 100,
                        "exceededMaximum": true
                    },
                    "email": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "md5": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "sha1": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "sha256": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "host": {
                        "count": 0,
                        "exceededMaximum": false
                    },
                    "cve": {
                        "count": 0,
                        "exceededMaximum": false
                    }
                },
                "screenshot": {
                    "id": "b019cfcf-2d36-4bcd-9bf3-69fa67b5ec6d",
                    "link": "https://example.com"
                },
                "screenshotThumbnail": {
                    "id": "57af6550-6690-478f-8ba5-640a5560311a",
                    "link": "https://example.com"
                }
            },
            "type": "PASTE",
            "snippet": "192.0.2.1\n192.0.2.2\n192.0.2.3\n192.0.2.4\n192.0.2.5\n192.0.2.6\n192.0.2.7",
            "sortDate": "2019-10-23T13:32:46.000Z"
        }
    ],
    "currentPage": {
        "offset": 0,
        "size": 50
    },
    "total": 10,
    "facets": {}
 }
 
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败或停止 playbook 执行:

如果未返回错误,并且返回了实体的数据:
输出“Successfully enriched IP addresses {0}”.format(entity)

如果未发生错误,且未返回任何实体数据:
输出“未丰富任何 IP 地址”。

操作应失败并停止 playbook 执行:

如果出现错误:

输出“执行‘丰富 IP’操作时出错。原因:{0}”。 format(error.Stacktrace)

常规
链接

对于返回数据的所有实体:

Title: Full Digital Shadows Search Result

链接:https://portal-digitalshadows.com/search?q= ENTUTY

实体

扩充网址

使用 Digital Shadows 信息扩充网址。

分析师可以使用此操作来获取有关特定网址地址的更多信息,这有助于调查。

实体

此操作在网址实体上运行。

操作输入

不适用

操作输出

操作输出类型
案例墙附件 不适用
案例墙链接 可用
案例墙表格 不适用
丰富化表 可用
JSON 结果 可用
脚本结果 可用
实体丰富化
扩充项字段 来源(JSON 密钥) 逻辑
DigitalShadows_WebrootDomain_timesLabeledAsThreat entity/threatHistory 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootDomain_age entity/age 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootIP_popularity entity/popularity 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootIP_reputation entity/reputation 如果 JSON 结果中包含此信息。
DigitalShadows_WebrootIP_threatCategories entity/threatCategories 如果 JSON 结果中包含此信息。
脚本结果
脚本结果名称 值
is_success True/False
JSON 结果
{
    "content": [
        {
            "entity": {
                "domainOrUrl": "www.example.com",
                "lastUpdated": "2020-02-25T12:08:20.944Z",
                "threatCategories": [
                    {
                        "confidence": 93,
                        "group": "Security",
                        "name": "Malware Sites"
                    }
                ],
                "reputation": 10,
                "popularity": "UNRANKED",
                "age": 82,
                "threatHistory": 1,
                "webrootCrawlHistory": [],
                "domainHostedHashes": []
            },
            "type": "WEBROOT_DOMAIN"
        }
    ],
    "currentPage": {
        "offset": 0,
        "size": 50
    },
    "total": 66,
    "facets": {}
}
案例墙

该操作会提供以下输出消息:

输出消息 消息说明

Successfully enriched URLs: URLS

No URLs were enriched.

操作成功。
Error executing action "Enrich URL". Reason: ERROR_REASON

操作失败。

请检查与服务器的连接、输入参数或凭据。

对于返回数据的所有实体:

标题:Full Digital Shadow 搜索结果
链接:https://portal-digitalshadows.com/search?q=ENTITY

Ping

使用 Google SecOps Content Hub 页面中的集成配置页面上提供的参数,测试与 Digital Shadows 的连接。

此操作可以手动执行,不使用 playbook。

实体

此操作不会对实体执行。

操作输入

不适用

操作输出

操作输出类型
案例墙附件 不适用
案例墙链接 可用
案例墙表格 不适用
丰富化表 不适用
JSON 结果 不适用
脚本结果 可用
脚本结果
脚本结果名称 值
is_success True/False
案例墙

该操作会提供以下输出消息:

输出消息 消息说明
Successfully connected to the Digital Shadows with the provided connection parameters! 操作成功。
Error executing action "Ping". Reason: ERROR_REASON

操作失败。

请检查与服务器的连接、输入参数或凭据。

对于返回数据的所有实体:

标题:Full Digital Shadow 搜索结果
链接:https://portal-digitalshadows.com/search?q=ENTITY

连接器

如需详细了解如何在 Google SecOps 中配置连接器,请参阅配置连接器。

Digital Shadows - Incident Connector

将 Digital Shadows 中的突发事件注入 Google SecOps。

连接器输入

如需配置连接器,请使用以下参数:

参数
Product Field Name 必需

输入要检索 Product Field 名称的源字段名称。

默认值为 Product Name。

Event Field Name 必需

输入要检索Event Field名称的源字段名称。

默认值为 type。

Environment Field Name 可选

存储环境名称的字段的名称。

如果未找到环境字段,则使用默认环境。

默认值为 ""。

Environment Regex Pattern 可选

要在 Environment Field Name 字段中找到的值上运行的正则表达式模式。

默认值 .* 会捕获所有内容并返回未更改的值。

该参数可让您使用正则表达式逻辑来操纵环境字段。

如果正则表达式模式为 null 或为空,或者环境值为 null,则使用默认环境。

Script Timeout (Seconds) 必需

运行当前脚本的 Python 进程的超时限制。

默认值为 180 秒。

API Key 必需

Digital Shadow API 密钥。

API secret 必需

Digital Shadow API 密钥。

Client Secret 必需

CrowdStrike 账号的客户端密钥。

Fetch Max Hours Backwards 可选

从当前时间往前推,要检索多少小时内的突发事件。

默认值为 1 小时。

Lowest Severity To Fetch 必需

要提取的突发事件的最低严重程度得分。

可能的值包括:

  • VERY_HIGH
  • HIGH
  • MEDIUM
  • LOW
  • VERY_LOW
  • NONE

默认值为 NONE。

Incident Type Filter 可选

应注入 Google SecOps 的突发事件类型的逗号分隔列表。

默认情况下,连接器会检索所有突发事件类型。

可能的值包括:

  • DATA_LEAKAGE
  • CYBER_THREAT
  • PHYSICAL_SECURITY
  • SOCIAL_MEDIA_COMPLIANCE
  • BRAND_PROTECTION
  • INFRASTRUCTURE
Max Incidents To Fetch 可选

每次连接器迭代要处理的突发事件数量。

默认值为 50。

Use whitelist as a blacklist 必需

如果选中,则动态列表将用作屏蔽名单。

默认情况下处于未选中状态。

Verify SSL 必需

如果选中此选项,系统会验证与 CrowdStrike 服务器连接的 SSL 证书是否有效。

默认情况下处于未选中状态。

Proxy Server Address 可选

要使用的代理服务器的地址。

Proxy Username 可选

用于进行身份验证的代理用户名。

Proxy Password 可选

用于进行身份验证的代理密码。

连接器规则

连接器支持代理。

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。