Google utilise la technologie IA pour traduire le contenu dans votre langue préférée. Les traductions générées par IA peuvent contenir des erreurs.
Envoyer des commentaires
Shell enfant inattendu
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Niveaux de service Premium et Enterprise (obsolètes)
Le niveau de service Security Command Center Enterprise sera arrêté le 21 mai 2027.
Si votre organisation utilise le niveau de service Enterprise, elle passera automatiquement au niveau de service Premium le 21 mai 2027 ou après.
Contactez votre responsable de compte ou un spécialiste des ventesGoogle Cloud si vous avez des questions.
Ce document décrit un type de résultat de détection de menace dans Security Command Center. Ces résultats 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 détection de menace disponibles, consultez cet index .
Présentation
Container Threat Detection a observé un processus qui a généré de manière inattendue un processus shell enfant. Cet événement peut indiquer qu'un pirate informatique tente d'abuser des commandes et des scripts shell.
Container Threat Detection est la source de ce résultat.
Actions à mettre en place
Pour traiter ce résultat, procédez comme suit :
Étape 1 : Examiner les détails du résultat
Ouvrez le résultat Unexpected Child Shell comme indiqué dans Examiner un résultat . Le panneau des détails du résultat s'ouvre dans l'onglet Résumé .
Dans l'onglet Résumé , examinez les informations des sections suivantes :
Risque détecté , en particulier les champs suivants :
Processus parent : processus qui a créé de manière inattendue le processus shell enfant.
Processus enfant : processus shell enfant.
Arguments : arguments fournis au binaire du processus shell enfant.
Variables d'environnement : variables d'environnement du binaire du processus shell enfant.
Conteneurs : nom du conteneur.
URI des conteneurs : URI de l'image 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.
Cliquez sur l'onglet JSON et notez les champs suivants :
+processes : tableau contenant tous les processus liés au résultat. Ce tableau inclut le processus shell enfant et le processus parent.
+resource:
+project_display_name : nom du projet contenant les composants.
+sourceProperties:
+VM_Instance_Name : nom du nœud GKE sur lequel le pod a été exécuté.
Étape 2 : Vérifier le cluster et le nœud
Dans la console Google Cloud , accédez à la page Clusters Kubernetes .
Accéder à la page "Clusters Kubernetes"
Dans la barre d'outils de la console Google Cloud , sélectionnez le projet indiqué dans resource.project_display_name, si nécessaire.
Sélectionnez le cluster indiqué dans resource.name. Notez toutes les métadonnées concernant le cluster et son propriétaire.
Cliquez sur l'onglet Nœuds . Sélectionnez le nœud indiqué dans VM_Instance_Name.
Cliquez sur l'onglet Détails et notez l'annotation container.googleapis.com/instance_id.
Étape 3 : Examiner le pod
Dans la console Google Cloud , accédez à la page Charges de travail Kubernetes .
Accéder à la page "Charges de travail Kubernetes"
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.
Cliquez sur Afficher les charges de travail du système .
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é.
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.
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
Dans la console Google Cloud , accédez à l'explorateur de journaux .
Accéder à l'explorateur de journaux
Dans la barre d'outils de la console Google Cloud , sélectionnez le projet listé dans resource.project_display_name.
Définissez Sélectionner une période sur la période qui vous intéresse.
Sur la page qui s'affiche, procédez comme suit :
Recherchez Pod_Name dans les journaux des pods à l'aide du filtre suivant :
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 "
Recherchez les journaux d'audit du cluster à l'aide du filtre suivant :
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
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 : Vérifiez le conteneur en cours d'exécution
Si le conteneur est toujours en cours d'exécution, il peut être possible d'analyser son environnement directement.
Accédez à la console Google Cloud .
Ouvrir la console Google Cloud
Dans la barre d'outils de la console Google Cloud , sélectionnez le projet listé dans resource.project_display_name.
Cliquez sur Activer Cloud Shell .
Obtenez les identifiants GKE pour votre cluster en exécutant les commandes suivantes.
Pour les clusters zonaux, exécutez la commande suivante :
gcloud container clusters get-credentials cluster_name --zone location --project resource.project_display_name
Pour les clusters régionaux, exécutez la commande suivante :
gcloud container clusters get-credentials cluster_name --region location --project resource.project_display_name
Pour lancer une interface système dans l'environnement de conteneur, exécutez la commande suivante :
kubectl exec --namespace= Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
Pour exécuter cette commande, vous devez avoir installé un shell sur le conteneur au niveau de /bin/sh.
Pour afficher tous les processus exécutés dans le conteneur, exécutez la commande suivante dans le shell du conteneur :
ps axjf
L'exécution de cette commande nécessite l'installation de /bin/ps sur le conteneur.
Étape 6 : Étudier les méthodes d'attaque et de réponse
Examinez les entrées du framework MITRE ATT&CK pour ce type de résultat : Interpréteur de commandes et de scripts : shell Unix .
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 des fichiers, des URL, des adresses IP et des domaines potentiellement malveillants.
Pour élaborer votre plan de réponse, combinez les résultats de votre enquête aux recherches de 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 il peut également avoir un impact sur vos opérations.
Veillez à bien évaluer les informations que vous collectez dans votre enquête pour déterminer quelle est la meilleure réponse à apporter aux problèmes soulevés par le résultat.
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
Envoyer des commentaires
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0 , et les échantillons de code sont régis par une licence Apache 2.0 . Pour en savoir plus, consultez les Règles du site Google Developers . Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2026/08/02 (UTC).
Voulez-vous nous donner plus d'informations ?
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2026/08/02 (UTC)."],[],[]]