将 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 可能的值:
|
否 | 要运行分析的操作系统版本。 |
操作系统位数 | 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 可能的值:
|
否 | 分析的起始位置。 |
使用场景
分析已审核的提醒所涉及的文件,以确定其是否为恶意文件。
运行于
此操作不会在实体上运行。
操作结果
实体丰富化
如果负面引擎的数量等于或高于给定的阈值,则将实体标记为可疑。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 报告 列:参数、值:
|
常规 |
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) |
常规 |
表 | 表格名称:搜索结果 表格列:
|
常规 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。