Esta página descreve como pode verificar se as ameaças correlacionadas estão a funcionar através da emulação de ameaças para acionar intencionalmente os detetores do Security Command Center e criar resultados. Em seguida, estas conclusões de ameaças criam problemas de ameaças correlacionadas para cada regra.
Para saber mais sobre as ameaças correlacionadas, consulte a vista geral das ameaças correlacionadas. Se quiser gerar resultados que produzam ameaças correlacionadas, tem de ativar os serviços de deteção de ameaças adequados nas definições do Security Command Center.
Configure o seu ambiente
Estes procedimentos de teste requerem um cluster do GKE e a capacidade de aprovisionar VMs do Compute Engine. Certifique-se de que o cluster de teste está numa versão suportada do Google Kubernetes Engine (GKE). Para mais informações, consulte o artigo Usar uma versão suportada do GKE.
Antes de testar as ameaças correlacionadas, tem de selecionar primeiro um projeto com o cluster do GKE adequado, ativar o Cloud Shell e definir várias variáveis de ambiente. Para o fazer, siga estes passos:
Aceda à Google Cloud consola.
Selecione o projeto onde quer testar as ameaças correlacionadas.
Clique em Ativar Cloud Shell.
No Cloud Shell, defina variáveis de ambiente.
Especifique a zona onde o cluster está localizado:
export ZONE=CLUSTER_ZONEIntroduza o ID do projeto onde o cluster está localizado:
export PROJECT=PROJECT_IDEspecifique o nome do cluster de teste:
export CLUSTER_NAME=CLUSTER_NAMEObtenha as credenciais do seu cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Emule um ataque de mineração de criptomoedas
Esta secção descreve como emular a mineração de criptomoedas e criar um problema de ameaças correlacionadas através da Google Cloud consola e do Cloud Shell. Para o fazer, primeiro, ative o Cloud Shell, selecione um projeto e, de seguida, faça o teste.
Para testar as ameaças correlacionadas através da emulação da mineração de criptomoedas, siga estes passos:
Para acionar um problema de ameaças correlacionadas de criptomoedas, crie duas descobertas:
Execution: Netcat Remote Code Execution In ContainereMalware: Cryptomining Bad IP. Para acionar estas duas conclusões, execute os seguintes comandos: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"O problema Ameaças correlacionadas pode demorar até uma hora a aparecer.
Depois de o problema de ameaças correlacionadas ser gerado, execute a limpeza executando o seguinte comando para eliminar o pod do Kubernetes usado para testes.
kubectl delete pod "$tag"
Emule um ataque de software malicioso
Esta secção descreve como emular um ataque de software malicioso e criar um problema de ameaças correlacionadas através da Google Cloud consola e do Cloud Shell. Para tal, comece por ativar o Cloud Shell, selecione um projeto e, em seguida, faça o teste.
Para testar as ameaças correlacionadas através da emulação de um ataque de software malicioso, siga estes passos:
Para acionar um problema de ameaças correlacionadas de software malicioso, crie duas descobertas:
Execution: Local Reconnaissance Tool ExecutioneExecution: Added Malicious Binary Executed. Para criar um pod do Ubuntu 24.04 no seu cluster do GKE e acionar estas duas descobertas, execute os seguintes comandos: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"O problema Ameaças correlacionadas pode demorar até uma hora a ser apresentado.
Depois de o problema de ameaça correlacionada ser gerado, execute a limpeza através do seguinte comando para eliminar o pod do Kubernetes usado para testes.
kubectl delete pod "$tag"
Emule um ataque de movimento lateral no GKE
Esta secção descreve como emular um ataque de movimento lateral no GKE e criar um problema de ameaças correlacionadas através da consola e do Cloud Shell.Google Cloud Para o fazer, primeiro, ative o Cloud Shell, selecione um projeto e, em seguida, faça o teste.
Para testar as ameaças correlacionadas através da emulação de um ataque de movimento lateral, siga estes passos:
Para acionar um problema de ameaças correlacionadas de movimento lateral, deve criar dois resultados:
Privilege Escalation: Launch of privileged Kubernetes containereExecution: Container Escape. Para criar um Ubuntu Pod no seu cluster do GKE e acionar estas duas descobertas, execute os seguintes comandos: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"O problema Ameaças correlacionadas pode demorar até uma hora a ser apresentado.
Depois de o problema de ameaças correlacionadas ser gerado, execute a limpeza através do seguinte comando para eliminar o pod do Kubernetes usado para testes.
kubectl delete pod "$tag"
Emule um ataque de movimento lateral no Compute Engine
Esta secção descreve como emular um ataque de movimento lateral no Compute Engine e criar um problema de ameaças correlacionadas através da consola e do Cloud Shell.Google Cloud Para o fazer, primeiro, ative o Cloud Shell, selecione um projeto e, em seguida, faça o teste.
Para testar as ameaças correlacionadas através da emulação de um ataque de movimento lateral, siga estes passos:
Crie um ficheiro denominado
lateral_movement_test.shcom o seguinte conteúdo. Este script cria várias VMs do Compute Engine e gera as seguintes duas descobertas:Lateral Movement: Modified Boot Disk Attached to InstanceeMalware: 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_nameTorne o script executável:
chmod +x lateral_movement_test.shPara gerar resultados, execute o script:
./lateral_movement_test.sh --project_id $PROJECT --zone $ZONEO problema Ameaças correlacionadas pode demorar até uma hora a ser apresentado.
Após a geração do problema, faça a limpeza através do comando fornecido no resultado do script de teste.
gcloud compute instances delete $(cat .lateral_movement_test_name)
O que se segue?
- Saiba como funcionam as Ameaças correlacionadas.