Persistência: script de inicialização adicionado pelo administrador do GCE

Este documento descreve um tipo de descoberta de ameaças no Security Command Center. Essas descobertas são geradas por detectores de ameaças quando detectam um risco nos recursos da nuvem. Para ver uma lista completa, consulte Índice de descobertas de ameaças.

Visão geral

A chave de metadados da instância do Compute Engine startup-script ou startup-script-url foi alterada em uma instância criada há mais de sete dias.

O Event Threat Detection é a origem dessa descoberta.

Como responder

O plano de resposta a seguir pode ser apropriado para essa descoberta, mas também pode afetar as operações. Avalie cuidadosamente as informações coletadas na investigação para determinar a melhor maneira de resolver as descobertas.

Para responder a essa descoberta, faça o seguinte:

  1. Verifique se a alteração foi feita intencionalmente por um membro ou se foi implementada por um invasor para introduzir um novo acesso à sua organização.

  2. Verifique os registros usando os seguintes filtros:

    protopayload.resource.labels.instance_id=INSTANCE_ID
    protoPayload.serviceName="compute.googleapis.com"
    ((protoPayload.metadata.instanceMetaData.addedMetadataKey : "startup-script" OR
    protoPayload.metadata.instanceMetaData.modifiedMetadataKey : "startup-script" ) OR
    (protoPayload.metadata.instanceMetaData.addedMetadataKey : "startup-script-url" OR
    protoPayload.metadata.instanceMetaData.modifiedMetadataKey : "startup-script-url" ))
    logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
    

    Substitua:

    • INSTANCE_ID: o gceInstanceId listado na descoberta
    • ORGANIZATION_ID: o ID da organização
  3. Eventos de pesquisa que acionam essa descoberta:

Exemplo de JSON de descoberta

Confira a seguir um exemplo do JSON de descoberta.

{
  "finding": {
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "resourceName": "//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/COMPUTE_INSTANCE_NAME",
    "category": "Persistence: GCE Admin Added Startup Script",
    "sourceProperties": {
      "sourceId": {
        "projectNumber": "PROJECT_NUMBER",
        "customerOrganizationNumber": "ORGANIZATION_ID"
      },
      "detectionCategory": {
        "technique": "persistence",
        "indicator": "audit_log",
        "ruleName": "gce_admin",
        "subRuleName": "instance_add_startup_script"
      },
      "detectionPriority": "LOW",
      "affectedResources": [{
        "gcpResourceName": "//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/COMPUTE_INSTANCE_NAME"
      }, {
        "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
      }],
      "evidence": [{
        "sourceLogId": {
          "projectId": "0",
          "resourceContainer": "organizations/ORGANIZATION_ID",
          "timestamp": {
            "seconds": "1621624109",
            "nanos": 3.73721E8
          },
          "insertId": "INSERT_ID"
        }
      }],
      "properties": {
        "callerIp": "IP_ADDRESS",
        "principalEmail": "PRINCIPAL_EMAIL",
        "gceInstanceId": "COMPUTE_INSTANCE_ID",
        "projectId": "PROJECT_ID",
        "metadataKeyOperation": "ADDED",
        "callerUserAgent": "USER_AGENT",
      },
      "contextUris": {
      "mitreUri": {
          "displayName": "MITRE Link",
          "url": "https://attack.mitre.org/techniques/T1543/"
        },
        "cloudLoggingQueryUri": [{
          "displayName": "Cloud Logging Query Link",
          "url": "https://console.cloud.google.com/logs/query;query\u003dtimestamp%3D%222021-05-21T19:08:29.373721Z%22%0AinsertId%3D%22INSERT_ID%22%0Aresource.labels.project_id%3D%220%22?project\u003d0"
        }]
      }
    },
  "resource": {
    "name": "//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/COMPUTE_INSTANCE_NAME",
  }
}

A seguir