观察到恶意网址

本文档介绍了 Security Command Center 中的一种威胁发现结果类型。当威胁检测器在您的云资源中检测到潜在威胁时,会生成威胁发现结果。如需查看可用威胁发现结果的完整列表,请参阅威胁发现结果索引

概览

Container Threat Detection 在可执行的进程的参数列表中观察到一个恶意网址。攻击者可以通过恶意网址加载恶意软件或恶意库。

如何应答

如需响应此发现结果,请执行以下操作:

第 1 步:查看发现结果详情

  1. 按照查看发现结果中所述,打开 Malicious URL Observed 发现结果。系统会打开发现结果详细信息面板,以显示摘要标签页。

  2. 摘要标签页上,查看以下部分中的信息:

    • 检测到的内容,尤其是以下字段:
      • URI:观察到的恶意 URI。
      • 添加的二进制文件:接收包含恶意网址的参数的进程二进制文件的完整路径。
      • 参数:调用进程二进制文件时提供的参数。
      • 环境变量:调用进程二进制文件时生效的环境变量。
      • 容器:容器的名称。
      • Kubernetes Pod:Pod 名称和命名空间。
    • 受影响的资源,尤其是以下字段:
      • 资源显示名称:受影响资源的名称。
      • 资源全名:集群的完整资源名称。完整资源名称包含以下信息:
        • 包含集群的项目:projects/PROJECT_ID
        • 集群所在的位置:zone/ZONElocations/LOCATION
        • 集群的名称:projects/CLUSTER_NAME
    • 相关链接,尤其是以下字段:
      • VirusTotal 指示器:指向 VirusTotal 分析页面的链接。
  3. JSON 标签页上的 sourceProperties 特性中,记下 VM_Instance_Name 属性的值。

第 2 步:查看集群和节点

  1. 在 Google Cloud 控制台中,前往 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 如有必要,在 Google Cloud 控制台工具栏上,选择资源全名 (resource.name) 中显示的项目。项目名称显示在完整资源名称中的 /projects/ 之后。

  3. 点击您在发现结果摘要的资源显示名称 (resource.display_name) 中记下的集群名称。集群页面随即会打开。

  4. 在“集群详情”页面的“元数据”部分中,记下可能有助于解决威胁的任何用户定义信息,例如标识集群所有者的信息。

  5. 点击“节点”标签页。

  6. 从列出的节点中,选择与您之前在发现结果 JSON 中记下的 VM_Instance_Name 的值匹配的节点。

  7. 节点详情页面的详情标签页上的注解部分中,记下 container.googleapis.com/instance_id 注解的值。

第 3 步:审核 Pod

  1. 在 Google Cloud 控制台中,前往 Kubernetes 工作负载页面。

    转到“Kubernetes 工作负载”

  2. 如有必要,在 Google Cloud 控制台工具栏上,选择您在发现结果摘要的集群的资源全名 (resource.name) 中记下的项目。

  3. 点击显示系统工作负载

  4. 根据您在发现结果摘要的资源全名 (resource.name) 中记下的集群名称以及(如有必要)您记下的 pod 命名空间 (kubernetes.pods.ns) 过滤工作负载列表。

  5. 点击与您之前在发现结果 JSON 中记下的 VM_Instance_Name 属性的值匹配的工作负载名称。Pod 详情页面随即会打开。

  6. Pod 详情页面上,记下可能有助于您解决威胁的有关 Pod 的任何信息。

第 4 步:检查日志

  1. 在 Google Cloud 控制台中,前往 Logs Explorer

    前往 Logs Explorer

  2. 如有必要,在 Google Cloud 控制台工具栏上,选择资源全名 (resource.name) 中显示的项目。

  3. 选择时间范围设置为感兴趣的时间段。

  4. 在加载的页面上,执行以下操作:

    1. 使用以下过滤条件查找 pod kubernetes.pods.name 的 Pod 日志:
      • resource.type="k8s_container"
      • resource.labels.project_id="PROJECT_ID"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="NAMESPACE_NAME"
      • resource.labels.pod_name="POD_NAME"
    2. 使用以下过滤条件查找集群审核日志:
      • logName="projects/PROJECT_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="PROJECT_ID"
      • resource.labels.location="LOCATION_OR_ZONE"
      • resource.labels.cluster_name="CLUSTER_NAME/var>"
      • POD_NAME
    3. 使用以下过滤条件查找 GKE 节点控制台日志:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

第 5 步:调查正在运行的容器

如果容器仍在运行,则或许可以直接检查容器环境。

  1. 在 Google Cloud 控制台中,前往 Kubernetes 集群页面。

    转到 KUBERNETES 集群

  2. 点击 resource.labels.cluster_name 中显示的集群的名称。

  3. 集群页面上,点击连接,然后点击在 Cloud Shell 中运行

    Cloud Shell 将在终端中为集群启动和添加命令。

  4. 按 Enter 键,如果出现为 Cloud Shell 提供授权对话框,请点击授权

  5. 通过运行以下命令连接到容器环境:

      kubectl exec --namespace=POD_NAMESPACE -ti POD_NAME -c CONTAINER_NAME -- /bin/sh
    

    CONTAINER_NAME 替换为您之前在发现结果摘要中记下的容器的名称。

    此命令要求容器在 /bin/sh 处安装 shell。

第 6 步:研究攻击和响应方法

  1. 查看安全浏览网站状态,详细了解网址被归类为恶意网址的原因。
  2. 查看以下发现结果类型的 MITRE ATT&CK 框架条目:Ingress Tools Transfer
  3. 点击 VirusTotal 指标中的链接,以检查 VirusTotal 上标记为恶意的二进制文件的 SHA-256 哈希值。VirusTotal 是一项 Alphabet 自有服务,提供了有关潜在恶意文件、网址、网域和 IP 地址的上下文。
  4. 如需制定响应方案,请将您的调查结果与 MITRE 研究和 VirusTotal 分析相结合。

第 7 步:实现响应

以下响应方案可能适合此发现结果,但也可能会影响运营。 请仔细评估您在研究中收集的信息,以确定解析发现结果的最佳方法。

  • 与容器遭入侵的项目的所有者联系。
  • 停止或删除遭入侵的容器,并将其替换为新容器

后续步骤