文件实用程序

支持的平台:

概览

文件实用程序是一组文件操作,用于增强 playbook 功能。

操作

添加附件

说明

向案例墙添加附件。

参数

参数 类型 默认值 是必填字段 说明
名称 字符串 不适用 指定将在支持请求墙中显示的附件的名称。
IsFavorite 复选框 尚未核查 指定是否要在支持服务墙中将附件标记为收藏。
Base64 Blob 字符串 不适用 指定附件的 Base64 Blob。使用“Get Files as Base64”操作获取 Base64 Blob。

此操作接受单个 Base64 blob。如果您有多个文件,则必须为每个文件单独调用此操作。

类型 字符串 不适用 指定文件的扩展名
说明 字符串 不适用 指定文件的说明。


示例

在此场景中,Base64 blob 源自之前的操作,然后附加到问题墙。添加到墙上后,即可用于进一步分析。此操作与“获取文件(以 Base64 格式)”操作搭配使用,后者用于生成文件的 Base64 字符串。

操作配置

参数
实体 所有实体
名称 Malicious_EML
IsFavorite 已检查
Base64 Blob [FileUtilities_Get Files as Base64_1.JsonResult | "data.base64"]
类型 [FileUtilities_Get Files as Base64_1.JsonResult | "data.extension"
说明 最终用户提供的恶意 EML 文件。

操作结果

  • 脚本结果
    脚本结果名称 值选项 示例
    is_success True/False is_success:True
  • JSON 结果
     {
    "evidenceName" : "Malicious_EML", 
    "description " : "Malicious EML file from end user.", 
    "evidenceThumbnailBase64" : "", 
    "evidenceId" : 322, 
    "fileType" : ".eml", 
    "creatorUserId" : "Siemplify automation", 
    "id " : 322, 
    "type"  : 4, 
    "caseId" : 51187, 
    "isFavorite" : true, 
    "modificationTimeUnixTimeInMs" : 1664206699128, 
    "creationTimeUnixTimeInMs" : 1664206699128, 
    "alertIdentifier" : null
    }

将实体添加到文件

说明

向本地文件添加目标实体的标识符。它只会向文件添加一次实体,如果实体已存在,则返回 False。

参数

参数 类型 默认值 是必填字段 说明
文件名 字符串 不适用 指定要将实体写入到的文件的名称。文件将存储在 /tmp/ 目录中。

示例

在此场景中,可疑主机名实体标识符会添加到 /mnt/fileshare/ 目录中名为 iocs_list.txt 的文件中。

操作配置

参数
实体 可疑主机名
文件名 /mnt/fileshare/ocs_list.txt

操作结果

  • 脚本结果
    脚本结果名称 值选项 示例
    AddedAllEntities True/False 正确

统计文件数

说明

根据特定文件扩展名统计给定文件夹路径中的文件数量。

参数

参数 类型 默认值 是必填字段 说明
文件扩展名 字符串 *.txt 指定要统计的文件扩展名。
文件夹 字符串 不适用 指定要统计文件数的文件夹路径。
Is Recursive 复选框 尚未核查 如果启用,系统将以递归方式统计目录中的所有文件。

示例

在此场景中,/mnt/fileshare 目录中所有包含 .txt 的文件都会被统计在内。

操作配置

参数
实体 所有实体
文件扩展名 *.txt
文件夹 /mnt/fileshare/
Is Recursive 已检查

操作结果

  • 脚本结果
    脚本结果名称 值选项 示例
    ScriptResult Count 值 10

创建归档文件

说明

根据提供的文件或目录列表创建归档文件。返回归档文件的位置。

参数

参数 类型 默认值 是必填字段 说明
归档类型 字符串 不适用 指定要创建的归档类型。支持:zip、tar、gztar、bztar、xtar。
归档基本名称 字符串 不适用 指定将要创建的归档文件的名称,不含扩展名。
归档输入 字符串 尚未核查 如果启用,系统将以递归方式统计目录中的所有文件。

示例

在此场景中,系统会创建一个名为 archived_ioc_files 的归档 zip 文件,其中包含 /mnt/fileshares 目录中的多个文件。

操作配置

参数
实体 所有实体
归档类型 zip
归档基本名称 archived_ioc_files
归档输入 /mnt/fileshares/ioc_list1,/mnt/fileshares/ioc_list2, /mnt/fileshares/ioc_list3

操作结果

  • 脚本结果
    脚本结果名称 值选项 示例
    ScriptResult True/False true
  • JSON 结果
     {
    "archive" : 
    "/opt/siemplify/siemplify_server/Scripting/FileUtilities/Archives/archived_ioc_files.zip",
    "success" : true
    }

解码 Base64

说明

对 Base64 输入字符串进行解码,并返回包含相应内容的 JSON 对象。

参数

参数 类型 默认值 是必填字段 说明
Base64 输入 字符串 不适用 指定要解码的 Base64 输入字符串。
编码 下拉列表 UTF-8 指定编码格式。UTF-8 或 ASCII。

示例

在此场景中,文件的 Base64 Blob 使用 UTF-8 转换为其原始内容。

操作配置

参数
实体 所有实体
Base64 输入 (2FtcGxIIGZpbGUgY29udGFpbmluZyBzYW1qbGUgZGFOYQ==
编码 UTF-8

操作结果

  • 脚本结果
    脚本结果名称 值选项 示例
    ScriptResult True/False true
  • JSON 结果
     {
    "decoded_content" : "<file content>"
    }

提取归档

说明

将归档文件提取到目录。

参数

参数 类型 默认值 是必填字段 说明
归档 字符串 不适用 指定要提取的归档文件的路径。支持:zip、tar、gztar、bztar、xtar。目标路径为: /opt/siemplify/siemplify_server/Scripting/FileUtilities/Extract

示例

在此场景中,ioc_lists.zip 中的文件会被提取并保存到 /opt/siemplify/siemplify_server/Scripting/FileUtilities/Extract 目录中。

操作配置

参数
实体 所有实体
归档 /opt/siemplify/siemplify_server/Scripting/FileUtilities/Extract/ioc_lists

操作结果

  • 脚本结果
    脚本结果名称 值选项 示例
    ScriptResult True/False true
  • JSON 结果
     {"archives" :
        {0 :
            "success" : true,
            "archive" : "ioc_lists.tar",
            "folder" : "/opt/siemplify/siemplify_server/Scripting/FileUtilities/Extract/ioc_lists",
            "files_with_path" :{
                    0 : "/opt/siemplify/siemplify_server/Scripting/FileUtilities/Extract/testarchive/Archives/ioc_lists.tar",
                    1 : "/opt/siemplify/siemplify_server/Scripting/FileUtilities/Extract/ioc_lists/Archives/file1"
                               },
            
            "files_list" : {
                    0 : "ioc_lists.tar",
                    1 : "file1",
                    2 : "file2"
                            },
            "files" :{
                "name" : "ioc_lists",
                "type" : "directory",
                "children" : {
                    0 :{
                        "name" : "ioc_lists.tar",
                        "type" : "file"
                       },
                    1 : {
                        "name" : "file1",
                        "type" : "file"
                        },
                    2 : {
                        "name" : "file2",
                        "type" : "file"
                        }
                             }
    
        }
    }

解压 ZIP 文件

说明

从 ZIP 归档中提取文件。它能够通过提供的密码或暴力破解来提取受密码保护的文件。它使用文件实体的 attachment_id 属性从支持请求墙中提取文件并解压缩。

参数

参数 类型 默认值 是必填字段 说明
在 JSON 结果中包含数据 复选框 尚未核查 指定是否要在 JSON 结果中以 Base64 值形式包含提取的数据。
创建实体 复选框 勾选 指定是否要根据提取的文件创建实体。
ZIP 文件密码 字符串 不适用 指定 zip 文件的密码(如果该文件受密码保护)。
暴力破解密码 复选框 尚未核查 指定是否要对受密码保护的 ZIP 文件进行暴力破解。
添加到案例墙 复选框 勾选 指定是否要将提取的文件添加到案件墙。
ZIP 密码列表分隔符 字符串 如果“Zip 文件密码”参数中提供了多个密码,请指定要使用的分隔符。

示例

在此场景中,系统会提取受密码保护的 ZIP 文件实体,并将生成的文件添加到案例墙,同时创建文件实体。

操作配置

参数
在 JSON 结果中包含数据 已检查
创建实体 已检查
ZIP 文件密码 Password1
暴力破解密码 未勾选
添加到案例墙 已检查
ZIP 密码列表分隔符

操作结果

  • 脚本结果
    脚本结果名称 值选项 示例
    zip_files_extracted True/False true

获取附件

说明

从支持服务请求墙中检索附件,并返回其 Base64 值。

参数

参数 类型 默认值 是必填字段 说明
附件范围 下拉列表 提醒 指定需要检索的附件类型。选项包括:支持请求或提醒

示例

在此场景中,附件从支持请求中提取并转换为 Base64 Blob。

操作配置

参数
实体 所有实体
附件范围 提醒

操作结果

  • 脚本结果
    脚本结果名称 值选项 示例
    ScriptResult 附件数量 1
  • JSON 结果
     {
    "evidenceName": "myfile.txt", 
    "description": "sample descriptions", 
    "evidenceThumbnailBase64": "", 
    "evidenceId": 475, 
    "fileType": ".txt", 
    "creatorUserId": "Siemplify automation", 
    "id": 475, 
    "type": 4, 
    "caseId": 51209, 
    "isFavorite": false, 
    "modificationTimeUnixTimeInMs": 1664222678523, 
    "creationTimeUnixTimeInMs": 1664222678523, 
    "alertIdentifier": "COFENSE TRIAGE: INBOX REPORTCBEdfghB-B9E2-4A04fghAB-136A6fdghF0C6", 
    "base64_blob": "dGhpcyBpcyB0ZXN0aW5nIHNhhdfhfpbmRlIHdpbmRvd3Mgc2hhcmdfghdfgUgddfghXNpbmcgc2llbXBsdfghaWZ5IGFndfghdfghdfghZW50"
    }

以 Base64 格式获取文件

说明

将目录中的文件转换为 Base64 值。

参数

参数 类型 默认值 是必填字段 说明
文件路径 字符串 不适用 指定存储文件的文件路径。如果指定了多个路径,请使用英文逗号分隔符。

示例

在此场景中,/mnt/sharefiles 目录中的一个名为 iocs_list.txt 的文件被转换为 Base64 blob。此操作通常与“添加附件”操作一起使用,后者将 Base64 Blob 作为输入,并将文件添加到支持请求墙中。

操作配置

参数
实体 所有实体
文件路径 /mnt/sharefiles/iocs_list.txt

操作结果

  • 脚本结果
    脚本结果名称 值选项 示例
    ScriptResult 附件数量 1
  • JSON 结果
     {
    "Filenames" : {
         0 :  "/opt/siemplify/siemplify_server/Scripting/Phishing_.eml",
         1 :  "/opt/siemplify/siemplify_server/Scripting/Logo.png"
         },
    "data" : {
         0 : {
              "path" : "/opt/siemplify/siemplify_server/Scripting",
              "filename" : "Phishing_.eml",
              "extension" : ".eml",
              "base64" : "asdfagdfgergert34523523452345dfg"  
         }
       }
    }  

从文件中移除实体

说明

从本地文件中移除目标实体的标识符。如果未能移除所有实体或某个实体不存在,则返回 False。

参数

参数 类型 默认值 是必填字段 说明
文件名 字符串 不适用 指定要从中移除实体的文件的名称。

示例

在此场景中,系统会从位于 /tmp 目录中的 ioc_list.txt 中移除内部主机名实体标识符。

操作配置

参数
实体 内部主机名
文件名 ioc_list

操作结果

  • 脚本结果
    脚本结果名称 值选项 示例
    RemovedAllEntities True/False 正确

将 Base64 保存到文件

说明

将 Base64 字符串转换为文件。它支持以英文逗号分隔的文件名和 Base64 输入列表。

默认文件路径:/opt/siemplify/siemplify_server/Scripting/downloads/FILE_NAME

使用代理时的默认文件路径:/opt/SiemplifyAgent/downloads/FILE_NAME

参数

参数 类型 默认值 是必填字段 说明
文件扩展名 字符串 不适用 指定要添加到文件名中的文件扩展名。
Base64 输入 字符串 不适用 指定将转换为文件的 Base64 字符串。支持使用英文逗号分隔。
文件名 字符串 不适用 指定将根据 Base64 字符串创建的文件的名称。

示例

在此场景中,如果操作在远程代理上运行,则 Base64 输入字符串会保存到 /opt/SiemplifyAgent/downloads 目录中的 ioc_list 文本文件。

操作配置

参数
实体 内部主机名
文件扩展名 txt
Base64 输入 c2FtcGxIIGZpbGUgY29udGFpbsdfgsdfgmluZyBzYW1wbGUgZGF

OYQ==

文件名 ioc_list

操作结果

  • 脚本结果
    脚本结果名称 值选项 示例
    ScriptResult True/False true
  • JSON 结果
     {
    "files": [
    {"file_name": "ioc_list", 
    "file_path": "/opt/SiemplifyAgent/downloads/ioc_list.txt", 
    "extension": ".txt"}]
    }

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