Reverse Shell

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

Ringkasan

Proses dimulai dengan pengalihan streaming ke soket terhubung jarak jauh. Memunculkan shell yang terhubung ke jaringan dapat memungkinkan penyerang melakukan tindakan arbitrer setelah penyusupan awal yang terbatas.

Container Threat Detection adalah sumber temuan ini.

Cara merespons

Untuk merespons temuan ini, lakukan hal berikut:

Langkah 1: Tinjau detail temuan

  1. Buka temuan Reverse Shell seperti yang diarahkan dalam Meninjau temuan. Panel detail untuk temuan akan terbuka ke tab Ringkasan.

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

    • Yang terdeteksi, terutama kolom berikut:
      • Binary program: jalur absolut dari proses yang dimulai dengan pengalihan streaming ke soket jarak jauh.
      • Argumen: argumen yang diberikan saat memanggil binary proses.
    • Affected resource, terutama kolom berikut:
      • Nama lengkap resource: nama lengkap resource cluster.
      • Nama lengkap proyek: proyek yang terpengaruh Google Cloud .
    • Related links, terutama kolom berikut:
      • Indikator VirusTotal: link ke halaman analisis VirusTotal.
  3. Di tampilan detail temuan, klik tab JSON.

  4. Dalam JSON, perhatikan kolom berikut.

    • 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.
      • VM_Instance_Name: nama node GKE tempat Pod dieksekusi.
      • Reverse_Shell_Stdin_Redirection_Dst_Ip: alamat IP jarak jauh koneksi
      • Reverse_Shell_Stdin_Redirection_Dst_Port: port jarak jauh
      • Reverse_Shell_Stdin_Redirection_Src_Ip: alamat IP lokal koneksi
      • Reverse_Shell_Stdin_Redirection_Src_Port: port lokal
      • Container_Image_Uri: nama image container yang sedang dieksekusi.

Langkah 2: Tinjau cluster dan node

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

    Buka cluster Kubernetes

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

  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 Details dan catat anotasi container.googleapis.com/instance_id.

Langkah 3: Tinjau Pod

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

    Buka Workload Kubernetes

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

  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 Google Cloud konsol, buka Logs Explorer.

    Buka Logs Explorer

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

  3. Tetapkan Select time range ke periode yang diinginkan.

  4. Di halaman yang dimuat, 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, pilih project yang tercantum di resource.project_display_name, jika perlu. Google Cloud

  3. Klik Activate Cloud Shell.

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

    Untuk cluster zona:

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

    Untuk cluster regional:

      gcloud container clusters get-credentials cluster_name --region location --project resource.project_display_name
    
  5. Luncurkan shell dalam lingkungan container dengan menjalankan:

      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 memiliki /bin/ps yang diinstal.

Langkah 6: Teliti 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 binary yang ditandai sebagai berbahaya di VirusTotal dengan mengklik link di VirusTotal indicator. 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 container yang terganggu.
  • Hentikan atau hapus container yang terganggu dan ganti dengan container baru.

Langkah berikutnya