将 UrlScan.io 与 Google SecOps 集成
本文档提供了有关如何将 urlscan.io 与 Google SecOps 集成的指南。
本文档介绍了如何将 UrlScan.io 与 Google Security Operations 集成。
使用场景
UrlScan.io 集成使用 Google SecOps 功能来支持以下使用场景:
自动网址分析:自动将可疑网址提交给 UrlScan.io,以确定风险等级并在突发事件分诊期间检索屏幕截图以进行直观验证。
威胁情报丰富化:通过查询 UrlScan.io 获取有关 IP 地址、网域和网址的详细元数据,从而丰富提醒,为分析师提供有关 ASN、服务器类型和恶意分数的即时背景信息。
主动历史扫描搜索:搜索与入侵指标关联的现有公开扫描和私密扫描,以识别历史恶意活动和模式。
深入的取证和报告:使用特定扫描 ID 检索全面的扫描详细信息,以便对复杂的安全调查进行深入分析,包括 Cookie、请求计数和相关链接。
准备工作
如要验证 Google SecOps 与 UrlScan.io 之间的连接,您必须提供有效的 API 密钥。
您可以在 urlscan.io 账号的个人资料部分中获取和管理 API 密钥。
集成参数
urlscan.io 集成需要以下参数:
| 参数 | 说明 |
|---|---|
Api Key |
必填。 用于向 urlscan.io 服务进行身份验证的唯一 API 密钥。 |
Verify SSL |
可选。 如果选中此复选框,则集成会在连接到 UrlScan.io 服务器时验证 SSL 证书。 |
如需了解如何在 Google SecOps 中配置集成,请参阅配置集成。
如有需要,您可以在稍后阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例。
操作
如需详细了解操作,请参阅 在工作台页面中处理待处理的操作和执行人工处置措施。
Ping
测试连接。
参数
不适用
使用场景
不适用
Run On
此操作会在所有实体上运行。
操作执行结果
实体扩充
数据分析
不适用
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 结果
N/A
网址检查
提交要扫描的网址并获取扫描详细信息。
参数
| 参数名称 | 类型 | 是必填字段 | 默认值 | 说明 |
|---|---|---|---|---|
| 公开范围 | DDL |
否 | 公开 | urlscan.io 上的扫描结果具有以下三种可见性级别之一,请务必为您的提交内容使用适当的级别。 |
| 阈值 | 整数 | 否 | -1 | 如果判决得分不低于给定的阈值,则将实体标记为可疑。默认值为 -1,在这种情况下,我们会将每个扫描的网址都视为可疑网址。 |
| 创建分析洞见 | 布尔值 | 否 | 是 | 如果启用,操作将创建包含实体相关信息的分析洞见。 |
| 仅限可疑数据洞见 | 布尔值 | 否 | 否 | 如果启用,操作将仅针对可疑实体创建数据洞见。注意:需要启用“创建数据洞见”参数。 |
| 向分析洞见添加屏幕截图 | 布尔值 | 否 | 否 | 如果启用,操作会向数据洞见添加网站的屏幕截图(如果有)。 |
使用场景
不适用
Run On
此操作适用于以下实体:
- IP 地址
- 网域
- 网址
操作执行结果
实体扩充
| 名称 | 键 |
|---|---|
| real_url | tasks/url |
| visibility | visibility |
| requests_count | len(data/requests) |
| Cookie | 数据/Cookie/名称的 CSV 文件 |
| related_links | 数据/链接/href 的 CSV 文件 |
| main_country | 网页/国家 |
| main_domain | 网页/网域 |
| main_ip | 网页/IP |
| main_asn | page/asnname |
| main_server | 网页/服务器 |
| related_ips_count | len(lists/ips) |
| related_domains_count | len(lists/domains) |
| related_countries | CSV 列表/国家/地区 |
| overall_score | 判决/总体/得分 |
| categories | verdicts/overall/categories |
| 标签 | 判决/总体/标记 |
| 恶意 | 判决/总体/恶意 |
数据分析
不适用
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 结果
[
{
"Entity": "https://example.com",
"EntityResult": {
"lists": {
"ips": [
"0.0.0.0"
],
"countries": [
"ZZ"
],
"asns": [
"00000"
],
"domains": [
"subdomain.example.com"
],
"servers": [
"GenericServer/1.0.0"
],
"urls": [
"https://example.com/",
"https://example.com/assets/image.png",
"https://example.com/assets/script.js",
"https://example.com/assets/style.svg",
"https://example.com/favicon.ico"
],
"linkDomains": [
"node1.example.com",
"node2.example.com",
"node3.example.com"
],
"certificates": [
{
"subjectName": "*.example.com",
"issuer": "CA-0",
"validFrom": 1000000000,
"validTo": 2000000000
}
],
"hashes": [
"hash_string_alpha_001",
"hash_string_alpha_002",
"hash_string_alpha_003"
]
},
"page": {
"asn": "AS00000",
"asnname": "PROVIDER - Service Provider Inc., ZZ",
"city": "",
"country": "ZZ",
"domain": "subdomain.example.com",
"ip": "0.0.0.0",
"ptr": "host.provider.net",
"server": "GenericServer/1.0.0",
"url": "https://example.com/",
"apexDomainAgeDays": 1,
"mimeType": "application/octet-stream",
"title": "Title Placeholder",
"tlsValidDays": 0,
"tlsAgeDays": 0,
"domainAgeDays": 1,
"tlsValidFrom": "2000-01-01T00:00:00.000Z",
"umbrellaRank": 0,
"apexDomain": "example.com",
"tlsIssuer": "CA-0",
"status": "000"
},
"scanner": {
"country": "zz"
},
"stats": {
"IPv6Percentage": 0,
"adBlocked": 0,
"malicious": 0,
"securePercentage": 0,
"secureRequests": 0,
"totalLinks": 0,
"uniqCountries": 0
},
"submitter": {
"country": "ZZ"
},
"task": {
"method": "system",
"source": "source_id",
"time": "2000-01-01T00:00:00.000Z",
"url": "https://example.com/",
"uuid": "00000000-0000-0000-0000-000000000000",
"visibility": "private",
"reportURL": "https://service.io/result/id/",
"screenshotURL": "https://service.io/screen/id.png",
"domURL": "https://service.io/dom/id/",
"domain": "subdomain.example.com",
"apexDomain": "example.com"
},
"verdicts": {
"overall": {
"score": 0,
"categories": [],
"brands": [],
"tags": [],
"malicious": false,
"hasVerdicts": false
},
"service_provider": {
"score": 0,
"categories": [],
"brands": [],
"tags": [],
"malicious": false,
"hasVerdicts": false
},
"engines": {
"score": 0,
"malicious": false,
"categories": [],
"enginesTotal": 0,
"maliciousTotal": 0,
"benignTotal": 0,
"maliciousVerdicts": [],
"benignVerdicts": [],
"hasVerdicts": false,
"tags": [
"tag-alpha",
"tag-beta"
]
},
"community": {
"score": 0,
"categories": [],
"brands": [],
"votesTotal": 0,
"votesMalicious": 0,
"votesBenign": 0,
"malicious": false,
"hasVerdicts": false
}
},
"is_risky": false
}
}
]
搜索扫描
按网域、IP、自治系统 (AS) 编号、哈希等属性搜索 urlscan.io 的现有扫描结果。此操作将查找任何人执行的公开扫描,以及您或您的团队执行的不公开列出和私享扫描。
参数
| 参数名称 | 类型 | 是必填字段 | 默认值 | 说明 |
|---|---|---|---|---|
| 最大扫描次数 | 整数 | 否 | 100 | 每个实体要返回的扫描次数。默认值:100;最大值:10, 000(取决于订阅)。 |
Run On
此操作适用于以下实体:
- IP 地址
- 主机名
- 网址
- 文件名
- 哈希值
- 网域
操作执行结果
实体扩充
不适用
数据分析
不适用
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 结果
{"entity_identifier": "www.unitedneighborsfcu.com",
"entity_results":[
{
"indexedAt": "2020-12-09T12:16:43.329Z",
"task": {
"visibility": "public",
"method": "automatic",
"domain": "www.unitedneighborsfcu.com",
"time": "2020-12-09T12:16:23.168Z",
"source": "certstream-suspicious",
"uuid": "96310829-fed4-4d61-9fb0-39eb2952719f",
"url": "https://www.unitedneighborsfcu.com"
},
"stats": {
"uniqIPs": 6,
"consoleMsgs": 0,
"uniqCountries": 3,
"dataLength": 1938842,
"encodedDataLength": 1568193,
"requests": 28
},
"page": {
"country": "US",
"server": "Microsoft-IIS/10.0",
"domain": "www.unitedneighborsfcu.com",
"ip": "8.21.114.55",
"mimeType": "text/html",
"asnname": "LEVEL3, US",
"asn": "AS3356",
"url": "https://www.unitedneighborsfcu.com/",
"status": "200"
},
"_id": "96310829-fed4-4d61-9fb0-39eb2952719f",
"sort": [1607516183168, "96310829-fed4-4d61-9fb0-39eb2952719f"],
"result": "https://urlscan.io/api/v1/result/96310829-fed4-4d61-9fb0-39eb2952719f/",
"screenshot": "https://urlscan.io/screenshots/96310829-fed4-4d61-9fb0-39eb2952719f.png"
}
]
}
案例墙
| 结果类型 | 值 / 说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
|
常规 |
| “案例墙”表格 | 标题:“{实体标识符} - 搜索结果” 列: 扫描 ID 网址 扫描日期 大小 IPS 唯一国家/地区数 国家/地区 扫描类型 |
常规 |
| 案例墙链接 | 标题:“urlscan.io 网页报告 +(实体 ID)。urlscan.io | 常规 |
| 案例墙附件 | 将包含屏幕截图。 | 常规 |
获取扫描完整详细信息
按扫描 ID 获取扫描完整详细信息
参数
| 参数名称 | 类型 | 是必填字段 | 默认值 | 说明 |
|---|---|---|---|---|
| 扫描 ID | 字符串 | 是 | 不适用 | 使用扫描 ID 获取扫描报告。以英文逗号分隔的值。 |
Run On
此操作不会在实体上运行。
操作执行结果
实体扩充
不适用
数据分析
不适用
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 结果
['Effective URL'] = response['page']['url']
案例墙
| 结果类型 | 值 / 说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行:
|
常规 |
| 案例墙链接 | 标题:“urlscan.io 网页报告 +(扫描 ID)”。urlscan.io | 常规 |
| 案例墙附件 | 将包含屏幕截图。 | 常规 |