200 ארגונים ב-14 מדינות ב-11 ימים: הבקר שנחשף מראה איך VAPOR PANDA מריצה סוכני AI במקביל
בשרת שממנו נוהלו המתקפות היו רגעים שבהם אפשר היה להסתכל פנימה. חוקרי CrowdStrike OverWatch מתארים בקר תקיפה שחשף לסירוגין את הכלים שהיו עליו, את קבצי היעדים, ואת התמלילים של התוכנה שעשתה שם את העבודה בפועל. לא לוג של סורק, אלא יומן שיחה: בקשות, החלטות, מסלולים שנכשלו, ובתוכם שורות שכתב בן אדם בסינית. מהתמלילים האלה נבנה הדו״ח שפורסם ב-29 באוקטובר, ואיתו הנתון שקשה לעבור עליו. מ-17 באוקטובר ועל פני 11 ימים, בקר אחד הופעל נגד יותר מ-200 ארגונים ב-14 מדינות לפחות.
CrowdStrike מייחסת את הפעילות לקבוצת ריגול סינית שהיא מכנה VAPOR PANDA, והכלי שהריץ אותה נקרא ARTEX. בתשעה ארגונים אושרה פעילות שלאחר החדירה, כולל השתלת דלת אחורית, ריסוס סיסמאות וסריקות רשת; ב-12 ארגונים נוספים לפחות, בהם מכוני מחשבה אמריקאיים וגופי ממשל באירופה, נרשמו רק ניסיונות סיסמאות וסריקה אחר פרטי אימות. בהמשך נעבור על מה ARTEX בעצם עושה, על שלוש חדירות שהדו״ח מפרט שלב אחר שלב, ועל שורה אחת בסינית שמסבירה למה הסיפור הזה נוגע גם למי שאינו משרד חוץ.
מה הכלי הזה בעצם עושה
נניח שיש לכם רשימת יעדים ואתם רוצים לעבור על כולם: לסרוק מה חשוף לאינטרנט, לנסות את החולשות המוכרות, לראות מה נתפס, ולהמשיך פנימה ממה שעבד. זאת עבודה ידנית שלוקחת ימים לכל יעד. ARTEX מפרק אותה בין כמה מודלי שפה שמדברים ביניהם: סוכן ראשי מתאם סוכני תכנון וסוכני ביצוע סביב גרף משותף של עובדות, מסקנות ומטרות, ומקדם כל "משימה" (כך הכלי עצמו קורא ליעד) מהגישה הראשונה אל סריקת המכונה ואל תנועה רוחבית. למבנה הזה קוראים מסגרת agentic.
הכלי לא נבנה לריגול מדינתי. חוקרי Zscaler ThreatLabz, שתיעדו קמפיין אחר לגמרי שהשתמש בו נגד מוסדות פיננסיים בקוריאה הדרומית מסוף ספטמבר, מספרים שהוא פורסם ב-GitHub על ידי מפתח בשם Autumn-27 כמסגרת פתוחה לבדיקות חדירה, ושאחרי שהשימוש הזדוני בו נחשף הפך את הפרויקט לקוד סגור. עותקים שהורדו קודם, הם מציינים, עדיין מסתובבים. בקמפיין הקוריאני דלפו לפי Zscaler פרטיהם של כ-67 אלף אנשים.
זאת גם לא הפעם הראשונה שהשם עולה החודש. מיקרוסופט פרסמה ב-21 באוקטובר שקבוצה אחרת, שהיא מכנה Storm-0940, הפעילה את ARTEX נגד מאות ארגונים מספטמבר, ובכמה מהמקרים עברו פחות משלוש שעות מהרגע שארגון נבחר ועד שהתוקף החזיק הרשאות גבוהות בענן שלו. CrowdStrike כותבת במפורש שהקמפיין שהיא תיארה נפרד מהפעילות ההיא. שתי קבוצות סיניות שונות, אותו כלי, בתוך חודש.
מי זו VAPOR PANDA, ומי היו היעדים
הקבוצה לא חדשה. לפי CrowdStrike היא פועלת מ-2021 ומתמקדת בגופי ממשל, מכוני מחשבה וחברות אנרגיה וכרייה באירופה, בצפון אמריקה, באוקיאניה ובבריטניה, כשהמטרה היא גישה שנשארת לאורך זמן ולא שוד חד-פעמי. מה שחדש הוא גם הכלי וגם הרשימה: זאת הפעם הראשונה שנראתה משתמשת בכלי תקיפה מבוסס AI, ובמקביל הרחיבה את הטווח לתרופות, מוליכים למחצה, גרעין וביטחון, ולמשרדי חוץ באזורים שלא היו בתפריט שלה.
ההיקף באותם 11 ימים נראה כך: חדירות נרחבות במשרדי החוץ של שתי מדינות בדרום אמריקה, מדינה שלישית שלהערכת החוקרים נפרצה גם היא, וקבצי יעדים שהוכנו נגד משרדי חוץ במרכז אמריקה ובאסיה. משרד פנים במזרח התיכון נפרץ. משימה אחת התמקדה כולה במדינה אירופית אחת, ובתוכה משרד החוץ, בית הנשיא, משרד ראש הממשלה וגופי ביטחון, משפטים, אוצר ומודיעין. משימה אחרת כיסתה 19 ארגונים אמריקאיים בתרופות, מוליכים למחצה, ביטחון, גרעין ופיננסים. גם ספקי תקשורת בארצות הברית, בבלגיה ובפיליפינים נפרצו.
שלוש חדירות, שלוש דרכים שונות
כאן מתחיל החלק המעניין, כי התמלילים מראים מה הסוכנים עשו בפועל, ואין בזה שום דבר אקזוטי.
בחברת תרופות אמריקאית, הסוכן חיבר שני דברים ותיקים. הראשון הוא הצהרת SAML לא חתומה: SAML הוא התקן שבו ספק הזהויות אומר לאפליקציה "המשתמש הזה אומת", וכשהאפליקציה לא בודקת את החתימה על ההצהרה, אפשר להגיד לה מה שרוצים. השני הוא חולשת XXE, מצב שבו מפרסר ה-XML של היישום מוכן לפנות לקבצים ולכתובות שמוזכרים בתוך המסמך שהוא קיבל. בשילוב, אפשר לשלוח לשרת מסמך שגורם לו לפנות בשם עצמו לשירות המטא-דאטה של מכונות הענן, אותו endpoint פנימי שמחזיק את פרטי האימות של התפקיד שהמכונה מריצה. התפקיד שחזר משם היה כזה שמאפשר לשלוח פקודות ניהול לאלפי מכונות. משם הסוכן הסלים עד חשבון enterprise administrator.
בחברת תרופות אמריקאית שנייה המסלול היה אחר לגמרי. הסוכן שתל web shells, ניצל שירות תזמור שלא דרש אימות כלל כדי להשיג הרשאות root בסביבת קונטיינרים בייצור, קרא משם סיסמאות LAPS (המנגנון של מיקרוסופט שמנהל את סיסמת המנהל המקומי של כל מכונה ושומר אותה ב-Active Directory), והשתמש ב-resource-based constrained delegation כדי להתחזות לחשבון בעל הרשאות.
המקרה השלישי, נגד גוף ממשלתי ביוון, הוא זה שבו תפקיד האדם הכי בולט. המפעיל הגיש לסוכן ייצוא ספרייה משרת הדואר של הארגון משנת 2022, שהכיל מפתחות אימות שלפי הדו״ח כנראה לא הוחלפו מאז. הסוכן השתמש בהם כדי לחתום token של מנהל ולקרוא תיבות דואר. בתוך דואר יוצא הוא מצא קונפיגורציות VPN, ואיתן, יחד עם מפתח VPN שהמפעיל תיאר כמקורו בדליפת דואר ממאי 2024, הגיע לרשת הפנימית. ארכיון בן ארבע שנים, ובסופו גישה חיה.
אז מה המפעיל האנושי עשה שם
הוא לא כתב את הקוד ולא ניהל כל צעד. לפי התמלילים הסוכנים רדפו כמה מסלולי תקיפה במקביל, על אפליקציות ווב, שירותי ענן, סביבות קונטיינרים, Active Directory ותשתיות דואר ו-VPN, "ועברו לדרכים חלופיות כשמסלול נכשל", כתבו ב-CrowdStrike. המפעיל נכנס בצמתים: לכתוב web shell, לחלץ סיסמאות של מנהל דומיין, לעשות אינוונטר לכיסוי של חיישני האבטחה. ההוראות שלו מסומנות בתמלילים בתווית 【人类指令】, כלומר "הוראת אדם", וחתומות לפי שעון סין.
העלות בזמן אדם ברורה יותר מהעלות בחישוב. בחדירה אחת בלבד, לפי CrowdStrike, סוכני התכנון צרכו בסדר גודל של 1.4 מיליארד token קלט, והחברה מעריכה שהצריכה הכוללת של המבצע גבוהה בהרבה. ARTEX הורץ שם בעיקר מול DeepSeek, מודל סיני, בתוספת מודל מסחרי שני במנוי שהחוקרים לא הצליחו לזהות. ההערכה שלהם היא שהשילוב מכוון: שרשרת כלים שלא תלויה בספק מודלים אחד.
והנה השורה שכדאי לקרוא פעמיים. בחברת תרופות גלובלית הנחה המפעיל את הסוכנים "לחפש בדומיין מכונות Windows בלי Falcon, לפי tasklist ולפי תיקיות". הוא השתמש במילה 猎鹰, שבעגה של צוותי תקיפה בסין מתארת את חיישן ה-Falcon של CrowdStrike עצמה. בדיקת כיסוי של חיישני EDR, מוטמעת ישר בתוך זרימת העבודה האוטומטית, כדי לרכז את ההמשך על מכונות שאין עליהן סוכן.
הדלת האחורית שלא הופיעה בדיווחים הקודמים
במשרד הפנים במזרח התיכון ובמשרד החוץ בדרום אמריקה הושתלה BLOODALCHEMY, דלת אחורית שחוקרי Elastic Security Labs תיעדו לראשונה באוקטובר 2023. היא כתובה ב-C, מגיעה כ-shellcode שמוזרק לתהליך חתום ולגיטימי, ואינה מסוגלת לטעון את עצמה, כלומר היא תמיד תלויה בטוען חיצוני.
בקמפיין הזה הטוען היה קובץ הרצה אמיתי של הכלי GameHook, שהתוקפים שינו את שמו ל-svchost.exe. הוא טען DLL זדוני בשם graphics-hook-filter64.dll, וזה פענח את המטען מקובץ בשם graphics-hook_config.bin. שלושת הקבצים נמצאו מונחים באותן ספריות חשופות על הבקר. בתוך המטען יש נתיב פרויקט פנימי, D:\ProjectX\Merman_New\, שלפי החוקרים כנראה שם הפיתוח הפנימי של הנוזקה. CrowdStrike מדגישה שהמדדים האלה, ובהם שלוש כתובות ה-C2 (שרת שליטה ובקרה, השרת שדרכו התוקף שולח פקודות לנוזקה) שפרסמה, לא הופיעו בדיווחים הפומביים הקודמים על ARTEX.
מה צפוי מכאן, ומה לעשות עכשיו
ההערכה של CrowdStrike קדימה היא שקבוצות סיניות ימשיכו לאמץ מסגרות כאלה בשנה הקרובה ולחבר אותן למודלים מסחריים זמינים, כך שצוות קטן יוכל לפתוח הרבה חזיתות בבת אחת. "כלים agentic כמו ARTEX מאפשרים את קנה המידה הזה של התרחבות במהירות", כתבו שם, והוסיפו שאין בזה נטישה של משימת האיסוף הוותיקה של הקבוצה אלא הגדלה שלה.
מה שבולט בשלוש החדירות הוא שאף אחת לא נשענה על חולשת יום-אפס. חתימת SAML שלא נבדקה, שירות תזמור בלי אימות, מפתחות מייצוא של 2022 שלא הוחלפו. הדברים האלה שוכבים בארגונים שנים, כי אף אחד לא הגיע אליהם. מה שהשתנה הוא שעד עכשיו היה צריך תוקף שיגיע אליהם אחד אחד.
ההמלצות המעשיות בדו״ח מכוונות בדיוק לשם: להחליף מפתחות חתימה ומפתחות שירות אחרי כל חשד לחשיפה, כולל מפתחות ששוכבים בגיבויים היסטוריים ובייצואי ספרייה כמו זה מ-2022; לאכוף בדיקת חתימה על הצהרות SAML; לחייב IMDSv2 בענן, ולהגביל את מספר המכונות שתפקיד ענן יכול לשלוח להן פקודות ניהול. מי שמחזיק סביבת קונטיינרים כדאי שיבדוק מה חשוף שם בלי אימות בכלל.
ולמי שמריץ EDR יש כאן שורה אופרטיבית משלו: הכיסוי החלקי הוא מה שהתוקף מחפש. בדיקה אחת של אילו שרתים, בעיקר שרתי לינוקס ותיקים ומכונות שנחשבות "לא מחוברות לאינטרנט", נשארו בלי סוכן, שווה יותר מכל חוק גילוי שתוסיפו החודש.
תגובות