Esecuzione: file binario dannoso integrato eseguito

Questo documento descrive un tipo di risultato di minaccia in Security Command Center. I risultati di minaccia vengono generati dai rilevatori di minacce quando rilevano una potenziale minaccia nelle risorse cloud. Per un elenco completo dei risultati di minaccia disponibili, consulta l'indice dei risultati di minaccia.

Panoramica

Un file binario eseguito, con il file binario:

  • Incluso nell'immagine container originale.
  • Identificato come dannoso in base alla threat intelligence.

L'autore dell'attacco ha il controllo del repository di immagini container o della pipeline di creazione, in cui il file binario dannoso viene inserito nell'immagine container.

Container Threat Detection è l'origine di questo risultato.

Come rispondere

Per rispondere a questo risultato:

Passaggio 1: esamina i dettagli del risultato

  1. Apri un risultato Execution: Built in Malicious Binary Executed come indicato in Esaminare i risultati. Si apre il riquadro dei dettagli del risultato nella scheda Riepilogo.

  2. Nella scheda Riepilogo, esamina le informazioni nelle seguenti sezioni:

    • Che cosa è stato rilevato, in particolare i seguenti campi:
      • Programma binario: il percorso assoluto del file binario integrato.
      • Argomenti: gli argomenti forniti durante l'invocazione del file binario integrato.
      • Container: il nome del container interessato.
      • URI container: il nome dell'immagine container di cui è stato eseguito il deployment.
    • Risorsa interessata, in particolare i seguenti campi:
      • Nome completo della risorsa: il nome completo della risorsa del cluster, inclusi il numero del progetto, la località e il nome del cluster.
    • Link correlati, in particolare i seguenti campi:
      • Indicatore VirusTotal: link alla pagina di analisi di VirusTotal.
  3. Fai clic su JSON e prendi nota dei seguenti campi:

    • sourceProperties:
      • VM_Instance_Name: il nome del nodo GKE in cui è stato eseguito il pod.

Passaggio 2: esamina il cluster e il nodo

  1. Nella Google Cloud console, vai alla pagina Cluster Kubernetes.

    Vai ai cluster Kubernetes

  2. Nella barra degli strumenti della Google Cloud console, seleziona il progetto elencato in resource.project_display_name, se necessario.

  3. Seleziona il cluster elencato nella riga Nome completo della risorsa nella scheda Riepilogo dei dettagli del risultato. Prendi nota di eventuali metadati su l cluster e sul relativo proprietario.

  4. Fai clic sulla scheda Nodi. Seleziona il nodo elencato in VM_Instance_Name.

  5. Fai clic sulla scheda Dettagli e prendi nota dell' container.googleapis.com/instance_id annotazione.

Passaggio 3: esamina il pod

  1. Nella Google Cloud console, vai alla pagina Carichi di lavoro Kubernetes.

    Vai ai carichi di lavoro Kubernetes

  2. Nella barra degli strumenti della Google Cloud console, seleziona il progetto elencato in resource.project_display_name, se necessario.

  3. Filtra in base al cluster elencato nella riga Nome completo della risorsa nella scheda Riepiliego dei dettagli del risultato e allo spazio dei nomi del pod elencato in Pod_Namespace, se necessario.

  4. Seleziona il pod elencato in Pod_Name. Prendi nota di eventuali metadati sul pod e sul relativo proprietario.

Passaggio 4: controlla i log

  1. Nella Google Cloud console, vai a Esplora log.

    Vai a Esplora log

  2. Nella barra degli strumenti della Google Cloud console, seleziona il progetto elencato in resource.project_display_name, se necessario.

  3. Imposta Seleziona intervallo di tempo sul periodo di interesse.

  4. Nella pagina che viene caricata, procedi nel seguente modo:

    1. Trova i log dei pod per Pod_Name utilizzando il seguente filtro:
      • 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. Trova gli audit log del cluster utilizzando il seguente filtro:
      • 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. Trova i log della console dei nodi GKE utilizzando il seguente filtro:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

Passaggio 5: esamina il container in esecuzione

Se il container è ancora in esecuzione, potrebbe essere possibile esaminare direttamente l'ambiente container.

  1. Vai alla Google Cloud console.

    Apri Google Cloud console

  2. Nella barra degli strumenti della Google Cloud console, seleziona il progetto elencato in resource.project_display_name, se necessario.

  3. Fai clic su Attiva Cloud Shell

  4. Recupera le credenziali GKE per il tuo cluster eseguendo i seguenti comandi.

    Per i cluster di zona:

      gcloud container clusters get-credentials cluster_name --zone location --project project_name
    

    Per i cluster a livello di regione:

      gcloud container clusters get-credentials cluster_name --region location --project project_name
    

    Sostituisci quanto segue:

    • cluster_name: il cluster elencato in resource.labels.cluster_name
    • location: la località elencata in resource.labels.location
    • project_name: il nome del progetto elencato in resource.project_display_name
  5. Recupera il file binario dannoso integrato:

      kubectl cp Pod_Namespace/Pod_Name:Process_Binary_Fullpath -c Container_Name  local_file
    

    Sostituisci local_file con un percorso locale per archiviare il file binario dannoso integrato.

  6. Connettiti all'ambiente container:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    Questo comando richiede che nel container sia installata una shell in /bin/sh.

Passaggio 6: ricerca i metodi di attacco e risposta

  1. Esamina le voci del framework MITRE ATT&CK per questo tipo di risultato: Ingress Tool Transfer, Native API.
  2. Controlla il valore hash SHA-256 del file binario contrassegnato come dannoso su VirusTotal facendo clic sul link in Indicatore VirusTotal. VirusTotal è un servizio di proprietà di Alphabet che fornisce il contesto di file, URL, domini e indirizzi IP potenzialmente dannosi.
  3. Per sviluppare un piano di risposta, combina i risultati dell'indagine con la ricerca MITRE e l'analisi di VirusTotal.

Passaggio 7: implementa la risposta

Il seguente piano di risposta potrebbe essere appropriato per questo risultato, ma potrebbe anche influire sulle operazioni. Valuta attentamente le informazioni raccolte durante l'indagine per determinare il modo migliore per risolvere i risultati.

  • Contatta il proprietario del progetto con il container compromesso.
  • Arresta o elimina il container compromesso e sostituiscilo con un nuovo container.

Passaggi successivi