Halaman ini menjelaskan cara memverifikasi bahwa Ancaman yang Dikorelasikan berfungsi dengan meniru ancaman untuk memicu detektor Security Command Center secara sengaja dan membuat temuan. Temuan ancaman ini kemudian membuat masalah Ancaman yang Berkorelasi untuk setiap aturan.
Untuk mempelajari lebih lanjut Ancaman yang Berkorelasi, lihat ringkasan Ancaman yang Berkorelasi. Jika Anda ingin membuat temuan yang menghasilkan Ancaman yang Dikorelasikan, Anda harus mengaktifkan layanan deteksi ancaman yang sesuai di setelan Security Command Center.
Menyiapkan lingkungan Anda
Prosedur pengujian ini memerlukan cluster GKE dan kemampuan untuk menyediakan VM Compute Engine. Pastikan cluster pengujian Anda menggunakan Google Kubernetes Engine (GKE) versi yang didukung. Untuk mengetahui informasi selengkapnya, lihat Menggunakan versi GKE yang didukung.
Sebelum menguji Ancaman yang Berkorelasi, Anda harus memilih project terlebih dahulu dengan cluster GKE yang sesuai, mengaktifkan Cloud Shell, dan menetapkan beberapa variabel lingkungan. Untuk melakukannya, ikuti langkah-langkah ini:
Buka Google Cloud console.
Pilih project tempat Anda ingin menguji Ancaman yang Berkorelasi.
Klik Activate Cloud Shell.
Di Cloud Shell, tetapkan variabel lingkungan.
Tentukan project, zona, dan cluster GKE yang akan digunakan untuk pengujian:
export PROJECT=PROJECT_ID export ZONE=ZONE export CLUSTER_NAME=CLUSTER_NAMEDapatkan kredensial untuk cluster Anda:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Meniru serangan penambangan mata uang kripto
Bagian ini menjelaskan cara mengemulasi penambangan mata uang kripto dan membuat masalah Ancaman Berkorelasi menggunakan konsol Google Cloud dan Cloud Shell. Untuk melakukannya, Anda harus mengaktifkan Cloud Shell terlebih dahulu, memilih project, lalu melakukan pengujian.
Untuk menguji Correlated Threats dengan meniru penambangan mata uang kripto, ikuti langkah-langkah berikut:
Untuk memicu masalah Ancaman yang Berkorelasi dengan mata uang kripto, buat dua temuan:
Impact: suspicious crypto mining activity using the stratum protocoldanMalware: Cryptomining Bad IP. Untuk memicu kedua temuan ini, jalankan perintah berikut:tag="correlated-threat-test-crypto-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --image marketplace.gcr.io/google/ubuntu2404:latest \ "$tag" -- bash -c \ "apt-get update ; apt-get install -y curl ; cp /bin/ls /tmp/curl; /tmp/curl --url=stratum+tcp ; for i in {1..5}; do curl 34.66.147.47 > /dev/null; done; sleep infinity"Diperlukan waktu hingga satu jam agar masalah Correlated Threats muncul.
Setelah masalah Ancaman yang Berkorelasi dibuat, lakukan pembersihan dengan menjalankan perintah berikut untuk menghapus Pod Kubernetes yang digunakan untuk pengujian.
kubectl delete pod "$tag"
Meniru serangan malware
Bagian ini menjelaskan cara meniru serangan malware dan membuat masalah Ancaman yang Berkorelasi menggunakan konsol Google Cloud dan Cloud Shell. Untuk melakukannya, aktifkan Cloud Shell terlebih dahulu, pilih project, lalu lakukan pengujian.
Untuk menguji Correlated Threats dengan meniru serangan malware, ikuti langkah-langkah berikut:
Untuk memicu masalah Ancaman yang Berkorelasi dengan malware, Anda membuat dua temuan:
Execution: Local Reconnaissance Tool ExecutiondanExecution: Added Malicious Binary Executed. Untuk membuat Pod Ubuntu 24.04 di cluster GKE dan memicu dua temuan ini, jalankan perintah berikut:tag="correlated-threat-test-malware-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" eicar='X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' kubectl run \ --restart=Never \ --image marketplace.gcr.io/google/ubuntu2404:latest \ "$tag" -- sh -c \ "cp /bin/ls /tmp/linenum.sh; /tmp/linenum.sh; touch /tmp/test_mal_file; echo -n '$eicar' > /tmp/test_mal_file; chmod 700 /tmp/test_mal_file; /tmp/test_mal_file; sleep infinity"Diperlukan waktu hingga satu jam agar masalah Ancaman yang Berkorelasi muncul.
Setelah masalah ancaman yang dikorelasikan dibuat, lakukan pembersihan dengan menjalankan perintah berikut untuk menghapus Pod Kubernetes yang digunakan untuk pengujian.
kubectl delete pod "$tag"
Mengemulasi serangan pergerakan lateral di GKE
Bagian ini menjelaskan cara meniru serangan pergerakan lateral di GKE dan membuat masalah Correlated Threats menggunakan konsolGoogle Cloud dan Cloud Shell. Untuk melakukannya, Anda harus mengaktifkan Cloud Shell terlebih dahulu, memilih project, lalu melakukan pengujian.
Untuk menguji Correlated Threats dengan meniru serangan pergerakan lateral, ikuti langkah-langkah berikut:
Untuk memicu masalah Correlated Threats pergerakan lateral, Anda membuat dua temuan:
Privilege Escalation: Launch of privileged Kubernetes containerdanExecution: Container Escape. Untuk membuat Pod Ubuntu di cluster GKE dan memicu dua temuan ini, jalankan perintah berikut:tag="correlated-threat-test-podlatmove-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --image marketplace.gcr.io/google/ubuntu2404:latest "$tag" \ --privileged \ -- bash -c \ "cp /bin/ls /tmp/botb-linux-amd64; sleep 300; /tmp/botb-linux-amd64 -autopwn; sleep infinity"Diperlukan waktu hingga satu jam agar masalah Ancaman yang Berkorelasi muncul.
Setelah masalah Ancaman yang Berkorelasi dibuat, lakukan pembersihan dengan menjalankan perintah berikut untuk menghapus Pod Kubernetes yang digunakan untuk pengujian.
kubectl delete pod "$tag"
Mengemulasi serangan pergerakan lateral di Compute Engine
Bagian ini menjelaskan cara meniru serangan pergerakan lateral di Compute Engine dan membuat masalah Ancaman yang Berkorelasi menggunakan Google Cloud konsol dan Cloud Shell. Untuk melakukannya, Anda harus mengaktifkan Cloud Shell terlebih dahulu, memilih project, lalu melakukan pengujian.
Untuk menguji Correlated Threats dengan meniru serangan pergerakan lateral, ikuti langkah-langkah berikut:
Buat file bernama
lateral_movement_test.shdengan konten berikut. Skrip ini membuat beberapa VM Compute Engine dan menghasilkan dua temuan berikut:Lateral Movement: Modified Boot Disk Attached to InstancedanMalware: Bad IP.#!/bin/bash # emulates a boot disk swap followed by malicious IP to trigger correlated threats. set -euo pipefail # --- Default values --- readonly IMAGE_FAMILY="debian-12" readonly IMAGE_PROJECT="debian-cloud" TIMESTAMP=$(date +%s) TARGET_INSTANCE_NAME="target-vm-${TIMESTAMP}" WORKER_INSTANCE_NAME="worker-vm-${TIMESTAMP}" PROJECT_ID="" ZONE="" # --- Usage function --- usage() { echo "Usage: $0 --project_id <PROJECT_ID> --zone <ZONE> [OPTIONS]" echo "emulates a boot disk swap followed by malicious IP to trigger correlated threats." echo echo "Required arguments:" echo " --project_id <PROJECT_ID> Your Google Cloud Project ID" echo " --zone <ZONE> The Google Cloud zone to create resources in (e.g., us-central1-a)" echo echo "Optional arguments:" echo " --help Display this help message" } # --- Function to run gcloud commands with --quiet --- run_gcloud() { echo "Running: gcloud $*" gcloud "$@" --quiet } main() { # --- Parse arguments --- while [[ $# -gt 0 ]]; do case "$1" in --project_id) PROJECT_ID="$2" shift 2 ;; --zone) ZONE="$2" shift 2 ;; --help) usage exit 0 ;; *) echo "Unknown option: $1" >&2 usage >&2 exit 1 ;; esac done # --- Validate required arguments --- if [[ -z "${PROJECT_ID}" ]]; then echo "Error: --project_id is required." >&2 usage >&2 exit 1 fi if [[ -z "${ZONE}" ]]; then echo "Error: --zone is required." >&2 usage >&2 exit 1 fi # The boot disk name defaults to the instance name BOOT_DISK_NAME=$TARGET_INSTANCE_NAME echo "Starting script with the following settings:" echo "PROJECT_ID: ${PROJECT_ID}" echo "ZONE: ${ZONE}" echo "TARGET_INSTANCE_NAME: ${TARGET_INSTANCE_NAME}" echo "WORKER_INSTANCE_NAME: ${WORKER_INSTANCE_NAME}" echo "BOOT_DISK_NAME: ${BOOT_DISK_NAME}" echo "IMAGE_FAMILY: ${IMAGE_FAMILY}" echo "IMAGE_PROJECT: ${IMAGE_PROJECT}" echo "--------------------------------------------------" # Set context gcloud config set project "${PROJECT_ID}" gcloud config set compute/zone "${ZONE}" echo "Step 1: Create target VM: ${TARGET_INSTANCE_NAME}" run_gcloud compute instances create "${TARGET_INSTANCE_NAME}" \ --image-family="${IMAGE_FAMILY}" \ --image-project="${IMAGE_PROJECT}" \ --no-address echo "Step 2: Create worker VM: ${WORKER_INSTANCE_NAME}" run_gcloud compute instances create "${WORKER_INSTANCE_NAME}" \ --image-family="${IMAGE_FAMILY}" \ --image-project="${IMAGE_PROJECT}" \ --no-address echo "Step 3: Stop target VM: ${TARGET_INSTANCE_NAME}" run_gcloud compute instances stop "${TARGET_INSTANCE_NAME}" echo "Step 4: Detach boot disk from target VM" run_gcloud compute instances detach-disk "${TARGET_INSTANCE_NAME}" --disk="${BOOT_DISK_NAME}" echo "Step 5: Attach disk to worker VM: ${WORKER_INSTANCE_NAME}" run_gcloud compute instances attach-disk "${WORKER_INSTANCE_NAME}" --disk="${BOOT_DISK_NAME}" echo " << At this point, the disk is attached to the worker VM >>" echo " << Malicious modifications could theoretically be made here >>" echo "Step 6: Detach disk from worker VM" run_gcloud compute instances detach-disk "${WORKER_INSTANCE_NAME}" --disk="${BOOT_DISK_NAME}" echo "Step 7: Re-attach disk to target VM as boot disk" run_gcloud compute instances attach-disk "${TARGET_INSTANCE_NAME}" --disk="${BOOT_DISK_NAME}" --boot echo "Step 8: Start target VM" run_gcloud compute instances start "${TARGET_INSTANCE_NAME}" echo -n "Step 9: Wait for instance SSH to be available" until gcloud compute ssh "${TARGET_INSTANCE_NAME}" --command="true" 2>/dev/null; do echo -n "." sleep 2 done echo echo "Step 10: Trigger bad IP findings" run_gcloud compute ssh "${TARGET_INSTANCE_NAME}" \ --command="for i in {1..5}; do curl 34.66.147.47 > /dev/null 2>/dev/null; done;" echo "Step 11: Delete worker VM: ${WORKER_INSTANCE_NAME}" run_gcloud compute instances delete "${WORKER_INSTANCE_NAME}" echo "--- Testing Complete ---" echo "The script has completed executing the patterns to trigger a correlated" echo "threats issue. Check the Security Command Center Issues page." echo echo "After observing the issue, delete the target VM using:" echo " gcloud compute instances delete ${TARGET_INSTANCE_NAME}" echo "${TARGET_INSTANCE_NAME}" > ./.lateral_movement_test_name } main "$@"Buat agar skrip dapat dieksekusi:
chmod +x lateral_movement_test.shUntuk membuat temuan, jalankan skrip:
./lateral_movement_test.sh --project_id $PROJECT --zone $ZONEDiperlukan waktu hingga satu jam agar masalah Ancaman yang Berkorelasi muncul.
Setelah masalah dibuat, lakukan pembersihan menggunakan perintah yang diberikan dalam output skrip pengujian:
gcloud compute instances delete $(cat .lateral_movement_test_name) && rm -f .lateral_movement_test_name
Langkah berikutnya
- Pelajari cara kerja Ancaman yang Berkorelasi.