Acceso inicial: Acción de cuenta de servicio inactiva

En este documento, se describe un tipo de hallazgo de amenazas de Security Command Center. Los detectores de amenazas generan hallazgos de amenazas cuando identifican una posible amenaza en tus recursos de Cloud. Para obtener una lista completa de los hallazgos de amenazas disponibles, consulta el Índice de hallazgos de amenazas.

Descripción general

Una cuenta de servicio administrada por el usuario inactiva activó una acción. En este contexto, se considera que una cuenta de servicio está inactiva si no se usó durante más de 180 días.

Event Threat Detection es la fuente de este hallazgo.

Cómo se debe responder

Para responder a este hallazgo, sigue los pasos que se indican a continuación:

Paso 1: Revisa los detalles del hallazgo

  1. Abre un hallazgo de Initial Access: Dormant Service Account Action como se indica en Revisa los hallazgos.
  2. En los detalles del hallazgo, en la pestaña Resumen, anota los valores de los siguientes campos.

    En Qué se detectó, se muestra lo siguiente:

    • Correo electrónico principal: Es la cuenta de servicio inactiva que realizó la acción.
    • Nombre del servicio: Es el nombre de la API del servicio de Google Cloud al que accedió la cuenta de servicio.
    • Nombre del método: Es el método al que se llamó.

Paso 2: Investiga los métodos de ataque y respuesta

  1. Usa herramientas de cuentas de servicio, como el Analizador de actividad, para investigar la actividad de la cuenta de servicio inactiva.
  2. Comunícate con el propietario de la cuenta de servicio en el campo Correo electrónico del principal. Confirma si el propietario legítimo llevó a cabo la acción.

Paso 3: Implementa la respuesta

El siguiente plan de respuesta podría ser adecuado para este hallazgo, pero también podría afectar las operaciones. Evalúa con cuidado la información que recopilas en tu investigación para determinar la mejor manera de resolver los hallazgos.

  • Comunícate con el propietario del proyecto en el que se hizo la acción.
  • Considera borrar la cuenta de servicio vulnerada, además de rotar y borrar todas las claves de acceso de la cuenta de servicio del proyecto vulnerado. Después de la eliminación, las aplicaciones que usan la cuenta de servicio para la autenticación perderán el acceso. Antes de continuar, tu equipo de seguridad debe identificar todas las aplicaciones afectadas y trabajar con los propietarios de estas para garantizar la continuidad empresarial.
  • Trabaja con tu equipo de seguridad para identificar recursos desconocidos, incluidos instancias de Compute Engine, instantáneas, cuentas de servicio y usuarios de IAM. Borra los recursos que no se crearon con cuentas autorizadas.
  • Responde las notificaciones de la asistencia de Google Cloud .
  • Para limitar quién puede crear cuentas de servicio, usa el Servicio de políticas de la organización.
  • Para identificar y corregir los roles demasiado permisivos, usa el recomendador de IAM.

Ejemplo de JSON de hallazgo

A continuación, se muestra un ejemplo del JSON del hallazgo.

{
 "findings": {
   "access": {
     "principalEmail": "DORMANT_SERVICE_ACCOUNT",
     "callerIp": "IP_ADDRESS",
     "callerIpGeo": {
        "regionCode": "US"
      },
     "serviceName": "SERVICE_NAME",
     "methodName": "METHOD_NAME"
   },
   "assetDisplayName": "ASSET_DISPLAY_NAME",
   "assetId": "organizations/ORGANIZATION_NUMBER/assets/ASSET_ID",
   "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
   "category": "Initial Access: Dormant Service Account Action",
   "contacts": {
     "security": {
       "contacts": [
         {
           "email": "EMAIL_ADDRESS"
         },
         {
           "email": "EMAIL_ADDRESS"
         },
         {
           "email": "EMAIL_ADDRESS"
         }
       ]
     },
     "technical": {
       "contacts": [
         {
           "email": "EMAIL_ADDRESS"
         },
         {
           "email": "EMAIL_ADDRESS"
         },
         {
           "email": "EMAIL_ADDRESS"
         }
       ]
     }
   },
   "createTime": "2023-01-12T10:35:47.381Z",
   "database": {},
   "eventTime": "2023-01-12T10:35:47.270Z",
   "exfiltration": {},
   "findingClass": "THREAT",
   "findingProviderId": "organizations/ORGANIZATION_NUMBER/firstPartyFindingProviders/etd",
   "indicator": {},
   "kernelRootkit": {},
   "kubernetes": {},
   "mitreAttack": {
    "primaryTactic": "INITIAL_ACCESS",
    "primaryTechniques": [
      "VALID_ACCOUNTS",
      "CLOUD_ACCOUNTS"
      ]
   },
   "mute": "UNDEFINED",
   "name": "organizations/ORGANIZATION_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
   "parent": "organizations/ORGANIZATION_NUMBER/sources/SOURCE_ID",
   "parentDisplayName": "Event Threat Detection",
   "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
   "severity": "HIGH",
   "sourceDisplayName": "Event Threat Detection",
   "state": "ACTIVE",
   "vulnerability": {},
   "workflowState": "NEW"
 },
 "resource": {
   "name": "RESOURCE_NAME",
   "display_name": "RESOURCE_DISPLAY_NAME",
   "project_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
   "project_display_name": "PROJECT_ID",
   "parent_name": "//cloudresourcemanager.googleapis.com/folders/FOLDER_NUMBER",
   "parent_display_name": "FOLDER_NAME",
   "type": "RESOURCE_TYPE",
   "folders": [
     {
       "resourceFolderDisplayName": "FOLDER_NAME",
       "resourceFolder": "//cloudresourcemanager.googleapis.com/folders/FOLDER_NUMBER"
     }
   ]
 },
 "sourceProperties": {
   "sourceId": {
     "projectNumber": "PROJECT_NUMBER",
     "customerOrganizationNumber": "ORGANIZATION_NUMBER"
   },
   "detectionCategory": {
     "technique": "persistence",
     "indicator": "audit_log",
     "ruleName": "dormant_sa_used_in_action",
   },
   "detectionPriority": "HIGH",
   "affectedResources": [
     {
       "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
     }
   ],
   "evidence": [
     {
       "sourceLogId": {
         "projectId": "PROJECT_ID",
         "resourceContainer": "projects/PROJECT_ID",
         "timestamp": {
           "seconds": "1673519681",
           "nanos": 728289000
         },
         "insertId": "INSERT_ID"
       }
     }
   ],
   "properties": {},
   "findingId": "FINDING_ID",
   "contextUris": {
     "mitreUri": {
       "displayName": "MITRE Link",
       "url": "https://attack.mitre.org/tactics/TA0003/"
     }
   }
 }
}

¿Qué sigue?