影响:使用 Stratum 协议的可疑加密货币挖矿活动

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

概览

系统识别到一个进程执行了批量数据删除操作,这可能表明有人试图清除取证证据、干扰服务或执行数据擦除攻击。此活动令人担忧,因为攻击者可能会移除日志、数据库或重要文件,以掩盖其踪迹或破坏系统。数据销毁通常是勒索软件攻击、内部威胁或高级持续性威胁 (APT) 试图逃避检测并造成运营损害的一部分。

如何应答

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

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

  1. 按照查看发现结果中所述,打开 Impact: Suspicious crypto mining activity using the Stratum Protocol 发现结果。系统会打开发现结果详细信息面板,以显示摘要标签页。

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

    • 检测到的内容,尤其是以下字段:
      • 程序二进制文件:所执行二进制文件的绝对路径。
      • 参数:二进制文件执行期间传递的参数。
    • 受影响的资源,尤其是以下字段:
      • 资源全名:集群的完整资源名称,其中包括项目编号、位置和集群名称。
  3. 在发现结果的详情视图中,点击 JSON 标签页。

  4. 在 JSON 中,请注意以下字段。

    • resource
      • project_display_name:包含集群的项目的名称。
    • finding
      • processes
      • binary
        • path:所执行二进制文件的完整路径。
      • args:执行二进制文件时提供的参数。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空间的名称。
      • Pod_Name:GKE Pod 的名称。
      • Container_Name:受影响的容器的名称。
      • Container_Image_Uri:要部署的容器映像的名称。
      • VM_Instance_Name:在其中执行 Pod 的 GKE 节点的名称。
  5. 识别此容器在相似时间发生的其他发现结果。 相关发现结果可能表明此活动是恶意活动,而不是未遵循最佳实践。

第 2 步:查看集群和节点

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

    前往 Kubernetes 集群

  2. 如有必要,在 Google Cloud 控制台工具栏中选择 resource.project_display_name 中列出的项目。

  3. 选择发现结果详细信息摘要标签页中资源全名行上列出的集群。请记下有关集群及其所有者的所有元数据。

  4. 点击节点标签页。选择 VM_Instance_Name 中列出的节点。

  5. 点击详细信息标签页,并记下 container.googleapis.com/instance_id 注解。

第 3 步:审核 Pod

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

    前往 Kubernetes 工作负载

  2. 如有必要,在 Google Cloud 控制台工具栏中选择 resource.project_display_name 中列出的项目。

  3. 如有必要,对发现结果详细信息摘要标签页中资源全名行上列出的集群以及 Pod_Namespace 中列出的 Pod 命名空间进行过滤。

  4. 选择 Pod_Name 中列出的 Pod。请记下有关 Pod 及其所有者的所有元数据。

第 4 步:检查日志

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

    前往 Logs Explorer

  2. 如有必要,在 Google Cloud 控制台工具栏中选择 resource.project_display_name 中列出的项目。

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

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

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

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

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

  1. 前往 Google Cloud 控制台。

    打开 Google Cloud 控制台

  2. 如有必要,在 Google Cloud 控制台工具栏中选择 resource.project_display_name 中列出的项目。

  3. 点击激活 Cloud Shell

  4. 通过运行以下命令获取集群的 GKE 凭据。

    对于可用区级集群:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    对于区域级集群:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    替换以下内容:

    • CLUSTER_NAMEresource.labels.cluster_name 中列出的集群
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的项目名称
  5. 检索已执行的二进制文件:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    local_file 替换为本地文件路径,以存储添加的二进制文件。

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

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

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

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

  1. 查看此发现结果类型的 MITRE ATT&CK 框架条目:资源黑客攻击
  2. 如需制定响应方案,请将您的调查结果与 MITRE 研究相结合。

第 7 步:实现响应

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

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

后续步骤