将 ANY.RUN 与 Google SecOps 集成

集成版本:7.0

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

产品权限

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

集成参数

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

使用以下参数配置集成:

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

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

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

操作

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

分析文件

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

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

参数

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

7

可能的值:

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

32

可能的值:

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

完成

可能的值:

  • 完成
  • 办公室
  • 清理
要运行分析的环境类型。
网络连接状态 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)。

如果无法为所提供的文件创建分析任务: 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 实体。必须提供要分析的网址作为输入参数。

参数

参数名称 类型 默认值 为必需参数 说明
用于分析的网址 字符串 不适用 指定要分析的网址。
等待报告? 复选框 勾选 指定操作是否应等待报告创建完成。扫描完成后,您也可以稍后通过“获取报告”操作获取报告。
尝试创建提交 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 次分析中提供文件哈希的报告。
创建分析洞见? 复选框 尚未核查 指定是否根据报告数据创建数据洞见。
获取最新报告? 复选框 勾选 指定是返回最新分析报告,还是返回所提供实体的所有发现报告。

使用场景

在 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.”

操作应失败并停止 playbook 执行

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

常规

表格名称:搜索结果

表格列

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

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