将 ANY.RUN 与 Google SecOps 集成

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

产品权限

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

集成参数

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

使用以下参数配置集成:

参数名称 类型 默认值 为必填项 说明
实例名称 字符串 不适用 否 您要为其配置集成的实例的名称。
说明 字符串 不适用 否 实例的说明。
API 密钥 密码 不适用 是 要与集成搭配使用的 API 密钥。
远程运行 复选框 尚未核查 否 勾选此字段,以便远程运行配置的集成。选中后,系统会显示选择远程用户(代理)的选项。

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

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

操作

如需详细了解操作,请参阅 在工作桌上响应待处理的操作和在案例中运行手动操作。

分析文件

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

此操作不会在 Google SecOps 实体上运行。应将要分析的文件的完整路径作为操作输入参数提供。

参数

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

使用 TOR

DDL False 否 在运行分析时是否使用 TOR。

opt_network_mitm

DDL False 否 HTTPS MITM 代理选项。
opt_network_geo DDL 最快 否 地理定位选项。
opt_network_heavyevasion DDL False 否 重度规避选项。
opt_privacy_type DDL

按链接

可能的值:

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

opt_timeout

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

obj_ext_startfolder

DDL temp 否 分析的起始位置。

使用场景

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

运行时间

此操作不适用于实体。

操作结果

实体丰富化

如果负面引擎的数量等于或高于给定阈值,则将实体标记为可疑。is_suspicious: if 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 实体。必须提供要分析的网址作为输入参数。

参数

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

opt_network_mitm

DDL

False 否 HTTPS MITM 代理选项。
opt_network_geo DDL 最快 否 地理定位选项。
opt_network_heavyevasion DDL False 否 重度规避选项。
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 执行:

如果为至少一个提供的实体成功创建了分析任务: "Created analysis tasks for the following entities: {0}".format([entity.Identifier]).

如果未能为所有提供的实体创建分析任务: “未创建任何 ANY.RUN 分析任务。”

如果未能为某些实体创建分析任务: “未能为以下实体创建分析任务:{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。

数据分析
Insight 逻辑 类型 标题 实体 判定 威胁级别 得分
如果选中了相应复选框,则创建。 实体 任意/生成报告 为其创建数据分析的实体标识符 来自 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 报告。”

如果未能找到某些实体的报告: "Failed to find ANY.RUN reports for the following entities: {0}".format([entity.identifier])

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

如果发生严重错误,例如凭据错误或连接中断: “Failed to connect to the ANY.RUN service! 错误为 {0}”。format(exception.stacktrace)

常规
表

名称:Latest ANY.RUN Report

列:参数、值:

  • 判定
  • “威胁级别”
  • “得分”
  • 报告网址
  • 报告 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 报告)。

如果找不到报告: “未找到任何 ANY.RUN 报告。”

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

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

常规
表

表名称:搜索结果

表列:

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

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