ファイル ユーティリティ
概要
ファイル ユーティリティは、ハンドブックの機能強化に使用されるファイル アクションのセットです。
アクション
アタッチメントを追加
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"}] }