לדלג לתוכן

מה זה תשתית C2 - Command and Control, ולמה כל איש הגנה צריך להבין אותה

כשתוקף, או צוות red team מורשה שמדמה תוקף, מצליח להריץ קוד על מחשב בתוך רשת ארגונית, הרגע הזה הוא רק ההתחלה. השאלה המיידית היא איך שולטים במחשב הזה מרחוק, לאורך זמן, בלי שמערכות ההגנה יתפסו את זה. התשובה היא תשתית שנקראת C2, קיצור של Command and Control.

אז מה זה בעצם C2

תשתית C2 היא פלטפורמה שמאפשרת למפעיל, operator, לשלוט מרחוק במחשבים שכבר נפרצו, ולתקשר איתם באופן שוטף. חושבים על זה כמו על מרכז בקרה - מהצד השני של החיבור יושב implant, או agent, תוכנה קטנה שרצה על המחשב שנפרץ ומדווחת חזרה לשרת ה-C2 באופן קבוע. דרך הערוץ הזה, המפעיל יכול לשלוח משימות, tasking, למשל להריץ פקודה, לאסוף קבצים, או לעבור למחשב הבא ברשת, ולקבל בחזרה את התוצאות.

התשתית הזו בדרך כלל כוללת כמה רכיבים: את השרת שמנהל את החיבורים, את ה-implant שרץ על המחשב היעד, ואת ערוץ התקשורת ביניהם, שיכול להיות מבוסס HTTP, DNS, או פרוטוקולים אחרים, לפעמים כאלה שנועדו להיראות כמו תעבורה לגיטימית כדי להתחמק מזיהוי.

למה משתמשים בזה בסימולציות תקיפה מורשות

צוותי red team מקצועיים לא פורצים לארגון ומדגימים חולשה אחת ועוזבים. המטרה שלהם היא לדמות תוקף אמיתי לאורך זמן - להשיג דריסת רגל, לשמור עליה, persistence, להתקדם ברשת, lateral movement, ולבסוף להדגים גישה למידע רגיש, הכל תחת הרשאה מפורשת ומתועדת מהארגון. תשתית C2 היא מה שמאפשר את כל השלבים האלה בצורה מרכזית ומתועדת - כל פעולה שהמפעיל מבצע דרכה נרשמת, מה שמאפשר בסוף התהליך לספק לארגון דוח מדויק בדיוק על מה נעשה, מתי, ואיך.

מסגרות עבודה מוכרות בתחום

בעולם הזה יש כמה שמות שחוזרים שוב ושוב. Cobalt Strike היא הפלטפורמה המסחרית שהייתה במשך שנים רבות סטנדרט הזהב של התעשייה, וגם היום היא נפוצה מאוד הן בסימולציות תקיפה לגיטימיות והן, לצערנו, בידי תוקפים אמיתיים שהשיגו גרסאות פרוצות שלה. Sliver היא דוגמה בולטת לחלופה מודרנית בקוד פתוח, שצברה פופולריות רבה בשנים האחרונות בקרב צוותי red team בזכות היותה חינמית, גמישה, ותומכת במגוון רחב של ערוצי תקשורת. יש עוד לא מעט מסגרות עבודה נוספות, מסחריות וקוד פתוח כאחד, וכל אחת מהן מתאימה לתרחישים ולסגנונות עבודה שונים.

דפוסי תעבורה שחשוב להכיר בצד ההגנה

כאן נכנס החלק שהכי חשוב להבין אם אתם בצד ה-blue team. ה-implant לא מתחבר לשרת ה-C2 ברציפות - הוא בדרך כלל "מתקשר", beaconing, בפרקי זמן קבועים, שולח בקשה קצרה ובודק אם יש משימה חדשה. כדי להקשות על זיהוי דפוס קבוע, מוסיפים לזה jitter, שינוי אקראי בזמן בין תקשורת לתקשורת, כדי שהתעבורה לא תיראה כמו פעימה מכנית וצפויה. חלק מהמסגרות מתקשרות דרך HTTP או HTTPS רגיל, ומנסות להיראות כמו גלישה תמימה לאתר, ואחרות משתמשות בערוצי DNS, ששולחים מידע דרך שאילתות DNS רגילות שנראות בדרך כלל בלתי מזיקות.

הבנה של דפוסים כאלה היא בדיוק מה שמאפשר לצוותי detection engineering לבנות חוקים וזיהויים - למשל חיפוש אחר תעבורה קבועה ביותר מדי לאורך זמן, גם אם המרווחים בין הבקשות לא זהים לחלוטין, או זיהוי נפח שאילתות DNS חריג ממחשב מסוים.

איך זה נלמד בפועל

הדרך הכי בריאה ללמוד את הנושא הזה היא דרך הבנה של שני הצדדים גם יחד - איך מפעיל red team חושב, ואיך אנליסט הגנה מזהה את הפעילות שלו. בקורס בדיקות חדירה אנחנו נוגעים ביסודות האלה בהקשר של תנועה בתוך רשת אחרי דריסת רגל ראשונית, תמיד בסביבת מעבדה מבוקרת ולא נגד מטרות אמיתיות.

לסיכום

תשתית C2 היא לא "כלי פריצה" במובן הפשוט - היא תשתית שלמה שמאפשרת שליטה מתמשכת, ולכן היא נמצאת בלב כל סימולציית תקיפה רצינית וכל תחקיר תגובה לאירוע. ככל שתבינו טוב יותר איך היא עובדת ואיך היא נראית ברשת, כך תהיו טובים יותר גם בצד שתוקף וגם, חשוב לא פחות, בצד שמגן.

הצטרפו לקהילה בדיסקורד