Penghindaran Pertahanan: Command Line File ELF Base64

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

Proses yang dijalankan berisi argumen yang merupakan file ELF (Executable and Linkable Format). Jika eksekusi file ELF yang dienkode terdeteksi, hal ini merupakan sinyal bahwa penyerang sedang mencoba mengenkode data biner untuk ditransfer ke command line khusus ASCII. Penyerang dapat menggunakan teknik ini untuk menghindari deteksi dan menjalankan kode berbahaya yang disematkan dalam file ELF.

Cara merespons

Untuk menanggapi temuan ini, lakukan hal berikut:

Langkah 1: Tinjau detail temuan

  1. Buka temuan Defense Evasion: Base64 ELF File Command Line 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: jalur absolut biner yang dieksekusi.
      • Argumen: argumen yang diteruskan selama eksekusi biner.
    • Resource yang terpengaruh, terutama kolom berikut:
  3. Di tampilan detail temuan, klik tab JSON.

  4. Dalam JSON, perhatikan kolom berikut.

    • resource:
      • project_display_name: nama project yang berisi cluster.
    • finding:
      • processes:
      • binary:
        • path: jalur lengkap biner yang dieksekusi.
      • args: argumen yang diberikan saat menjalankan biner.
    • 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 di-deploy.
      • VM_Instance_Name: nama node GKE tempat Pod dieksekusi.
  5. Identifikasi temuan lain yang terjadi pada waktu yang serupa untuk penampung ini. Temuan terkait mungkin menunjukkan bahwa aktivitas ini berbahaya, bukan karena kegagalan mengikuti praktik terbaik.

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 pada 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 baris Nama lengkap resource di tab Ringkasan pada detail temuan 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. Buka konsol Google Cloud .

    Buka Google Cloud konsol

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

  3. Klik Aktifkan 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 PROJECT_NAME
    

    Untuk cluster regional:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    Ganti kode berikut:

    • CLUSTER_NAME: cluster yang tercantum di resource.labels.cluster_name
    • LOCATION: lokasi yang tercantum di resource.labels.location
    • PROJECT_NAME: nama project yang tercantum di resource.project_display_name
  5. Mengambil biner yang dieksekusi:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    Ganti local_file dengan jalur file lokal untuk menyimpan biner yang ditambahkan.

  6. 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: Penghindaran Pertahanan: File atau Informasi yang Di-obfuscate.
  2. Untuk mengembangkan rencana respons, gabungkan hasil penyelidikan Anda dengan penelitian MITRE.

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