Shell Turunan yang Tidak Terduga

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

Container Threat Detection mengamati proses yang secara tidak terduga memunculkan proses shell turunan. Peristiwa ini mungkin menunjukkan bahwa penyerang mencoba menyalahgunakan perintah dan skrip shell.

Cara merespons

Untuk menanggapi temuan ini, lakukan hal berikut:

Langkah 1: Tinjau detail temuan

  1. Buka temuan Unexpected Child Shell seperti yang diarahkan dalam 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:
      • Proses induk: proses yang secara tidak terduga membuat proses shell turunan.
      • Proses turunan: proses shell turunan.
      • Argumen: argumen yang diberikan ke biner proses shell turunan.
      • Variabel lingkungan: variabel lingkungan biner proses shell turunan.
      • Containers: nama penampung.
      • URI Container: URI gambar container.
      • Pod Kubernetes: nama dan namespace Pod.
    • Resource yang terpengaruh, terutama kolom berikut:
      • Nama tampilan resource: nama resource yang terpengaruh.
      • Nama lengkap resource: Nama lengkap resource cluster. Nama lengkap resource mencakup informasi berikut:
        • Project yang berisi cluster: projects/PROJECT_ID
        • Lokasi tempat cluster berada: zone/ZONE atau locations/LOCATION
        • Nama cluster: projects/CLUSTER_NAME
    • Link terkait, terutama kolom berikut:
      • Indikator VirusTotal: link ke halaman analisis VirusTotal.
  3. Klik tab JSON dan perhatikan kolom berikut:

+processes: array yang berisi semua proses yang terkait dengan temuan. Array ini mencakup proses shell turunan dan proses induk. +resource: +project_display_name: Nama project yang berisi aset. +sourceProperties: +VM_Instance_Name: nama node GKE tempat Pod dieksekusi.

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 resource.name. 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 Anda catat di Nama lengkap resource (resource.name) cluster dalam ringkasan temuan, jika perlu.

  3. Klik Tampilkan beban kerja sistem.

  4. Filter daftar beban kerja menurut nama cluster yang Anda catat di Nama lengkap resource (resource.name) ringkasan temuan dan, jika perlu, Namespace (kubernetes.pods.ns) pod yang Anda catat.

  5. Klik nama workload yang cocok dengan nilai properti VM_Instance_Name yang Anda catat di JSON temuan sebelumnya. Halaman Pod details akan terbuka.

  6. Di halaman Detail pod, catat informasi apa pun tentang Pod yang dapat membantu Anda menyelesaikan ancaman.

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.

  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. Buka konsol Google Cloud .

    Buka Google Cloud konsol

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

  3. Klik Activate Cloud Shell.

  4. Dapatkan kredensial GKE untuk cluster Anda dengan menjalankan perintah berikut.

    Untuk cluster zona, jalankan perintah berikut:

      gcloud container clusters get-credentials cluster_name --zone location --project resource.project_display_name
    

    Untuk cluster regional, jalankan perintah berikut:

      gcloud container clusters get-credentials cluster_name --region location --project resource.project_display_name
    
  5. Untuk meluncurkan shell dalam lingkungan container, jalankan 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.

    Untuk melihat semua proses yang berjalan di container, jalankan perintah berikut di shell container:

      ps axjf
    

    Perintah ini mengharuskan container menginstal /bin/ps.

Langkah 6: Meneliti metode serangan dan respons

  1. Tinjau entri framework MITRE ATT&CK untuk jenis temuan ini: Command and Scripting Interpreter: Unix Shell.
  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.

  • Hubungi pemilik project dengan penampung yang disusupi.
  • Hentikan atau hapus container yang terkompromi dan ganti dengan container baru.

Langkah berikutnya