将文件上传到主机编辑

将文件上传到运行 Elastic Defend 的主机。

您必须在 Security 功能中具有 File Operations Kibana 权限,并且至少拥有 Enterprise 许可证才能执行此操作。

请求 URL编辑

POST <kibana 主机>:<端口>/api/endpoint/action/upload

请求必须包含 Content-Type: multipart/form-data HTTP 头。

请求主体编辑

一个 multipart/form-data,其中包含以下内容:

名称 类型 描述 必需

endpoint_ids

数组(字符串)

您要对这些端点发出此操作的 ID。

agent_type

字符串

主机运行的 Agent 类型。接受的值为

  • endpoint(默认)
  • sentinel_one(目前处于技术预览阶段)

alert_ids

数组(字符串)

如果此操作与任何警报相关联,则可以在这里指定它们。该操作将在与指定警报相关联的任何情况下记录。

case_ids

数组(字符串)

记录所采取操作的案件 ID。

comment

字符串

将注释附加到此操作的日志。注释文本将出现在关联的案件中。

parameters.overwrite

布尔值

如果主机上已存在文件,则覆盖该文件。

file

要上传的文件内容。

示例请求编辑

将名为 fix-malware.sh 的文件上传到 endpoint_id 值为 ed518850-681a-4d60-bb98-e22640cae2a8 的主机。假设该文件位于输入命令的同一目录中

curl -X POST "api/endpoint/action/upload" \
-H 'kbn-xsrf: true' \
-H 'Content-Type: multipart/form-data' \
-F 'endpoint_ids: ["ed518850-681a-4d60-bb98-e22640cae2a8"]' \
-F "[email protected]" 

要上传文件的相对路径。请注意,路径必须以 @ 开头。

响应代码编辑

200
表示成功调用。
403
表示权限不足或许可证级别不支持(需要至少拥有 Enterprise 许可证)。

响应有效负载编辑

一个包含创建的响应操作详细信息的 JSON 对象。

示例响应编辑

{
  "data": {
    "id": "9ff6aebc-2cb6-481e-8869-9b30036c9731",
    "agents": [
      "ed518850-681a-4d60-bb98-e22640cae2a8"
    ],
    "hosts": {
      "ed518850-681a-4d60-bb98-e22640cae2a8": {
        "name": "Host-5i6cuc8kdv"
      }
    },
    "command": "upload",
    "agentType": "endpoint",
    "startedAt": "2023-07-03T15:07:22.837Z",
    "isCompleted": false,
    "wasSuccessful": false,
    "isExpired": false,
    "status": "pending",
    "outputs": {},
    "agentState": {
      "ed518850-681a-4d60-bb98-e22640cae2a8": {
        "isCompleted": false,
        "wasSuccessful": false
      }
    },
    "createdBy": "elastic",
    "parameters": {
      "file_name": "fix-malware.sh",
      "file_id": "10e4ce3d-4abb-4f93-a0cd-eaf63a489280",
      "file_sha256": "a0bed94220193ba4895c0aa5b4e7e293381d15765cb164ddf7be5cdd010ae42a",
      "file_size": 69
    }
  }
}