Illusive Networks

本文档提供了有关如何将 Illusive Networks 与 Google SecOps 集成的指南。

产品应用场景

  1. 执行主动操作 - 运行取证扫描、丰富实体、添加/移除欺骗用户/服务器。
  2. 将突发事件注入到 Simplify。

在 Google Security Operations 上配置 Illusive Networks 集成

有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成。

集成参数

使用以下参数配置集成:

参数显示名称 类型 默认值 是否为必填项 说明
API 根 字符串 http://x.x.x.x 是 Illusive Networks 实例的 API 根。
API 密钥 密码 不适用 是

Illusive Networks 的 API 密钥。
注意:字符串“Basic”不应是值的一部分。

CA 证书文件 字符串 False Base 64 编码的 CA 证书文件。
验证 SSL 复选框 勾选 是 如果已启用,请验证与 Illusive Networks 服务器连接的 SSL 证书是否有效。

如何生成 API 密钥

  1. 在 Illusive Networks 控制台中,前往“Settings”(设置)部分
  2. 在“常规”部分,向下滚动到“API 密钥”部分。
  3. 按“添加密钥”按钮。
  4. 建议向 API 密钥添加所有权限。
  5. 您需要从提供的字符串中复制除“Basic”字符串以外的所有内容。
  6. 将该值放入 Google SecOps 集成的“API 密钥”参数中。

如何更新速率限制

Illusive Networks 中的某些端点存在速率限制。对于连接器,限制必须足够高,以便提取所有突发事件。如需更新速率限制,您需要登录管理服务器并前往:C:\Program Files\illusive-Management-Server-3.1.XXX.XXXX\conf\general.properties.txt

在文件中,您需要查找以下属性:

  • api.incident.rate.limit.maximum.num.requests
  • api.rate.limit.windows.duration.minutes

建议采用以下设置:

  • api.incident.rate.limit.maximum.num.requests=100
  • api.rate.limit.windows.duration.minutes=1
  • api.monitoring.rate.limit.maximum.num.requests = 100
  • api.forensics.rate.limit.maximum.num.requests = 100

操作

Ping

说明

使用 Google SecOps 内容中心页面中集成配置页面上提供的参数,测试与 Illusive Networks 的连接。

参数

不适用

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
案例墙
结果类型 值 / 说明 类型
输出消息*

如果成功:“已使用提供的连接参数成功连接到 Illusive Networks 服务器!”

不成功:(失败)- 无法连接到 Illusive Networks 服务器!错误为 {0}”。format(exception.stacktrace)

常规

丰富实体

说明

使用 Illusive Networks 中的信息丰富实体。支持的实体:主机名。

参数

参数显示名称 类型 默认值 是否为必填项 说明
不适用

运行时间

此操作在主机实体上运行。

操作执行结果

脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
JSON 结果
{
    "machineId": "00428a29-0343-4e13-aa97-3b624739c509",
    "machineName": "HELLO",
    "isHealthy": false,
    "lastDeploymentMethodType": "WMI",
    "distinguishedName": "CN=HELLO,CN=Computers,dc=iln,dc=local",
    "groupName": null,
    "sourceDiscoveryName": "iln.local",
    "collectData": true,
    "policyName": null,
    "assignmentStatus": "ANALYSIS",
    "operatingSystemType": "Windows",
    "operatingSystemName": "Windows Server 2016 Standard Evaluation",
    "operatingSystemVersion": "10.0 (14393)",
    "agentVersion": null,
    "bitness": null,
    "loggedInUserName": null,
    "lastLogonTime": 1613078764501,
    "succeededDeceptionFamilies": 0,
    "shouldBeUninstalledDeceptionFamilies": 0,
    "desiredDeceptionFamilies": 0,
    "deceptionFamiliesPercentages": null,
    "lastExecutionType": "AGENT",
    "machineLastExecutionPhaseType": "CONNECTION",
    "machineLastExecutionPhaseStatus": "FAILURE",
    "machineLastExecutionPhaseErrorMessage": "Unreachable - no ping",
    "mitigationStatusType": null,
    "machineExecutionUnifiedStatus": "FAILURE_CONNECTION",
    "machineLastExecutionPhaseFinishDate": "2021-02-12T10:17:30.623Z",
    "endpointTrapHealthCheckHostStatus": "NotTested",
    "endpointTrapHealthCheckHostStatusLastUpdated": null,
    "failedDeceptionFamilies": 0,
    "inProgressDeceptionFamilies": 0,
    "notDeployedDeceptionFamilies": 0,
    "policyId": null,
    "ghost": false
}
实体丰富化
扩充项字段名称 逻辑 - 适用情形
ILLNET_machineName 当 JSON(主机信息)中提供时
ILLNET_isHealthy 当 JSON(主机信息)中提供时
ILLNET_host 当 JSON(主机信息)中提供时
ILLNET_distinguishedName 当 JSON(主机信息)中提供时
ILLNET_sourceDiscoveryName 当 JSON(主机信息)中提供时
ILLNET_policyName 当 JSON(主机信息)中提供时
ILLNET_operatingSystemName 当 JSON(主机信息)中提供时
ILLNET_agentVersion 当 JSON(主机信息)中提供时
ILLNET_loggedInUserName 当 JSON(主机信息)中提供时
ILLNET_machineExecutionUnifiedStatus 当 JSON(主机信息)中提供时
ILLNET_bitness 当 JSON(主机信息)中提供时
案例墙
结果类型 值 / 说明 类型
输出消息*

该操作不应失败,也不应停止 playbook 执行:
如果至少有一个实体有可用数据 (is_success = true):“已使用 Illusive Networks 成功丰富以下实体:\n {entity.identifier}”。

如果至少有一个实体没有可用数据 (is_success = true):“操作无法使用 Illusive Networks 丰富以下实体:\n {entity.identifier}”。

如果所有实体的数据都不可用 (is_success = false):“未扩充任何实体”。

操作应失败并停止 playbook 执行:
如果发生严重错误,例如凭据错误、无法连接到服务器等:“执行操作‘丰富实体’时出错。Reason: {0}''.format(error.Stacktrace)

如果状态代码为 429:“执行‘丰富实体’操作时出错。原因:速率限制错误。请参阅有关如何提高速率限制的文档”。

常规
案例墙表格

名称:{entity.identifier}

其中只有 2 列:“键”和“值”。

实体

运行取证扫描

说明

在 Illusive Networks 中的端点上运行取证扫描。适用于 IP 和主机名实体。

参数

参数显示名称 类型 默认值 是否为必填项 说明
包含系统信息 复选框 勾选 是 如果启用,操作将返回系统信息。
包含预提取文件信息 复选框 勾选 是 如果启用,操作将返回有关预提取文件的信息。
包含“添加/删除程序”信息 复选框 勾选 是 如果启用,操作将返回有关添加/删除程序的信息。
包含启动进程信息 复选框 勾选 是 如果启用,操作将返回有关启动进程的信息。
包含正在运行的进程信息 复选框 勾选 是 如果启用,操作将返回有关正在运行的进程的信息。
添加用户辅助计划信息 复选框 勾选 是 如果启用,操作将返回有关用户辅助计划的信息。
包含 Powershell 历史记录信息 复选框 勾选 是 如果启用,操作将返回有关 PowerShell 历史记录的信息。

要返回的最大项数

整数 50 否 指定要返回的项数。如果未提供任何内容,操作将返回所有内容。

运行时间

此操作将在以下实体上运行:

  • IP 地址
  • 主机

操作执行结果

脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
JSON 结果
{
    "Entity.identifier": {
        "host_info": "{Host_info part}",
        "prefetch_info": "{prefetch_info}",
        "installed_programs_info": "{installed_programs_info}",
        "startup_processes": "{startup_processes}",
        "running_processes": "{running_processes}",
        "user_assist_info": "{user_assist_info}",
        "powershell_history": "{powershell history}"
    }
}
实体丰富化
扩充项字段名称 逻辑 - 适用情形
ILLNET_osName 当 JSON(主机信息)中提供时
ILLNET_machineType 当 JSON(主机信息)中提供时
ILLNET_host 当 JSON(主机信息)中提供时
ILLNET_loggedInUser 当 JSON(主机信息)中提供时
ILLNET_userProfiles 当 JSON(主机信息)中提供时
ILLNET_operatingSystemType 当 JSON(主机信息)中提供时
案例墙
结果类型 值 / 说明 类型
输出消息*

该操作不应失败,也不应停止 playbook 执行:
如果至少有一个成功执行 (is_success = true):“已成功在 Illusive Networks 中的以下端点上运行取证扫描:{entity.identifier}”

如果至少有一个不成功:“操作无法从以下端点的取证扫描中获取任何信息:{entity.identifier}”

如果所有端点均未成功:“在提供的端点上未找到取证信息。”

异步消息:“已在以下端点上启动取证扫描:{entity identifier}。\n

已完成对以下端点的取证扫描。"

操作应失败并停止 playbook 执行:
如果发生严重错误,例如凭据错误、无法连接到服务器等:“执行操作‘运行取证扫描’时出错。Reason: {0}''.format(error.Stacktrace)

如果未启用任何“include …”参数:“Error executing action "Run Forensic Scan". 原因:您需要至少启用一个“包含…”参数

常规
案例墙表主机信息

名称:{entity.identifier}

其中只有 2 列:“键”和“值”。

实体
Case Wall Table Prefetch_Info

名称:“{entity.identifier}:预提取文件信息”

列:

文件名

上次执行时间

文件修改时间

预取文件名

常规

案例墙表格

INSTALLED_PROGRAMS_INFO

名称:“{entity.identifier}:添加/删除程序信息”

列:

显示名称

文件名

常规

案例墙表格

STARTUP_PROCESSES

名称:“{entity.identifier}:启动进程”

列:

姓名

命令

位置

用户

常规

案例墙表格

RUNNING_PROCESSES

名称:“{entity.identifier}:正在运行的进程”

列:

用户

管理员权限

命令

进程 ID

进程名称

开始时间

常规

案例墙表格

USER_ASSIST_INFO

名称:“{entity.identifier}:用户辅助计划信息”

列:

文件名

用户名

上次使用日期

****

案例墙表格

POWER_SHELL_HISTORY

名称:"{entity.identifier}:Powershell 历史记录"

列:

用户名

命令

列出欺骗性商品

说明

列出 Illusive Networks 中可用的欺骗性项。

参数

参数显示名称 类型 默认值 是否为必填项 说明
欺骗类型 DDL

全部

可能的值:

全部

仅限用户

仅限服务器

是 指定应返回哪种类型的欺骗性内容。
欺骗性状态 DDL

全部

可能的值:

全部

仅限已批准、仅限建议

是 指定应根据状态返回哪种欺骗性内容。
返回的项目数上限 整数 50 否 指定要返回的项数。默认值:50。如果未指定任何内容,操作将返回所有内容。

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
JSON 结果
{
    "users": [
        {
            "username": "backupad",
            "password": "5437niwY",
            "domainName": "intw-lab.local",
            "policyNames": [
                "Full Protection"
            ],
            "adUser": false,
            "activeUser": false,
            "deceptiveState": "APPROVED"
        },
        {
            "username": "jvillar",
            "password": "ritA1102",
            "domainName": "intw-lab.local",
            "policyNames": [],
            "adUser": true,
            "activeUser": false,
            "deceptiveState": "SUGGESTED"
        },
        {
            "username": "gaccess.user",
            "password": "psUiS01",
            "domainName": "intw-lab.local",
            "policyNames": [],
            "adUser": true,
            "activeUser": false,
            "deceptiveState": "SUGGESTED"
        },
        {
            "username": "service.user",
            "password": "mAkaYe4",
            "domainName": "intw-lab.local",
            "policyNames": [],
            "adUser": true,
            "activeUser": false,
            "deceptiveState": "SUGGESTED"
        }
    ],
    "servers": [
        {
            "host": "10.0.0.2",
            "serviceTypes": [
                "DB"
            ],
            "policyNames": [
                "Full Protection"
            ],
            "adHost": false,
            "deceptiveState": "APPROVED"
        },
        {
            "host": "10.0.0.1",
            "serviceTypes": [
                "DB"
            ],
            "policyNames": [
                "Full Protection"
            ],
            "adHost": false,
            "deceptiveState": "APPROVED"
        }
    ]
}
案例墙
结果类型 值 / 说明 类型
输出消息*

该操作不应失败,也不应停止 playbook 执行:
如果状态代码为 200 且数据可用 (is_success = true):“Successfully returned available deceptive items from Illusive Networks”。

如果状态代码为 200 且没有可用数据 (is_success=false):“在 Illusive Networks 中,未找到与所提供条件相符的欺骗性项的相关数据。”

如果发生严重错误(例如凭据错误、无法连接到服务器等),操作应失败并停止 Playbook 执行:
“执行‘列出欺骗性内容’操作时出错。Reason: {0}''.format(error.Stacktrace)

常规
案例墙表格

名称:“欺骗性用户”

列:

用户名

密码

网域

政策

AD 用户

有效

州/省/自治区/直辖市

常规
案例墙表格

名称:“欺骗性服务器”

列:

主机

服务

政策

广告服务器

州/省/自治区/直辖市

常规

添加欺骗性用户

说明

在 Illusive Networks 中添加欺骗性用户。

参数

名称 默认值 是否为必填项 说明
用户名 不适用 是 指定新欺骗性用户的用户名。
密码 不适用 是 指定新欺骗性用户的密码。
DNS 域名 不适用 否 指定新欺骗性用户的域名。
政策名称 不适用 否 指定需要应用于新欺骗性用户的逗号分隔列表政策。如果未提供任何内容,操作将默认使用所有政策。

操作执行结果

脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
案例墙
结果类型 值 / 说明 类型
输出消息*

成功 (is_success=true) → 已成功在 Illusive Networks 中添加欺骗性用户。

情形 1. 用户已存在(失败) - 执行操作“{action name}”时出错。原因:欺骗性用户“{username}”已存在。

情形 2. 400 状态代码(失败) - 执行操作“{action name}”时出错。原因:{出错提示}。

情况 3. 一般错误(失败) - 执行操作“{action name}”时出错。原因:{error traceback}。

常规

移除欺骗性用户

说明

从 Illusive Networks 中移除欺骗性用户。

参数

名称 默认值 是否为必填项 说明
用户名 不适用 是 指定需要移除的欺骗性用户的用户名。

操作执行结果

脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
案例墙
结果类型 值 / 说明 类型
输出消息*

成功 → 已成功移除 Illusive 网络中的欺骗性用户。

情形 1. 用户不存在 (is_success=false) - Action 无法移除欺骗性用户“{username}”。原因:欺骗性用户“{username}”不存在。

情形 2. 常规错误(失败)- 执行操作“{action name}”时出错。原因:{error traceback}。

常规

添加欺骗性服务器

说明

在 Illusive Networks 中添加欺骗性服务器。

参数

名称 默认值 是否为必填项 说明
服务器名称 不适用 是 指定新欺骗性服务器的名称。
服务类型 数据库 是 以英文逗号分隔列表的形式指定新欺骗性服务器的服务类型。
政策名称 否 指定需要应用于新欺骗性服务器的政策的逗号分隔列表。如果未提供任何内容,操作将默认使用所有政策。

操作执行结果

脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
案例墙
结果类型 值 / 说明 类型
输出消息*

成功 (is_success=true) → 已成功在 Illusive 网络中添加欺骗性服务器。

情形 1. 服务器已存在(失败)- 执行操作“{action name}”时出错。原因:欺骗性服务器“{server name}”已存在。

情形 2. 400 状态(失败)- 执行操作“{action name}”时出错。原因:{出错提示}。

情况 3. 一般错误 - 执行操作“{action name}”时出错。原因:{error traceback}。

常规

移除欺骗性服务器

说明

从 Illusive Networks 中移除欺骗性服务器。

参数

名称 默认值 是否为必填项 说明
服务器名称 不适用 是 指定需要移除的欺骗性服务器的名称。

操作执行结果

脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
案例墙
结果类型 值 / 说明 类型
输出消息*

成功 → 成功移除了 Illusive 网络中的欺骗性服务器。

情形 1. 服务器不存在 (is_success=false) - 操作未能移除欺骗性服务器“{server name}”。原因:欺骗性服务器“{server name}”不存在。

情形 2. 一般错误 - 执行操作“{action name}”时出错。原因:{error traceback}。

常规

连接器

Illusive Networks - 事件连接器

说明

从 Illusive Networks 中拉取包含相关取证时间轴的突发事件。

在 Google SecOps 中配置 Illusive Networks - Incidents 连接器

如需详细了解如何在 Google SecOps 中配置连接器,请参阅配置连接器。

连接器参数

使用以下参数配置连接器:

参数显示名称 Type> 默认值 为必填项 说明
产品字段名称 字符串 产品名称 是 输入源字段名称,以便检索产品字段名称。
事件字段名称 字符串 details_serviceType 是 输入源字段名称,以检索事件字段名称。
环境字段名称 字符串 "" 否

描述存储环境名称的字段的名称。

如果未找到环境字段,则环境为默认环境。

环境正则表达式模式 字符串 .* 否

要对“环境字段名称”字段中的值运行的正则表达式模式。

默认值为 .*,用于捕获所有值并返回未更改的值。

用于允许用户通过正则表达式逻辑操作环境字段。

如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为默认环境。

脚本超时(秒) 整数 180 是 运行当前脚本的 Python 进程的超时限制。
API 根 字符串 http://x.x.x.x 是 Illusive Networks 实例的 API 根。
API 密钥 字符串 不适用 是 Illusive Networks 的 API 密钥。注意:字符串“Basic”不应是值的一部分。
提醒严重程度 字符串 中 是

将根据 Illusive Networks 中的突发事件创建的 Google SecOps 提醒的严重级别。

可能的值:

参考信息

低

中

高

严重

回溯的小时数上限 整数 1 否 提取突发事件的小时数。
要提取的突发事件数上限 整数 10 否 每次连接器迭代要处理的突发事件数量。最大值为 1000。
将白名单用作黑名单 复选框 勾选 是 如果启用,白名单将用作黑名单。
验证 SSL 复选框 尚未核查 是 如果已启用,请验证与 Illusive Networks 服务器连接的 SSL 证书是否有效。
CA 证书文件 字符串 不适用 否 Base 64 编码的 CA 证书文件。
代理服务器地址 字符串 不适用 否 要使用的代理服务器的地址。
代理用户名 字符串 不适用 否 用于进行身份验证的代理用户名。
代理密码 密码 不适用 否 用于进行身份验证的代理密码。

连接器规则

代理支持

此连接器支持代理。

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