במסמך הזה מתואר סוג של ממצא איום ב-Security Command Center. ממצאי איומים נוצרים על ידי מזהי איומים כשהם מזהים איום פוטנציאלי במשאבי הענן שלכם. רשימה מלאה של ממצאי האיומים הזמינים מופיעה במאמר אינדקס ממצאי האיומים.
סקירה כללית
Command and Control: Piped Encoded Code Execution מזהה מתי הפלט של פקודה base64 --decode מועבר ישירות לפרשן של מעטפת כמו python, perl, php, ruby או ssh.
כשמזוהה איום מחוץ לעומס עבודה צפוי, כמו צינור עיבוד נתונים של CI/CD, זהו סימן חזק לפעילות זדונית. תוקפים משתמשים בשיטה הזו באופן קבוע כדי להריץ סקריפטים או פקודות שעברו הסתרה. קידוד base64 מסתיר את הקוד שמופעל בפועל, והעברה שלו ישירות למפענח מאפשרת ביצוע מיידי בלי לכתוב את התסריט המפוענח לדיסק, מה שהופך אותו לחמקני יותר.
מומלץ תמיד לפעול באופן מיידי כשמזהים את הממצא הזה בעומס עבודה לא צפוי. עומסי עבודה תקינים משתמשים בקידוד base64 בעיקר כדי להעביר בבטחה נתונים בינאריים או נתונים שמכילים תווים מיוחדים דרך מערכות ופרוטוקולים מבוססי-טקסט, שעלולים לגרום לשיבוש הנתונים. עם זאת, כל הרצת קוד יכולה להשפיע ישירות על המערכת ולפגוע בה עוד יותר, לכן חשוב לוודא שתמיד מתייחסים לממצא הזה כאל פעילות זדונית עד שמוכח אחרת.
זיהוי איומים בקונטיינר הוא המקור של הממצא הזה.
איך מגיבים
כדי להגיב לממצא הזה:
שלב 1: בדיקת פרטי הממצא
פותחים ממצא
Command and Control: Piped Encoded Code Executionלפי ההוראות במאמר בדיקת ממצאים. חלונית הפרטים של הממצא נפתחת בכרטיסייה סיכום.בכרטיסייה סיכום, בודקים את המידע בקטעים הבאים:
- מה זוהה, במיוחד השדות הבאים:
- קובץ בינארי של התוכנית: הנתיב המוחלט של הקובץ הבינארי שהופעל.
- ארגומנטים: הארגומנטים שהועברו במהלך הביצוע של הקובץ הבינארי.
- מקור המידע שהושפע, במיוחד השדות הבאים:
- שם המשאב המלא: שם המשאב המלא של האשכול, כולל מספר הפרויקט, המיקום ושם האשכול.
- מה זוהה, במיוחד השדות הבאים:
בתצוגת הפרטים של הממצא, לוחצים על הכרטיסייה JSON.
שימו לב לשדות הבאים ב-JSON.
resource:-
project_display_name: השם של הפרויקט שמכיל את האשכול.
-
finding:processes:binary:-
path: הנתיב המלא של הקובץ הבינארי שהופעל.
-
-
args: הארגומנטים שסופקו במהלך ההפעלה של הקובץ הבינארי.
sourceProperties:-
Pod_Namespace: השם של מרחב השמות של ה-Pod ב-Kubernetes. -
Pod_Name: השם של ה-Pod ב-GKE. -
Container_Name: השם של הקונטיינר המושפע. Container_Image_Uri: השם של קובץ אימג' של קונטיינר שפורס.-
VM_Instance_Name: שם הצומת ב-GKE שבו הופעל ה-Pod.
-
זיהוי ממצאים אחרים שהתרחשו בזמן דומה במאגר התגים הזה. ממצאים קשורים עשויים להצביע על כך שהפעילות הזו הייתה זדונית, במקום על אי-עמידה בשיטות המומלצות.
שלב 2: בדיקת האשכול והצומת
נכנסים לדף Kubernetes clusters במסוף Google Cloud .
בסרגל הכלים של המסוף Google Cloud , בוחרים את הפרויקט שמופיע ב-
resource.project_display_name, אם צריך.בוחרים את האשכול שמופיע בשורה Resource full name בכרטיסייה Summary בפרטי הממצא. שימו לב למטא-נתונים לגבי האשכול והבעלים שלו.
לוחצים על הכרטיסייה Nodes. בוחרים את הצומת שמופיע ב-
VM_Instance_Name.לוחצים על הכרטיסייה פרטים ורושמים את ההערה
container.googleapis.com/instance_id.
שלב 3: בדיקת הפוד
נכנסים לדף Kubernetes Workloads במסוף Google Cloud .
בסרגל הכלים של המסוף Google Cloud , בוחרים את הפרויקט שמופיע ב-
resource.project_display_name, אם צריך.מסננים לפי האשכול שצוין בשורה Resource full name בכרטיסייה Summary בפרטי הממצא, ואם צריך, לפי מרחב השמות של ה-Pod שמופיע ב-
Pod_Namespace.בוחרים את ה-Pod שמופיע ב-
Pod_Name. שימו לב לכל מטא-נתונים לגבי ה-Pod והבעלים שלו.
שלב 4: בדיקת היומנים
במסוף Google Cloud , עוברים אל Logs Explorer.
בסרגל הכלים של המסוף Google Cloud , בוחרים את הפרויקט שמופיע ב-
resource.project_display_name, אם צריך.מגדירים את Select time range לתקופה הרצויה.
בדף שנטען, מבצעים את הפעולות הבאות:
- כדי למצוא יומנים של Pod עבור
Pod_Name, משתמשים במסנן הבא: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"
- כדי למצוא יומנים של Pod עבור
שלב 5: בדיקת מאגר התגים הפעיל
אם מאגר התגים עדיין פועל, יכול להיות שאפשר לבדוק את סביבת מאגר התגים ישירות.
נכנסים למסוף Google Cloud .
בסרגל הכלים של המסוף Google Cloud , בוחרים את הפרויקט שמופיע ב-
resource.project_display_name, אם צריך.לוחצים על הפעלת Cloud Shell.
מריצים את הפקודות הבאות כדי לקבל את פרטי הכניסה של GKE לאשכול.
באשכולות אזוריים:
gcloud container clusters get-credentials CLUSTER_NAME \ --zone LOCATION \ --project PROJECT_NAMEבאשכולות אזוריים:
gcloud container clusters get-credentials CLUSTER_NAME \ --region LOCATION \ --project PROJECT_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: האשכול שמופיע ב-resource.labels.cluster_name -
LOCATION: המיקום שמופיע ב-resource.labels.location -
PROJECT_NAME: שם הפרויקט שמופיע ב-resource.project_display_name
אחזור הקובץ הבינארי שהופעל:
kubectl cp \ POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \ -c CONTAINER_NAME \ LOCAL_FILEמחליפים את
LOCAL_FILEבנתיב מקומי לאחסון הקובץ הבינארי שהורד.מריצים את הפקודה הבאה כדי להתחבר לסביבת הקונטיינר:
kubectl exec \ --namespace=POD_NAMESPACE \ -ti POD_NAME \ -c CONTAINER_NAME \ -- /bin/shכדי להשתמש בפקודה הזו, צריך להתקין מעטפת במיקום
/bin/shבמאגר.
שלב 6: מחקר על שיטות תקיפה ותגובה
- כדאי לעיין ברשומות של מסגרת MITRE ATT&CK לגבי סוג הממצא הזה: Command and Control (פקודה ושליטה).
- כדי לפתח תוכנית תגובה, משלבים את תוצאות החקירה עם מחקר של MITRE.
שלב 7: מטמיעים את התגובה
תוכנית התגובה הבאה עשויה להתאים לממצא הזה, אבל היא עלולה גם להשפיע על הפעולות. חשוב לבדוק בקפידה את המידע שאספתם במהלך הבדיקה כדי להבין מהי הדרך הטובה ביותר לפתור את הבעיות.
- צריך לפנות לבעלים של הפרויקט שמכיל את מאגר התגים שנפרץ.
- צריך להפסיק את השימוש במאגר התגים שנפרץ או למחוק אותו ולהחליף אותו במאגר תגים חדש.
המאמרים הבאים
- איך עובדים עם ממצאי איומים ב-Security Command Center
- אפשר לעיין באינדקס של ממצאי איומים.
- איך בודקים ממצא דרך מסוף Google Cloud .
- מידע על השירותים שמפיקים ממצאים לגבי איומים