URL malveillante détectée

Ce document décrit un type de résultat de menace dans Security Command Center. Les résultats de menace sont générés par les détecteurs de menaces lorsqu'ils détectent une menace potentielle dans vos ressources cloud. Pour obtenir la liste complète des résultats de menace disponibles, consultez l'index des résultats de menace.

Présentation

Container Threat Detection a détecté une URL malveillante dans la liste des arguments d'un processus exécutable. Les pirates informatiques peuvent charger des logiciels malveillants ou des bibliothèques malveillantes via des URL malveillantes.

Comment répondre

Pour répondre à ce résultat, procédez comme suit :

Étape 1 : Examiner les détails du résultat

  1. Ouvrez un résultat Malicious URL Observed comme indiqué dans la section Examiner les résultats. Le panneau d'informations sur le résultat s'ouvre sur l'onglet Résumé.

  2. Dans l'onglet Récapitulatif, examinez les informations des sections suivantes :

    • Ce qui a été détecté, en particulier les champs suivants :
      • URI : URI malveillant observé.
      • Binaire ajouté : chemin d'accès complet du binaire du processus qui a reçu les arguments contenant l'URL malveillante.
      • Arguments : arguments fournis lors de l'appel du binaire du processus.
      • Variables d'environnement : variables d'environnement en vigueur lors de l'appel du binaire du processus.
      • Conteneurs : nom du conteneur.
      • Pods Kubernetes : nom et espace de noms du pod.
    • Ressource concernée, en particulier les champs suivants :
      • Nom à afficher de la ressource : nom de la ressource concernée.
      • Nom complet de la ressource : nom complet de la ressource du cluster. Le nom complet de la ressource inclut les informations suivantes :
        • Projet contenant le cluster : projects/PROJECT_ID
        • Emplacement du cluster : zone/ZONE ou locations/LOCATION
        • Nom du cluster : projects/CLUSTER_NAME
    • Liens associés, en particulier les champs suivants :
      • Indicateur VirusTotal : lien vers la page d'analyse VirusTotal.
  3. Dans l'onglet JSON, dans l'attribut sourceProperties, notez la valeur de la propriété VM_Instance_Name.

Étape 2 : Vérifier le cluster et le nœud

  1. Dans la console Google Cloud , accédez à la page Clusters Kubernetes.

    Accéder à la page "Clusters Kubernetes"

  2. Dans la barre d'outils de la console Google Cloud , sélectionnez le projet qui apparaît dans Nom complet de la ressource (resource.name), si nécessaire. Le nom du projet apparaît après /projects/ dans le nom complet de la ressource.

  3. Cliquez sur le nom du cluster que vous avez noté dans Nom à afficher de la ressource (resource.display_name) du récapitulatif du résultat. La page Clusters s'ouvre.

  4. Dans la section Métadonnées de la page "Détails du cluster", notez toutes les informations définies par l'utilisateur qui pourraient être utiles pour résoudre la menace, comme les informations permettant d'identifier le propriétaire du cluster.

  5. Cliquez sur l'onglet "Nœuds".

  6. Dans la liste des nœuds, sélectionnez celui qui correspond à la valeur de VM_Instance_Name que vous avez notée précédemment dans le JSON du résultat.

  7. Dans l'onglet Détails de la page Détails du nœud, dans la section Annotations, notez la valeur de l'annotation container.googleapis.com/instance_id.

Étape 3 : Examiner le pod

  1. Dans la console Google Cloud , accédez à la page Charges de travail Kubernetes.

    Accéder à la page "Charges de travail Kubernetes"

  2. Dans la barre d'outils de la console Google Cloud , sélectionnez le projet que vous avez noté dans le nom complet de la ressource (resource.name) du cluster dans le récapitulatif du résultat, si nécessaire.

  3. Cliquez sur Afficher les charges de travail du système.

  4. Filtrez la liste des charges de travail par le nom du cluster que vous avez noté dans Nom complet de la ressource (resource.name) du récapitulatif du résultat et, si nécessaire, par l'espace de noms du pod (kubernetes.pods.ns) que vous avez noté.

  5. Cliquez sur le nom de la charge de travail qui correspond à la valeur de la propriété VM_Instance_Name que vous avez notée précédemment dans le JSON du résultat. La page Détails du pod s'ouvre.

  6. Sur la page Détails du pod, notez toutes les informations sur le pod qui pourraient vous aider à résoudre la menace.

Étape 4 : Vérifier les journaux

  1. Dans la console Google Cloud , accédez à l'explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Dans la barre d'outils de la console Google Cloud , sélectionnez le projet qui apparaît dans Nom complet de la ressource (resource.name), si nécessaire.

  3. Définissez Sélectionner une période sur la période qui vous intéresse.

  4. Sur la page qui s'affiche, procédez comme suit :

    1. Recherchez les journaux de votre pod (kubernetes.pods.name) à l'aide du filtre suivant :
      • 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"
    2. Recherchez les journaux d'audit du cluster à l'aide du filtre suivant :
      • 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
    3. Recherchez les journaux de la console de nœud GKE à l'aide du filtre suivant :
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

Étape 5 : Examiner le conteneur en cours d'exécution

Si le conteneur est toujours en cours d'exécution, il peut être possible d'analyser directement l'environnement du conteneur.

  1. Dans la console Google Cloud , accédez à la page Clusters Kubernetes.

    Accéder à la page "Clusters Kubernetes"

  2. Cliquez sur le nom du cluster affiché dans resource.labels.cluster_name.

  3. Sur la page Clusters, cliquez sur Se connecter, puis sur Exécuter dans Cloud Shell.

    Cloud Shell lance et ajoute des commandes pour le cluster dans le terminal.

  4. Appuyez sur Entrée. Si la boîte de dialogue Autoriser Cloud Shell s'affiche, cliquez sur Autoriser.

  5. Connectez-vous à l'environnement de conteneur en exécutant la commande suivante :

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

    Remplacez CONTAINER_NAME par le nom du conteneur que vous avez noté précédemment dans le récapitulatif du résultat.

    Pour ce faire, une interface système est installée sur le conteneur à l'adresse /bin/sh.

Étape 6 : Étudier les méthodes d'attaque et de réponse

  1. Consultez l'état de la navigation sécurisée pour le site pour savoir pourquoi l'URL est classée comme malveillante.
  2. Examinez les entrées du framework MITRE ATT&CK pour ce type de résultat : Transfert d'outil Ingress.
  3. Vérifiez la valeur de hachage SHA-256 du fichier binaire signalé comme malveillant sur VirusTotal en cliquant sur le lien dans l'indicateur VirusTotal. VirusTotal est un service appartenant à Alphabet qui fournit du contexte sur les fichiers, URL, domaines et adresses IP potentiellement malveillants.
  4. Pour élaborer un plan d'intervention, combinez les résultats de vos enquêtes avec les recherches MITRE et l'analyse VirusTotal.

Étape 7 : Mettre en œuvre votre réponse

Le plan de réponse suivant peut être adapté à ce résultat, mais peut également avoir une incidence sur les opérations. Évaluez soigneusement les informations que vous collectez dans votre enquête pour déterminer la meilleure façon de solutionner les menaces détectées.

  • Contactez le propriétaire du projet contenant le conteneur compromis.
  • Arrêtez ou supprimez le conteneur compromis et remplacez-le par un nouveau conteneur.

Étapes suivantes