Skrip Berbahaya Dieksekusi

Dokumen ini menjelaskan jenis temuan ancaman di Security Command Center. Temuan ancaman dibuat oleh pendeteksi ancaman saat mendeteksi potensi ancaman di resource cloud Anda. Untuk daftar lengkap temuan ancaman yang tersedia, lihat Indeks temuan ancaman.

Ringkasan

Model machine learning mengidentifikasi kode Bash yang dieksekusi sebagai berbahaya. Penyerang dapat menggunakan Bash untuk mentransfer alat dan menjalankan perintah tanpa biner. Memastikan bahwa container Anda tidak dapat diubah adalah praktik terbaik yang penting. Penggunaan skrip untuk mentransfer alat dapat meniru teknik penyerang dalam transfer alat masuk dan menyebabkan deteksi yang tidak diinginkan.

Cara merespons

Untuk menanggapi temuan ini, lakukan hal berikut:

Langkah 1: Tinjau detail temuan

  1. Buka temuan Malicious Script Executed seperti yang diarahkan di Meninjau temuan. Panel detail untuk temuan akan terbuka di tab Ringkasan.

  2. Di tab Summary, tinjau informasi di bagian berikut:

    • Apa yang terdeteksi, terutama kolom berikut:
      • Biner program: detail tentang interpreter yang memanggil skrip.
      • Script: jalur absolut nama skrip di disk; atribut ini hanya muncul untuk skrip yang ditulis ke disk, bukan untuk eksekusi skrip literal, misalnya, bash -c.
      • Argumen: argumen yang diberikan saat memanggil skrip.
    • Resource yang terpengaruh, terutama kolom berikut:
      • Nama lengkap resource: nama lengkap resource cluster, termasuk nomor project, lokasi, dan nama cluster.
    • Link terkait, terutama kolom berikut:
      • Indikator VirusTotal: link ke halaman analisis VirusTotal.
  3. Di tampilan detail temuan, klik tab JSON.

  4. Dalam JSON, perhatikan kolom berikut.

    • finding:
      • processes:
      • script:
        • contents: konten skrip yang dieksekusi, yang mungkin dipangkas karena alasan performa; hal ini dapat membantu penyelidikan Anda
        • sha256: hash SHA-256 dari script.contents
    • resource:
      • project_display_name: nama project yang berisi aset.
    • sourceProperties:
      • Pod_Namespace: nama namespace Kubernetes Pod.
      • Pod_Name: nama Pod GKE.
      • Container_Name: nama container yang terpengaruh.
      • Container_Image_Uri: nama image container yang sedang dieksekusi.
      • VM_Instance_Name: nama node GKE tempat Pod dieksekusi.
  5. Identifikasi temuan lain yang terjadi pada waktu yang serupa untuk penampung ini. Misalnya, jika skrip menjatuhkan biner, periksa temuan yang terkait dengan biner tersebut.

Langkah 2: Tinjau cluster dan node

  1. Di konsol Google Cloud , buka halaman Kubernetes clusters.

    Buka cluster Kubernetes

  2. Di toolbar konsol Google Cloud , pilih project yang tercantum di resource.project_display_name, jika perlu.

  3. Pilih cluster yang tercantum di baris Nama lengkap resource di tab Ringkasan detail temuan. Catat metadata apa pun tentang cluster dan pemiliknya.

  4. Klik tab Nodes. Pilih node yang tercantum di VM_Instance_Name.

  5. Klik tab Detail dan perhatikan anotasi container.googleapis.com/instance_id.

Langkah 3: Tinjau Pod

  1. Di konsol Google Cloud , buka halaman Kubernetes Workloads.

    Buka Workload Kubernetes

  2. Di toolbar konsol Google Cloud , pilih project yang tercantum di resource.project_display_name, jika perlu.

  3. Filter pada cluster yang tercantum di resource.name dan namespace Pod yang tercantum di Pod_Namespace, jika perlu.

  4. Pilih Pod yang tercantum di Pod_Name. Catat metadata apa pun tentang Pod dan pemiliknya.

Langkah 4: Periksa log

  1. Di konsol Google Cloud , buka Logs Explorer.

    Buka Logs Explorer

  2. Di toolbar konsol Google Cloud , pilih project yang tercantum di resource.project_display_name, jika perlu.

  3. Setel Pilih rentang waktu ke periode yang diinginkan.

  4. Di halaman yang terbuka, lakukan hal berikut:

    1. Temukan log Pod untuk Pod_Name menggunakan filter berikut:
      • resource.type="k8s_container"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • resource.labels.namespace_name="Pod_Namespace"
      • resource.labels.pod_name="Pod_Name"
    2. Temukan log audit cluster menggunakan filter berikut:
      • logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • Pod_Name
    3. Temukan log konsol node GKE menggunakan filter berikut:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

Langkah 5: Selidiki container yang sedang berjalan

Jika container masih berjalan, Anda mungkin dapat menyelidiki lingkungan container secara langsung.

  1. Di konsol Google Cloud , buka halaman Kubernetes clusters.

    Buka cluster Kubernetes

  2. Klik nama cluster yang ditampilkan di resource.labels.cluster_name.

  3. Di halaman Clusters, klik Connect, lalu klik Run in Cloud Shell.

    Cloud Shell meluncurkan dan menambahkan perintah untuk cluster di terminal.

  4. Tekan enter dan, jika dialog Authorize Cloud Shell muncul, klik Authorize.

  5. Hubungkan ke lingkungan container dengan menjalankan perintah berikut:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    Perintah ini mengharuskan container memiliki shell yang diinstal di /bin/sh.

Langkah 6: Meneliti metode serangan dan respons

  1. Tinjau entri framework MITRE ATT&CK untuk jenis temuan ini: Command and Scripting Interpreter, Ingress Tool Transfer.
  2. Periksa nilai hash SHA-256 untuk file biner yang ditandai sebagai berbahaya di VirusTotal dengan mengklik link di Indikator VirusTotal. VirusTotal adalah layanan milik Alphabet yang memberikan konteks tentang file, URL, domain, dan alamat IP yang berpotensi berbahaya.
  3. Untuk mengembangkan rencana respons, gabungkan hasil penyelidikan Anda dengan riset MITRE dan analisis VirusTotal.

Langkah 7: Terapkan respons Anda

Rencana respons berikut mungkin sesuai untuk temuan ini, tetapi juga dapat memengaruhi operasi. Evaluasi dengan cermat informasi yang Anda kumpulkan dalam penyelidikan untuk menentukan cara terbaik dalam menyelesaikan temuan.

  • Jika skrip membuat perubahan yang diinginkan pada container, bangun ulang image container sehingga tidak ada perubahan yang diperlukan. Dengan cara ini, penampung dapat bersifat tetap.
  • Jika tidak, hubungi pemilik project dengan penampung yang terkompromi.
  • Hentikan atau hapus container yang terkompromi dan ganti dengan container baru.

Langkah berikutnya