本文說明 Security Command Center 中的威脅發現項目類型。威脅偵測工具偵測到雲端資源中可能存在威脅時,就會產生威脅發現項目。如需可用威脅發現項目的完整清單,請參閱「威脅發現項目索引」。
總覽
機器學習模型將執行的 Bash 程式碼識別為惡意程式碼。攻擊者可以使用 Bash 轉移工具及執行指令,不必使用二進位檔。確保容器不可變是重要的最佳做法。使用指令碼轉移工具可能會模仿攻擊者的入侵工具轉移技術,導致不必要的偵測結果。
回應方式
如要回應這項發現,請按照下列步驟操作:
步驟 1:查看調查結果詳細資料
按照「查看結果」一文的說明,開啟
Malicious Script Executed
發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。在「摘要」分頁中,查看下列各節的資訊:
- 偵測到的內容,特別是下列欄位:
- 程式二進位檔:叫用指令碼的解譯器相關詳細資料。
- 指令碼:磁碟上指令碼名稱的絕對路徑;這個屬性只會顯示寫入磁碟的指令碼,不會顯示字面值指令碼執行作業,例如
bash -c
。 - 引數:呼叫指令碼時提供的引數。
- 受影響的資源,尤其是下列欄位:
- 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
- 相關連結,尤其是下列欄位:
- VirusTotal 指標:連結至 VirusTotal 分析頁面。
- 偵測到的內容,特別是下列欄位:
在調查結果的詳細資料檢視畫面中,按一下「JSON」分頁標籤。
請注意 JSON 中的下列欄位。
finding
:processes
:script
:contents
:執行的指令碼內容,可能因效能考量而遭到截斷,有助於您進行調查sha256
:script.contents
的 SHA-256 雜湊值
resource
:project_display_name
:包含資產的專案名稱。
sourceProperties
:Pod_Namespace
:Pod 的 Kubernetes 命名空間名稱。Pod_Name
:GKE Pod 的名稱。Container_Name
:受影響的容器名稱。Container_Image_Uri
:正在執行的容器映像檔名稱。VM_Instance_Name
:執行 Pod 的 GKE 節點名稱。
找出這個容器在類似時間發生的其他發現項目。舉例來說,如果指令碼會捨棄二進位檔,請檢查與二進位檔相關的發現項目。
步驟 2:檢查叢集和節點
在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。
在 Google Cloud 控制台工具列中,視需要選取
resource.project_display_name
列出的專案。在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的中繼資料。
按一下「Nodes」(節點) 分頁標籤。選取
VM_Instance_Name
中列出的節點。按一下「詳細資料」分頁標籤,並注意
container.googleapis.com/instance_id
註解。
步驟 3:檢查 Pod
前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。
在 Google Cloud 控制台工具列中,視需要選取
resource.project_display_name
列出的專案。視需要篩選
resource.name
中列出的叢集,以及Pod_Namespace
中列出的 Pod 命名空間。選取
Pod_Name
中列出的 Pod。記下有關 Pod 和擁有者的任何中繼資料。
步驟 4:檢查記錄
前往 Google Cloud 控制台的「Logs Explorer」頁面。
在 Google Cloud 控制台工具列中,視需要選取
resource.project_display_name
中列出的專案。將「選取時間範圍」設為感興趣的時間範圍。
在隨即載入的頁面中,執行下列操作:
- 使用下列篩選器,找出
Pod_Name
的 Pod 記錄: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"
- 使用下列篩選器尋找叢集稽核記錄:
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
- 使用下列篩選器,找出 GKE 節點控制台記錄:
resource.type="gce_instance"
resource.labels.instance_id="instance_id"
- 使用下列篩選器,找出
步驟 5:調查執行中的容器
如果容器仍在執行,或許可以直接調查容器環境。
在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。
按一下
resource.labels.cluster_name
中顯示的叢集名稱。在「叢集」頁面中,按一下「連線」,然後點選「在 Cloud Shell 中執行」。
Cloud Shell 會啟動,並在終端機中新增叢集的指令。
按下 Enter 鍵,如果出現「Authorize Cloud Shell」(授權 Cloud Shell) 對話方塊,請按一下「Authorize」(授權)。
執行下列指令,連線至容器環境:
kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
這項指令需要容器在
/bin/sh
安裝 Shell。
步驟 6:研究攻擊和回應方法
- 查看這類發現項目的 MITRE ATT&CK 框架項目: 命令和指令碼解譯器、 入侵工具轉移。
- 在 VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
- 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。
步驟 7:實作回應
下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。
後續步驟
- 瞭解如何在 Security Command Center 中處理威脅調查結果。
- 請參閱威脅發現項目索引。
- 瞭解如何透過 Google Cloud 控制台查看發現項目。
- 瞭解會產生威脅發現項目的服務。