ファイル ユーティリティ

概要

ファイル ユーティリティは、ハンドブックの機能強化に使用されるファイル アクションのセットです。

アクション

アタッチメントを追加

Description

ケースウォールにアタッチメントを追加します。

パラメータ

パラメータ タイプ デフォルト値 必須 Description
名前 文字列 なし ケースウォールに表示されるアタッチメントの名前を指定します。
IsFavorite チェックボックス オフ いいえ ケースウォールでアタッチメントをお気に入りとしてマークするかどうかを指定します。
Base64 Blob 文字列 なし アタッチメントの Base64 blob を指定します。「Get Files as Base64」アクションを使用して、Base 64 blob を取得します。
種類 文字列 なし ファイルの拡張子を指定
説明 文字列 なし ファイルの説明を指定します。


この場合、Base64 blob が前のアクションから得られ、ケースウォールに付加されます。ケースウォールに追加されたら今後の分析に利用できます。このアクションは、ファイルの Base64 文字列を生成する「Get File as 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
    }

エンティティをファイルに追加

Description

ターゲット エンティティの識別子をローカル ファイルに追加します。エンティティがファイルに追加されるのは 1 回だけで、エンティティがすでに存在する場合は False が返されます。

パラメータ

パラメータ タイプ デフォルト値 必須 Description
ファイル名 文字列 なし エンティティを書き込むファイルの名前を指定します。ファイルは /tmp/ ディレクトリに保存されます。

この場合、不審なホスト名のエンティティ ID が、/mnt/fileshare/ ディレクトリにある iocs_list.txt というファイルに追加されます。

アクション構成

パラメータ
エンティティ 不審なホスト名
ファイル名 /mnt/fileshare/ocs_list.txt

アクションの結果

  • スクリプトの結果
    スクリプトの結果名 値のオプション
    AddedAllEntities True/False True

ファイルをカウント

Description

特定のファイル拡張子に基づいて、特定のフォルダパス内のファイル数をカウントします。

パラメータ

パラメータ タイプ デフォルト値 必須 Description
ファイル拡張子 文字列 *.txt いいえ カウントするファイル拡張子を指定します。
フォルダ 文字列 なし ファイルをカウントするフォルダのパスを指定します。
Is Recursive チェックボックス オフ いいえ 有効にすると、ディレクトリ内のすべてのファイルが再帰的にカウントされます。

この場合、/mnt/fileshare ディレクトリにある .txt が付いたすべてのファイルがカウントされます。

アクション構成

パラメータ
エンティティ すべてのエンティティ
ファイル拡張子 *.txt
フォルダ /mnt/fileshare/
Is Recursive オン

アクションの結果

  • スクリプトの結果
    スクリプトの結果名 値のオプション
    ScriptResult カウント値 10

アーカイブを作成

Description

指定されたファイルまたはディレクトリのリストからアーカイブ ファイルを作成します。アーカイブ ファイルの場所を返します。

パラメータ

パラメータ タイプ デフォルト値 必須 Description
アーカイブ タイプ 文字列 なし 作成するアーカイブのタイプを指定します。対象: 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 をデコード

Description

Base64 入力文字列をデコードし、コンテンツを含む json オブジェクトを返します。

パラメータ

パラメータ タイプ デフォルト値 必須 Description
Base64 入力 文字列 なし デコードする Base64 入力文字列を指定します。
エンコード プルダウン UTF-8 エンコード形式を指定します。UTF-8 または ASCII。

この場合、ファイルの Base64 blob が UTF-8 を使用して元のコンテンツに変換されます。

アクション構成

パラメータ
エンティティ すべてのエンティティ
Base64 入力 (2FtcGxIIGZpbGUgY29udGFpbmluZyBzYW1qbGUgZGFOYQ==
エンコード UTF-8

アクションの結果

  • スクリプトの結果
    スクリプトの結果名 値のオプション
    ScriptResult True/False true
  • JSON の結果
     {
    "decoded_content" : "<file content>"
    }

アーカイブを解凍

Description

アーカイブ ファイルをディレクトリに解凍します。

パラメータ

パラメータ タイプ デフォルト値 必須 Description
Archive 文字列 なし 解凍するアーカイブのパスを指定します。対象: 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 ファイルを解凍

Description

ZIP アーカイブのファイルを解凍します。指定されたパスワードまたはブルート フォースによってパスワードで保護されたファイルを解凍する機能があります。ファイル エンティティの attachment_id 属性を使用して、ケースウォールからファイルを pull し、解凍します。

パラメータ

パラメータ タイプ デフォルト値 必須 Description
Include Data in JSON Result チェックボックス オフ いいえ 解凍したデータを Base64 値として json の結果に含めるかどうかを指定します。
Create Entities チェックボックス オン いいえ 解凍されたファイルからエンティティを作成するかどうかを指定します。
ZIP ファイルのパスワード 文字列 なし いいえ パスワードで保護されている場合は、その zip ファイルのパスワードを指定します。
Bruteforce Password チェックボックス オフ いいえ パスワードで保護された zip ファイルをブルート フォースするかどうかを指定します。
Add to Case Wall チェックボックス オン いいえ 解凍されたファイルをケースウォールに追加するかどうかを指定します。
Zip Password List Delimiter 文字列 , 「Zip File Password」パラメータで複数のパスワードが指定されている場合に使用する区切り文字を指定します。

この場合、パスワードで保護された zip ファイル エンティティが解凍され、その結果発生したファイルがファイル エンティティの作成とともにケースウォールに追加されます。

アクション構成

パラメータ
Include Data in JSON Result オン
Create Entities オン
Zip File Password Password1
Bruteforce Password オフ
Add to Case Wall オン
Zip Password List Delimiter ,

アクションの結果

  • スクリプトの結果
    スクリプトの結果名 値のオプション
    zip_files_extracted True/False true

アタッチメントを取得

Description

ケースウォールからアタッチメントを取得し、その Base64 値を返します。

パラメータ

パラメータ タイプ デフォルト値 必須 Description
アタッチメントのスコープ プルダウン アラート 取得する必要があるアタッチメントの種類を指定します。オプションは [ケース] または [アラート] です。

この場合、アタッチメントがケースウォールから pull され、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 として取得

Description

ディレクトリ内のファイルを Base64 値に変換します。

パラメータ

パラメータ タイプ デフォルト値 必須 Description
File Paths 文字列 なし ファイルが保存されるファイルパスを指定します。複数のパスを指定する場合は、カンマを区切り文字を使用します。

この場合、/mnt/sharefiles ディレクトリにある iocs_list.txt というファイルが Base64 blob に変換されます。このアクションは、Base64 blob を入力として受け取り、そのファイルをケースウォールに追加する「Add Attachment」アクションとともによく使用されます。

アクション構成

パラメータ
エンティティ すべてのエンティティ
File Paths /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"
         }
       }
    }  

ファイルからエンティティを削除

Description

ターゲット エンティティの識別子をローカル ファイルから削除します。すべてのエンティティの削除に失敗した場合、またはエンティティが存在しない場合は、False を返します。

パラメータ

パラメータ タイプ デフォルト値 必須 Description
ファイル名 文字列 なし エンティティを削除するファイルの名前を指定します。

この場合、内部ホスト名のエンティティ ID が、/tmp ディレクトリにある ioc_list.txt から削除されます。

アクション構成

パラメータ
エンティティ 内部ホスト名
ファイル名 ioc_list

アクションの結果

  • スクリプトの結果
    スクリプトの結果名 値のオプション
    RemovedAllEntities True/False True

Base64 をファイルに保存

Description

Base64 文字列をファイルに変換します。ファイル名と Base64 入力ではカンマ区切りのリストがサポートされます。

デフォルトのファイルパス: /opt/siemplify/siemplify_server/Scripting/downloads/FILE_NAME

エージェントを使用するデフォルトのファイルパス: /opt/SiemplifyAgent/downloads/FILE_NAME

パラメータ

パラメータ タイプ デフォルト値 必須 Description
ファイル拡張子 文字列 なし いいえ ファイル名に追加するファイル拡張子を指定します。
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"}]
    }