En este documento se describe un tipo de hallazgo de amenazas en Security Command Center. Los hallazgos de amenazas los generan los detectores de amenazas cuando detectan una amenaza potencial en tus recursos de la nube. Para ver una lista completa de las detecciones de amenazas disponibles, consulta el índice de detecciones de amenazas.
Información general
Container Threat Detection ha detectado una URL maliciosa en la lista de argumentos de un proceso ejecutable. Los atacantes pueden cargar malware o bibliotecas maliciosas a través de URLs maliciosas.
Cómo responder
Para responder a esta observación, sigue estos pasos:
Paso 1: Revisa los detalles de la detección
Abre un
Malicious URL Observed
tal como se indica en el artículo Revisar resultados. Se abrirá el panel de detalles del resultado en la pestaña Resumen.En la pestaña Resumen, consulte la información de las siguientes secciones:
- Qué se detectó, especialmente los siguientes campos:
- URI el URI malicioso observado.
- Binario añadido: la ruta completa del binario del proceso que ha recibido los argumentos que contienen la URL maliciosa.
- Argumentos: los argumentos proporcionados al invocar el archivo binario del proceso.
- Variables de entorno: las variables de entorno que estaban en vigor cuando se invocó el archivo binario del proceso.
- Contenedores: el nombre del contenedor.
- Pods de Kubernetes: el nombre y el espacio de nombres del pod.
- Recurso afectado, especialmente los siguientes campos:
- Nombre visible del recurso: el nombre del recurso afectado.
- Nombre completo del recurso: el nombre completo del recurso
del clúster. El nombre completo del recurso incluye la siguiente información:
- El proyecto que contiene el clúster:
projects/PROJECT_ID
- Ubicación en la que se encuentra el clúster:
zone/ZONE
olocations/LOCATION
. - Nombre del clúster:
projects/CLUSTER_NAME
- El proyecto que contiene el clúster:
- Enlaces relacionados, especialmente los siguientes campos:
- Indicador de VirusTotal: enlace a la página de análisis de VirusTotal.
- Qué se detectó, especialmente los siguientes campos:
En la pestaña JSON, en el atributo
sourceProperties
, anota el valor de la propiedadVM_Instance_Name
.
Paso 2: Revisa el clúster y el nodo
En la Google Cloud consola, ve a la página Clústeres de Kubernetes.
En la barra de herramientas de la consola Google Cloud , selecciona el proyecto que aparece en Nombre completo del recurso (
resource.name
), si es necesario. El nombre del proyecto aparece después de/projects/
en el nombre de recurso completo.Haga clic en el nombre del clúster que ha anotado en Nombre visible del recurso (
resource.display_name
) del resumen de la detección. Se abrirá la página Clusters (Clústeres).En la sección de metadatos de la página **Detalles del clúster, anota cualquier información definida por el usuario que pueda ser útil para resolver la amenaza, como la información que identifica al propietario del clúster.
Haz clic en la pestaña Nodos.
En la lista de nodos, selecciona el nodo que coincida con el valor de
VM_Instance_Name
que has anotado en el JSON del hallazgo.En la pestaña Detalles de la página Detalles del nodo, en la sección Anotaciones, anota el valor de la anotación
container.googleapis.com/instance_id
.
Paso 3: Revisar el Pod
En la Google Cloud consola, ve a la página Cargas de trabajo de Kubernetes.
En la barra de herramientas de la consola Google Cloud , seleccione el proyecto que ha anotado en el nombre completo del recurso (
resource.name
) del clúster en el resumen de la detección, si es necesario.Haz clic en Mostrar cargas de trabajo del sistema.
Filtra la lista de cargas de trabajo por el nombre del clúster que has anotado en Nombre completo del recurso (
resource.name
) del resumen de la detección y, si es necesario, por el espacio de nombres (kubernetes.pods.ns
) del pod que has anotado.Haga clic en el nombre de la carga de trabajo que coincida con el valor de la propiedad
VM_Instance_Name
que ha anotado anteriormente en el JSON del hallazgo. Se abrirá la página Detalles del pod.En la página Detalles del Pod, anota cualquier información sobre el Pod que pueda ayudarte a resolver la amenaza.
Paso 4: Consulta los registros
En la Google Cloud consola, ve a Explorador de registros.
En la barra de herramientas de la consola Google Cloud , seleccione el proyecto que aparece en Nombre completo del recurso (
resource.name
), si es necesario.En Seleccionar periodo, elige el periodo que te interese.
En la página que se carga, haga lo siguiente:
- Busca los registros de tu pod (
kubernetes.pods.name
) con el siguiente filtro: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"
- Para encontrar los registros de auditoría de un clúster, usa el siguiente filtro:
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
- Para encontrar los registros de la consola de nodos de GKE, usa el siguiente filtro:
resource.type="gce_instance"
resource.labels.instance_id="INSTANCE_ID"
- Busca los registros de tu pod (
Paso 5: Investiga el contenedor en ejecución
Si el contenedor sigue en ejecución, es posible que puedas investigar el entorno del contenedor directamente.
En la Google Cloud consola, ve a la página Clústeres de Kubernetes.
Haz clic en el nombre del clúster que se muestra en
resource.labels.cluster_name
.En la página Clústeres, haz clic en Conectar y, a continuación, en Ejecutar en Cloud Shell.
Cloud Shell se inicia y añade comandos para el clúster en el terminal.
Pulsa Intro y, si aparece el cuadro de diálogo Autorizar Cloud Shell, haz clic en Autorizar.
Conéctate al entorno del contenedor ejecutando el siguiente comando:
kubectl exec --namespace=POD_NAMESPACE -ti POD_NAME -c CONTAINER_NAME -- /bin/sh
Sustituye
CONTAINER_NAME
por el nombre del contenedor que has anotado en el resumen de la detección.Este comando requiere que el contenedor tenga un shell instalado en
/bin/sh
.
Paso 6: Investiga los métodos de ataque y respuesta
- Consulta el estado del sitio de Navegación segura para obtener información sobre por qué se ha clasificado la URL como maliciosa.
- Revisa las entradas del framework ATT&CK de MITRE para este tipo de hallazgo: Transferencia de herramienta de entrada.
- Comprueba el valor del hash SHA-256 del archivo binario marcado como malicioso en VirusTotal haciendo clic en el enlace del indicador de VirusTotal. VirusTotal es un servicio propiedad de Alphabet que proporciona contexto sobre archivos, URLs, dominios y direcciones IP potencialmente maliciosos.
- Para desarrollar un plan de respuesta, combina los resultados de tu investigación con la investigación de MITRE y el análisis de VirusTotal.
Paso 7: Implementa tu respuesta
El siguiente plan de respuesta puede ser adecuado para este resultado, pero también puede afectar a las operaciones. Evalúa detenidamente la información que recojas en tu investigación para determinar la mejor forma de resolver los resultados.
- Ponte en contacto con el propietario del proyecto que contiene el contenedor vulnerado.
- Detén o elimina el contenedor comprometido y sustitúyelo por un contenedor nuevo.
Siguientes pasos
- Consulta cómo trabajar con las detecciones de amenazas en Security Command Center.
- Consulta el índice de hallazgos de amenazas.
- Consulta cómo revisar un resultado a través de la consola Google Cloud .
- Consulta información sobre los servicios que generan detecciones de amenazas.