Container Threat Detection testen

>

Prüfen Sie, ob Container Threat Detection ordnungsgemäß funktioniert. Dazu lösen Sie absichtlich Detektoren aus und prüfen die Ergebnisse. Container Threat Detection ist ein integrierter Dienst für die Premium-Stufe von Security Command Center. Zum Anzeigen der Container Threat Detection-Ergebnisse muss sie in den Services-Einstellungen von Security Command Center aktiviert sein.

Hinweis

Um potenzielle Bedrohungen für Ihre Container zu erkennen, müssen Sie darauf achten, dass Ihre Cluster auf einer unterstützten Version von Google Kubernetes Engine (GKE) basieren. Weitere Informationen finden Sie unter Unterstützte GKE-Version verwenden.

Ausgeführte Binärdatei hinzugefügt

Löschen Sie eine Binärdatei in Ihrem Container, um sie auszuführen. In diesem Beispiel wird das neueste Ubuntu 18.04-Image bereitgestellt, /bin/ls an einen anderen Speicherort kopiert und dann ausgeführt. Die Ausführung der Binärdatei ist unerwartet, da die Kopie der Binärdatei nicht Teil des ursprünglichen Container-Images war, auch wenn das Image unter Ubuntu 18.04 ausgeführt wird und Container unveränderlich sind.

  1. Gehen Sie zur Google Cloud Console.
    Zur Google Cloud Console
  2. Wählen Sie das Projekt aus, das den Container enthält, den Sie testen möchten.
  3. Klicken Sie auf Google Cloud Shell aktivieren
  4. Legen Sie in Cloud Shell Umgebungsvariablen fest:

    1. Die E-Mail-Adresse Ihres Dienstkontos:

      export SERVICE_ACCOUNT_EMAIL=service-account-address@iam.gserviceaccount.com
      
    2. Die Zone, in der sich der Cluster befindet:

      export ZONE=cluster-zone
      
    3. Das Projekt, in dem sich der Container befindet:

      export CONSUMER_PROJECT=project-name
      
    4. Ihr Clustername:

      export CLUSTER_NAME=cluster-name
      
  5. Rufen Sie den Plan zur Clustersteuerung auf:

    gcloud container clusters get-credentials $CLUSTER_NAME \
     --zone $ZONE \
     --project $CONSUMER_PROJECT
    
  6. Legen Sie eine Binärdatei ab und führen Sie sie aus:

    tag="dropped-binary-$(date +%Y-%m-%d-%H-%M-%S)"
    kubectl run --restart=Never --rm=true --wait=true -i \
    --image marketplace.gcr.io/google/ubuntu1804:latest \
    "$tag" -- bash -c "cp /bin/ls /tmp/$tag; /tmp/$tag"
    

Mit diesem Testverfahren wird ein zusätzliches Binärprogramm erstellt, das in Security Command Center und in Cloud Logging angezeigt werden kann, wenn Sie Logging für Container Threat Detection konfiguriert haben.

Hinzugefügte Mediathek geladen

Ziehen Sie eine Bibliothek in den Container und laden Sie sie, um das hinzugefügte Ergebnis abzurufen. In diesem Beispiel wird das neueste Ubuntu 18.04-Image bereitgestellt, /lib/x86_64-linux-gnu/libc.so.6 an einen anderen Speicherort kopiert und dann mit ld geladen. Die geladene Bibliothek ist unerwartet, da die Kopie der Bibliothek nicht Teil des ursprünglichen Container-Images war, auch wenn sich das Image unter Ubuntu 18.04 befindet und Container unveränderlich sind.

  1. Gehen Sie zur Google Cloud Console.
    Zur Google Cloud Console
  2. Wählen Sie das Projekt aus, das den Container enthält, den Sie testen möchten.
  3. Klicken Sie auf Google Cloud Shell aktivieren
  4. Legen Sie in Cloud Shell Umgebungsvariablen fest:

    1. Die E-Mail-Adresse Ihres Dienstkontos:

      export SERVICE_ACCOUNT_EMAIL=service-account-address@iam.gserviceaccount.com
      
    2. Die Zone, in der sich der Cluster befindet:

      export ZONE=cluster-zone
      
    3. Das Projekt, in dem sich der Container befindet:

      export CONSUMER_PROJECT=project-name
      
    4. Ihr Clustername:

      export CLUSTER_NAME=cluster-name
      
  5. Rufen Sie den Plan zur Clustersteuerung auf:

    gcloud container clusters get-credentials $CLUSTER_NAME \
     --zone $ZONE \
     --project $CONSUMER_PROJECT
    
  6. Legen Sie eine Mediathek ab und laden Sie sie mit ld:

    tag="dropped-library-$(date +%Y-%m-%d-%H-%M-%S)"
    kubectl run --restart=Never --rm=true --wait=true -i \
    --image marketplace.gcr.io/google/ubuntu1804:latest \
    "$tag" -- bash -c "cp /lib/x86_64-linux-gnu/libc.so.6 /tmp/$tag; /lib64/ld-linux-x86-64.so.2 /tmp/$tag"
    

Mit diesem Testverfahren sollte ein hinzugefügtes geladenes Ergebnis erstellt werden, das in Security Command Center sowie in Cloud Logging angezeigt werden kann, wenn Sie Logging für Container Threat Detection konfiguriert haben.

Reverse Shell

Wenn Sie eine Reverse-Shell-Suche auslösen möchten, starten Sie eine Binärdatei mit stdin-Weiterleitung zu einem mit TCP verbundenen Socket. In diesem Beispiel wird /bin/echo mit einer Weiterleitung zum öffentlichen DNS von Google 8.8.8.8 am DNS-Port gestartet. Beim Ausführen dieses Beispiels wird nichts ausgegeben. In diesem Beispiel wird der /bin/bash binary nicht verwendet, um zu verhindern, dass ein externer Code durch einen Man-in-the-Middle-Angriff ausgelöst wird.

  1. Gehen Sie zur Google Cloud Console.
    Zur Google Cloud Console
  2. Wählen Sie das Projekt aus, das den Container enthält, den Sie testen möchten.
  3. Klicken Sie auf Google Cloud Shell aktivieren
  4. Legen Sie in Cloud Shell Umgebungsvariablen fest:

    1. Die E-Mail-Adresse Ihres Dienstkontos:

      export SERVICE_ACCOUNT_EMAIL=service-account-address@iam.gserviceaccount.com
      
    2. Die Zone, in der sich der Cluster befindet:

      export ZONE=cluster-zone
      
    3. Das Projekt, in dem sich der Container befindet:

      export CONSUMER_PROJECT=project-name
      
    4. Ihr Clustername:

      export CLUSTER_NAME=cluster-name
      
  5. Rufen Sie den Plan zur Clustersteuerung auf:

    gcloud container clusters get-credentials $CLUSTER_NAME \
     --zone $ZONE \
     --project $CONSUMER_PROJECT
    
  6. Starten Sie eine Binärdatei mit /bin/echo-Weiterleitung zu Google Public DNS:

    tag="reverse-shell-$(date +%Y-%m-%d-%H-%M-%S)"
    kubectl run --restart=Never --rm=true --wait=true -i \
    --image marketplace.gcr.io/google/ubuntu1804:latest \
    "$tag" -- bash -c "/bin/echo >& /dev/tcp/8.8.8.8/53 0>&1"
    

Mit diesem Testverfahren wird ein Reverse Shell-Ergebnis erstellt, das Sie in Security Command Center und in Cloud Logging aufrufen können, wenn Sie Logging für Container Threat Detection konfiguriert haben.

Nächste Schritte