檔案公用程式
總覽
檔案公用程式是一組檔案動作,用於強化劇本功能。
動作
新增附件
說明
將附件新增至案件牆。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
---|---|---|---|---|
名稱 | 字串 | 不適用 | 是 | 指定要在案件牆上顯示的附件名稱。 |
IsFavorite | 核取方塊 | 已取消勾選 | 否 | 指定是否要在案件牆中將附件標示為「我的最愛」。 |
Base64 Blob | 字串 | 不適用 | 是 |
指定附件的 Base64 blob。使用「Get Files as Base64」(以 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 }
將實體新增至檔案
說明
將目標實體的 ID 新增至本機檔案。系統只會在檔案中新增一個實體例項,如果實體已存在,則會傳回 False。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
檔案名稱 | 字串 | 不適用 | 是 | 指定要將實體寫入的檔案名稱。檔案會儲存在 /tmp/ 目錄中。 |
示例
在這個情境中,可疑的主機名稱實體 ID 會新增至 /mnt/fileshare/ 目錄中名為 iocs_list.txt 的檔案。
動作設定
參數 | 值 |
實體 | 可疑主機名稱 |
檔案名稱 | /mnt/fileshare/ocs_list.txt |
動作執行結果
-
指令碼執行結果
指令碼結果名稱 價值選項 示例 AddedAllEntities True/False 是
計算檔案
說明
根據特定副檔名,計算指定資料夾路徑中的檔案數量。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
副檔名 | 字串 | *.txt | 否 | 指定要計算的檔案副檔名。 |
資料夾 | 字串 | 不適用 | 是 | 指定要計算檔案數量的資料夾路徑。 |
是否為遞迴 | 核取方塊 | 已取消勾選 | 否 | 如果啟用這項功能,系統會以遞迴方式計算目錄中的所有檔案。 |
示例
在此情境中,系統會計算 /mnt/fileshare 目錄中所有含有 .txt 的檔案。
動作設定
參數 | 值 |
實體 | 所有實體 |
副檔名 | *.txt |
資料夾 | /mnt/fileshare/ |
Is Recursive | 已勾選 |
動作執行結果
-
指令碼執行結果
指令碼結果名稱 值選項 示例 ScriptResult 計數值 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 是 -
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。 |
示例
在這個情境中,系統會使用 UTF-8 將檔案的 Base64 Blob 轉換為原始內容。
動作設定
參數 | 值 |
實體 | 所有實體 |
Base64 輸入 | (2FtcGxIIGZpbGUgY29udGFpbmluZyBzYW1qbGUgZGFOYQ== |
編碼 | UTF-8 |
動作執行結果
-
指令碼執行結果
指令碼結果名稱 價值選項 示例 ScriptResult True/False 是 -
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 是 -
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 是
取得附件
說明
從案件牆擷取附件,並傳回 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" } } }
從檔案中移除實體
說明
從本機檔案中移除目標實體的 ID。如果無法移除所有實體,或實體不存在,則會傳回 False。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
檔案名稱 | 字串 | 不適用 | 是 | 指定要從中移除實體的檔案名稱。 |
示例
在此情境中,系統會從 /tmp 目錄中的 ioc_list.txt 移除內部主機名稱實體 ID。
動作設定
參數 | 值 |
實體 | 內部主機名稱 |
檔案名稱 | 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 是 -
JSON 結果
{ "files": [ {"file_name": "ioc_list", "file_path": "/opt/SiemplifyAgent/downloads/ioc_list.txt", "extension": ".txt"}] }
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。