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 Correlated Threats lebih lanjut, lihat ringkasan Correlated Threats. Jika Anda ingin membuat temuan yang menghasilkan Ancaman yang Berkorelasi, 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 Correlated Threats, Anda harus memilih project dengan cluster GKE yang sesuai, mengaktifkan Cloud Shell, dan menetapkan beberapa variabel lingkungan terlebih dahulu. 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 zona tempat cluster Anda berada:
export ZONE=CLUSTER_ZONEMasukkan ID project tempat cluster Anda berada:
export PROJECT=PROJECT_IDTentukan nama cluster pengujian Anda:
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 yang 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:
Execution: Netcat Remote Code Execution In ContainerdanMalware: 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"
Mengemulasi 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 gerakan 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 ubuntu "$tag" \ --privileged \ -- bash -c \ "cp /bin/ls /tmp/botb-linux-amd64; sleep 60; /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 konsol dan Cloud Shell.Google Cloud 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. # Default values IMAGE_FAMILY="debian-12" 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" } # --- 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" usage exit 1 ;; esac done # --- Validate required arguments --- if [[ -z "${PROJECT_ID}" ]]; then echo "Error: --project_id is required." usage exit 1 fi if [[ -z "${ZONE}" ]]; then echo "Error: --zone is required." usage exit 1 fi # The boot disk name defaults to the instance name BOOT_DISK_NAME=$TARGET_INSTANCE_NAME set -e 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 "--------------------------------------------------" gcloud config set project "${PROJECT_ID}" gcloud config set compute/zone "${ZONE}" # Function to run gcloud commands with --quiet run_gcloud() { echo "Running: gcloud $@" gcloud "$@" --quiet } 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 to view the issue." echo "Check Security Command Center for findings." echo echo "After observing the correlated threat issue in Security Command Center" echo "use this command to delete ${TARGET_INSTANCE_NAME}." echo " gcloud compute instances delete "${TARGET_INSTANCE_NAME}"" echo ${TARGET_INSTANCE_NAME} > ./.lateral_movement_test_nameSetel 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)
Langkah berikutnya
- Pelajari cara kerja Ancaman yang Berkorelasi.