将 ANY.RUN 与 Google SecOps 集成

集成版本:7.0

本文档介绍了如何将 ANY.RUN 与 Google Security Operations (Google SecOps) 集成。

产品权限

集成正在使用 API 密钥身份验证。您可以在 ANY.RUN 页面上生成新的 API 密钥。

集成参数

如需详细了解如何在 Google SecOps 中配置集成,请参阅配置集成

使用以下参数配置集成:

参数名称 类型 默认值 是否为必需参数 说明
实例名称 字符串 不适用 您打算为之配置集成的实例的名称。
说明 字符串 不适用 实例的说明。
API 密钥 密码 不适用 用于集成的 API 密钥。
远程运行 复选框 尚未核查 选中相应字段,以便远程运行配置的集成。选中后,系统会显示用于选择远程用户(客服人员)的选项。

如需了解如何在 Google SecOps 中配置集成,请参阅配置集成

如有需要,您可以在稍后阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例

操作

如需详细了解操作,请参阅 在工作台页面中处理待处理的操作执行手动操作

分析文件

创建 ANY.RUN 文件分析任务。

此操作不适用于 Google SecOps 实体。应将要分析的文件的完整路径作为操作输入参数提供。

参数

参数名称 类型 默认值 是否为必需参数 说明
文件路径 字符串 不适用 指定要分析的文件的完整路径。
等待报告? 复选框 勾选 指定操作是否应等待报告创建完成。扫描完成后,您也可以稍后通过“获取报告”操作获取报告。
阈值 整数 0 如果选中“等待报告”复选框,则当实体的报告风险值高于指定阈值时,将该实体标记为可疑。
尝试创建提交 x 次 整数 30 操作应尝试多少次来检查是否未超出 API 并发限制,并尝试创建新的提交。每 2 秒进行一次检查。
操作系统版本 DDL

7

可能的值:

  • 7
  • 8.1
  • 10
要运行分析的操作系统版本。
操作系统位数 DDL

32

可能的值:

  • 32
  • 64
操作系统的位数
操作系统环境类型 DDL

完成

可能的值:

  • 完成
  • office
  • clean
要运行分析的环境类型。
网络连接状态 DDL 开启

可能的值:

    开启
  • 关闭
用于分析的网络连接状态。
FakeNet 功能状态 DDL

false

可能的值:

  • true
  • false
用于分析的 FakeNet 功能状态。
使用 TOR DDL

false

可能的值:

  • true
  • false
运行分析时是否使用 TOR。
opt_network_mitm DDL

false

可能的值:

  • true
  • false
HTTPS MITM 代理选项。
opt_network_geo DDL

最快

可能的值:

  • 最快
  • AU
  • BR
  • DE
  • CH
  • FR
  • KR
  • 美国
  • RU
  • GB
  • IT
地理定位选项。
opt_network_heavyevasion DDL

false

可能的值:

  • true
  • false
严重规避选项。
opt_privacy_type DDL

通过链接

可能的值:

  • 通过链接
  • 公开
  • 所有者
  • 按团队
分析的隐私设置。
opt_timeout 字符串 60 分析的超时时间段,范围为 10 到 600 秒。
obj_ext_startfolder DDL

temp

可能的值:

  • temp
  • 桌面设备
  • home
  • downloads
  • appdata
  • 窗口
  • root
分析的起始位置。

使用场景

分析已审核的提醒所涉及的文件,以确定其是否为恶意文件。

运行于

此操作不会在实体上运行。

操作结果

实体丰富化

如果负面引擎的数量达到或超过指定阈值,则将实体标记为可疑。if data.get("report", {}).get("risk_score", {}).get("result") > threshold

扩充项字段名称 逻辑 - 应用场景
domain_blacklist 如果存在于 JSON 结果中,则返回
html_forms 如果存在于 JSON 结果中,则返回
server_details 如果存在于 JSON 结果中,则返回
response_headers 如果存在于 JSON 结果中,则返回
重定向 如果存在于 JSON 结果中,则返回
file_type 如果存在于 JSON 结果中,则返回
risk_score 如果存在于 JSON 结果中,则返回
security_checks 如果存在于 JSON 结果中,则返回
geo_location 如果存在于 JSON 结果中,则返回
url_parts 如果存在于 JSON 结果中,则返回
site_category 如果存在于 JSON 结果中,则返回
web_page 如果存在于 JSON 结果中,则返回
dns_records 如果存在于 JSON 结果中,则返回
脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success:False
JSON 结果

选项 1:如果未设置“等待报告”复选框,则返回有关已创建的分析任务的信息(对请求 1 的响应)

{
    "error": false,
    "data": {
        "taskid": "TASK_ID"
    }
}

方法 2. 如果未设置“等待报告”复选框,则返回有关已创建的分析任务的信息(对请求 1 的响应)

{
    "error": false,
    "data": {
        "analysis": {
            "uuid": "UUID",
            "permanentUrl": "https://app.any.run/tasks/UUID",
            "reports": {
                "IOC": "https://api.any.run/report/UUID/ioc/json",
                "MISP": "https://api.any.run/report/UUID/summary/misp",
                "HTML": "https://api.any.run/report/UUID/summary/html",
                "graph": "https://content.any.run/tasks/UUID/graph"
            },
            "sandbox": {
                "name": "ANY.RUN - Interactive Sandbox",
                "plan": {
                    "name": "Tester"
                }
            },
            "duration": 60,
            "creation": 1602483368256,
            "creationText": "2020-10-12T06:16:08.256Z",
            "tags": [],
            "options": {
            }
        }
    }
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功为所提供的文件创建了分析任务: “Successfully created analysis task for file: {0}".format(file_path)。

如果无法为所提供的文件创建分析任务: “Failed to create ANY.RUN analysis task for file: {0}".format(file_path)。

如果选中“等待报告”复选框,并且由于 Python 进程超时即将到来而完成操作,则打印“Action reached timeout waiting for report for file: {0}".format(file_path)。

操作应失败并停止 playbook 执行

如果报告了严重错误(例如凭据错误或连接丢失): “Failed to connect to the ANY.RUN service!错误为 {0}".format(exception.stacktrace)

常规

分析文件网址

创建 ANY.RUN 文件分析任务。

此操作不适用于 Google SecOps 实体,应将要分析的文件对应的网址作为操作输入参数提供。

参数

参数名称 类型 默认值 是否为必需参数 说明
文件网址 字符串 不适用 指定要下载和分析的文件的网址。
隐藏来源网址? 复选框 尚未核查 指定是否隐藏下载文件的源网址。
等待报告? 复选框 勾选 指定操作是否应等待报告创建完成。扫描完成后,您也可以稍后通过“获取报告”操作获取报告。
阈值 整数 0 如果选中“等待报告”复选框,则当实体的报告风险值高于指定阈值时,将该实体标记为可疑。
尝试创建提交 x 次 整数 30 操作应尝试多少次来检查是否未超出 API 并发限制,并尝试创建新的提交。每 2 秒进行一次检查。
操作系统版本 DDL 7 要运行分析的操作系统版本。
操作系统位数 DDL 32 操作系统的位数
操作系统环境类型 DDL 完成 要运行分析的环境类型。
网络连接状态 DDL 开启 用于分析的网络连接状态。
FakeNet 功能状态 DDL 错误 用于分析的 FakeNet 功能状态。

使用 TOR

DDL 错误 运行分析时是否使用 TOR。

opt_network_mitm

DDL 错误 HTTPS MITM 代理选项。
opt_network_geo DDL 最快 地理定位选项。
opt_network_heavyevasion DDL 错误 严重规避选项。
opt_privacy_type DDL

通过链接

可能的值:

  • 通过链接
  • 公开
  • 所有者
  • 按团队
分析的隐私设置。

opt_timeout

字符串 60 分析的超时时间段,范围为 10 到 600 秒。

obj_ext_startfolder

DDL temp 分析的起始位置。

使用场景

分析已审核的提醒所涉及的文件,以确定其是否为恶意文件。

运行于

此操作不适用于实体。

操作结果

实体丰富化

如果负面引擎的数量等于或高于给定的阈值,则将实体标记为可疑。is_suspicious:如果 data.get("score") > threshold

扩充项字段名称 逻辑 - 应用场景
域名 如果存在于 JSON 结果中,则返回
should_block 如果存在于 JSON 结果中,则返回
得分 如果存在于 JSON 结果中,则返回
一次性 如果存在于 JSON 结果中,则返回
has_mx_records 如果存在于 JSON 结果中,则返回
has_spf_records 如果存在于 JSON 结果中,则返回
脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success:False
JSON 结果

选项 1:如果未设置“等待报告”复选框,则返回有关已创建的分析任务的信息(对请求 1 的响应)

{
    "error": false,
    "data": {
        "taskid": "TASK_ID"
    }
}

选项 2:如果未设置“等待报告”复选框,则返回有关已创建的分析任务的信息(对请求 1 的响应)

{
    "error": false,
    "data": {
        "analysis": {
            "uuid": "UUID",
            "permanentUrl": "https://app.any.run/tasks/UUID",
            "reports": {
                "IOC": "https://api.any.run/report/UUID/ioc/json",
                "MISP": "https://api.any.run/report/UUID/summary/misp",
                "HTML": "https://api.any.run/report/UUID/summary/html",
                "graph": "https://content.any.run/tasks/UUID/graph"
            },
            "sandbox": {
                "name": "ANY.RUN - Interactive Sandbox",
                "plan": {
                    "name": "Tester"
                }
            },
            "duration": 60,
            "creation": 1602483368256,
            "creationText": "2020-10-12T06:16:08.256Z",
            "tags": [],
            "options": {
            }
        }
    }
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功为所提供的文件创建了分析任务: “Successfully created analysis task for file: {0}".format(file_path)。

如果无法为所提供的文件创建分析任务: 无法为文件“{0}”创建 ANY.RUN 分析任务。format(file_path)。

如果选中“等待报告”复选框,并且我们因 Python 进程超时即将到来而完成操作: “Action reached timeout waiting for report for file: {0}".format(file_path)。

操作应失败并停止 playbook 执行

如果报告了严重错误(例如凭据错误或连接丢失): “Failed to connect to the ANY.RUN service!错误为 {0}".format(exception.stacktrace)

常规

分析网址

为提供的网址创建 ANY.RUN 分析任务。

此操作不支持 Google SecOps 实体。必须提供要分析的网址作为输入参数。

参数

参数名称 类型 默认值 是否为必需参数 说明
用于分析的网址 字符串 不适用 指定要分析的网址。
等待报告? 复选框 勾选 指定操作是否应等待报告创建完成。扫描完成后,您也可以稍后通过“获取报告”操作获取报告。
尝试创建提交 x 次 整数 30 操作应尝试多少次来检查是否未超出 API 并发限制,并尝试创建新的提交。每 2 秒检查一次
操作系统版本 DDL 7 要运行分析的操作系统版本。
操作系统位数 DDL 32 操作系统的位数
操作系统环境类型 DDL 完成 要运行分析的环境类型。
网络连接状态 DDL 开启 用于分析的网络连接状态。
FakeNet 功能状态 DDL 错误 用于分析的 FakeNet 功能状态。
使用 TOR DDL 错误 运行分析时是否使用 TOR。

opt_network_mitm

DDL

错误 HTTPS MITM 代理选项。
opt_network_geo DDL 最快 地理定位选项。
opt_network_heavyevasion DDL 错误 严重规避选项。
opt_privacy_type DDL

通过链接

可能的值:

  • 通过链接
  • 公开
  • 所有者
  • 按团队
分析的隐私设置。
opt_timeout 字符串 60 分析的超时时间段,范围为 10 到 600 秒。
obj_ext_startfolder DDL temp 分析的起始位置。

使用场景

分析已审核的提醒中包含的网址,以确定其是否为恶意网址。

运行于

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

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success:False
JSON 结果

选项 1:如果未设置“等待报告”复选框,则返回有关已创建的分析任务的信息(对请求 1 的响应)

{
    "error": false,
    "data": {
        "taskid": "TASK_ID"
    }
}

选项 2:如果未设置“等待报告”复选框,则返回有关已创建的分析任务的信息(对请求 1 的响应)

{
    "error": false,
    "data": {
        "analysis": {
            "uuid": "UUID",
            "permanentUrl": "https://app.any.run/tasks/UUID",
            "reports": {
                "IOC": "https://api.any.run/report/UUID/ioc/json",
                "MISP": "https://api.any.run/report/UUID/summary/misp",
                "HTML": "https://api.any.run/report/UUID/summary/html",
                "graph": "https://content.any.run/tasks/UUID/graph"
            },
            "sandbox": {
                "name": "ANY.RUN - Interactive Sandbox",
                "plan": {
                    "name": "Tester"
                }
            },
            "duration": 60,
            "creation": 1602483368256,
            "creationText": "2020-10-12T06:16:08.256Z",
            "tags": [],
            "options": {
            }
        }
    }
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果已为至少一个所提供的实体成功创建分析任务: “已为以下实体创建分析任务:{0}”。format([entity.Identifier])。

如果未能为所有提供的实体创建分析任务: “No ANY.RUN analysis tasks were created.”

如果无法为某些实体创建分析任务: “Failed to create analysis tasks for the following entities: {0}”.format([entity.identifier])

如果选中“等待报告”复选框,并且我们因 Python 进程超时即将到来而完成操作: “操作已超时,正在等待以下实体的报告:{0}”。format([entity.identifier])

操作应失败并停止 playbook 执行

如果报告了严重错误(例如凭据错误或连接丢失): “Failed to connect to the ANY.RUN service!错误为 {0}".format(exception.stacktrace)

常规

获取报告

根据提供的 Google SecOps 文件、FileHash 或网址实体,从之前的分析中获取 ANY.RUN 报告。

参数

参数名称 类型 默认值 是否为必需参数 说明
阈值 整数 0 如果实体的得分值高于指定阈值,则将该实体标记为可疑。
在最近的 x 次扫描中搜索 整数 25 在 ANY.RUN 中搜索最近 x 次执行的分析中提供 filehash 的报告。
创建分析数据? 复选框 尚未核查 指定是否根据报告数据创建数据洞见。
获取最新报告? 复选框 勾选 指定是返回最新分析报告,还是返回所提供实体的所有发现报告。

使用场景

在 playbook 的提醒分析中查找我们在 ANY.RUN 哈希中遇到的内容。

运行于

此操作适用于以下实体:

  • 文件名
  • Filehash
  • 网址

操作结果

实体丰富化

如果实体的风险值高于作为操作输入参数提供的阈值,操作应将此属性设置为 True。

数据分析
数据洞见逻辑 类型 标题 实体 判定 威胁级别 得分
如果选中了相应的复选框,则创建。 实体 Any/Run Report 创建数据分析的实体的标识符 来自 API 响应的值 来自 API 响应的值 来自 API 响应的值
脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success:False
JSON 结果
{
  "error":false,
  "data":{
    "analysis":{
      "uuid":"UUID",
      "permanentUrl":"https://app.any.run/tasks/UUID",
      "reports":{
        "IOC":"https://api.any.run/report/UUID/ioc/json",
        "MISP":"https://api.any.run/report/UUID/summary/misp",
        "HTML":"https://api.any.run/report/UUID/summary/html",
        "graph":"https://content.any.run/tasks/UUID/graph"
      },
      "sandbox":{
        "name":"ANY.RUN - Interactive Sandbox",
        "plan":{
          "name":"Tester"
        }
      },
      "duration":60,
      "creation":1602483368256,
      "creationText":"2020-10-12T06:16:08.256Z",
      "tags":[
      ],
      "options":{
        "timeout":60,
        "additionalTime":0,
        "fakeNet":false,
        "heavyEvasion":false,
        "mitm":false,
        "tor":{
          "used":false,
          "geo":"fastest"
        },
        "presentation":false,
        "video":true,
        "hideSource":false,
        "network":true,
        "privacy":"bylink",
        "privateSample":false,
        "automatization":{
          "uac":false
        }
      },
      "scores":{
        "verdict":{
          "score":100,
          "threatLevel":2,
          "threatLevelText":"Malicious activity"
        },
        "specs":{
          "injects":false,
          "autostart":false,
          "cpuOverrun":false,
          "crashedApps":false,
          "crashedTask":false,
          "debugOutput":false,
          "executableDropped":false,
          "exploitable":false,
          "lowAccess":false,
          "memOverrun":false,
          "multiprocessing":true,
        }
      }
    }
  }
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功并获得了至少一个所提供实体的报告: “Found ANY.RUN reports for the following entities: {0}”.format([entity.Identifier]).

如果未能找到所提供实体的所有报告: “未找到任何 ANY.RUN 报告。”

如果未能找到某些实体的报告: “未能找到以下实体的 ANY.RUN 报告:{0}”。format([entity.identifier])

操作应失败并停止 playbook 执行

如果出现严重错误,例如凭据错误或连接丢失: “Failed to connect to the ANY.RUN service! 错误为 {0}".format(exception.stacktrace)

常规

名称:最新 ANY.RUN 报告

:参数、值:

  • 判定
  • “威胁级别”
  • “得分”
  • 报告网址
  • 报告 IOC
  • 报告 MISP
  • 报告 HTML
  • 报告图表
常规

Ping

测试与 ANY.RUN 的连接。

参数

不适用

运行于

该操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success:False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功:已使用提供的连接参数成功连接到 ANY.RUN 服务!

操作应失败并停止 playbook 执行

如果报告了严重错误(例如凭据错误或连接丢失):“Failed to connect to the ANY.RUN service!错误为 {0}".format(exception.stacktrace)

常规

搜索报告历史记录

搜索 ANY.RUN 扫描历史记录。

该操作不适用于 Google SecOps 实体;仅使用操作输入参数。

参数

参数名称 类型 默认值 是否为必需参数 说明
提交名称 字符串 不适用 要搜索的特定提交名称。
在最近的 x 次扫描中搜索 整数 100 在 ANY.RUN 中执行的最后 x 次分析中搜索报告。
跳过前 x 次扫描 整数 0 跳过 ANY.RUN API 返回的前 x 次扫描。
获取团队历史记录? 复选框 尚未核查 指定是否获取球队历史记录。

使用场景

搜索过往提交内容,查看之前在 ANY.RUN 沙盒中扫描过的内容。

运行于

此操作不适用于实体。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True 或 False is_success:False
JSON 结果
{
  "error":false,
  "data":{
    "tasks":[
      {
        "verdict":"No threats detected",
        "name":"http://users.tpg.com.au/locthuy/employment/qs/unix/Hardening%20your%20AIX%20Security.pdf",
        "related":"https://app.any.run/tasks/ID",
        "pcap":"https://content.any.run/tasks/ID/download/pcap",
        "file":"https://content.any.run/tasks/ID/download/files/FILE_NAME",
        "json":"https://api.any.run/report/ID/summary/json",
        "misp":"https://api.any.run/report/ID/summary/misp",
        "tags":[
        ],
        "date":"2020-10-12T08:05:57.587Z",
        "hashes":{
          "ssdeep":"768:iSDksqjqvXbB/6rtilCec397sUiZc9Yky:TDegY539gUiCXy",
          "head_hash":"3c90557306fa01f30693541b28db5785",
          "sha256":"8ebc1257f9155134bb00315bdd2380990cdc413ba298d0cf473579ccfe03d6e5",
          "sha1":"c125ba414416668b84ac737ec6db1b7f94bf32af",
          "md5":"5e19377a19ef7657707872377bea14b7"
        }
      }
    ]
  }
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功找到报告: “Found ANY.RUN reports for the provided search parameters”(已找到符合所提供搜索参数的 ANY.RUN 报告)。

如果找不到报告: “No ANY.RUN reports were found.”(未找到任何 ANY.RUN 报告)。

操作应失败并停止 playbook 执行

如果报告了严重错误(例如凭据错误或连接丢失): “Failed to connect to the ANY.RUN service!错误为 {0}".format(exception.stacktrace)

常规

表格名称:搜索结果

表格列

  • 提交的名称(名称)
  • 判定
  • > 报告网址(相关)
  • 扫描日期
  • md5
  • sha1
  • sha256
常规

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