paint-brush
חשיפת VEILDrive: Threat Actors מנצלים את שירותי Microsoft לשליטה ובקרהעל ידי@hunters
15,217 קריאות
15,217 קריאות

חשיפת VEILDrive: Threat Actors מנצלים את שירותי Microsoft לשליטה ובקרה

על ידי Hunters30m2024/11/11
Read on Terminal Reader

יותר מדי זמן; לקרוא

- צוות הציידים AXON זיהה ועוקב כעת אחר מסע איומים מתמשך, המכונה "VEILDrive" - הקמפיין זוהה במקור כחלק ממעורבות AXON לטיפול בפעילות זדונית שזוהתה באחד מתשתית הלקוחות שלנו - כחלק מהחקירה, זיהינו רכיבי תשתית שונים של מיקרוסופט של ארגוני קורבן נוספים שנפגעו והשתמשו בהם על ידי התוקף - התוקף מינף שירותים ויישומים שונים של Microsoft SaaS כחלק מהקמפיין, כולל Microsoft Teams, SharePoint, Quick Assist ו-OneDrive - התוקף השתמש בשיטה ייחודית מבוססת OneDrive Command & Control (C&C) כחלק מהתוכנה הזדונית שנמצאה בתשתית של הקורבן - בהתבסס על המסקנות מהחקירה שלנו, ישנה סבירות משמעותית שמקור הקמפיין הזה מרוסיה - Team AXON דיווח על ממצאיו למיקרוסופט כדי לסייע בכיבוי התשתית של השחקן - הצוות גם פנה למספר קורבנות מושפעים שזוהו במהלך המחקר שלנו
featured image - חשיפת VEILDrive: Threat Actors מנצלים את שירותי Microsoft לשליטה ובקרה
Hunters HackerNoon profile picture
0-item
1-item
2-item

מאת Hunters Team Axon

TL;DR

  • צוות הציידים AXON זיהה ועוקב כעת אחר מסע איומים מתמשך, המכונה " VEILDrive "
  • הקמפיין זוהה במקור כחלק ממעורבות AXON לטיפול בפעילות זדונית שזוהתה באחד מהתשתיות של הלקוחות שלנו
  • כחלק מהחקירה, זיהינו רכיבי תשתית שונים של מיקרוסופט של ארגוני קורבן נוספים שנפגעו והשתמשו בהם על ידי התוקף
  • התוקף מינף שירותים ויישומים שונים של Microsoft SaaS כחלק מהקמפיין, כולל Microsoft Teams, SharePoint, Quick Assist ו-OneDrive
  • התוקף השתמש בשיטה ייחודית מבוססת OneDrive Command & Control (C&C) כחלק מהתוכנה הזדונית שנמצאה בתשתית של הקורבן
  • בהתבסס על המסקנות מהחקירה שלנו, ישנה סבירות משמעותית שמקור הקמפיין הזה מרוסיה
  • צוות AXON דיווח על ממצאיו למיקרוסופט כדי לסייע בכיבוי התשתית של השחקן
  • הצוות גם פנה למספר קורבנות מושפעים שזוהו במהלך המחקר שלנו


תקציר מנהלים

צוות הציידים AXON חשף ועוקב באופן פעיל אחר מסע איומים מתמשך המכונה "VEILDrive". התגלה בתחילה במהלך חקירה של פעילות זדונית בתשתית של לקוח, VEILDrive ממנפת את חבילת ה-SaaS של מיקרוסופט - במיוחד Teams, SharePoint, Quick Assist ו-OneDrive - כדי בצע את הטקטיקות שלו באופן ייחודי, שחקן האיום משתמש בשיטת פקודה ושליטה (C&C) מבוססת OneDrive המוטמעת בתוכנה זדונית מותאמות אישית, שנפרסת בסביבות שנפרצו, מצביע על מקור רוסי סביר לקמפיין הזה, וצוות AXON התריע מאז על שניהם מיקרוסופט וארגונים מושפעים כדי לצמצם ניצול נוסף.


המחקר שלנו החל בספטמבר 2024 בעקבות תגובה למתקפה על ישות תשתית קריטית בארצות הברית. טכניקות ההתקפה של VEILDrive חורגות באופן מובהק מהתנהגות איום טיפוסית. הם מסתמכים במידה רבה על תשתית ה-SaaS של מיקרוסופט כדי להפיץ קמפיינים של ספייר פישינג ולאחסן תוכנות זדוניות. האסטרטגיה התלויה ב-SaaS מסבכת את הזיהוי בזמן אמת ועוקפת הגנות קונבנציונליות.


התוכנה הזדונית הקשורה ל-VEILDrive היא קובץ jar המבוסס על Java שבעיקר חסר ערפול, מה שהופך אותו לקריאה ובנוי היטב בצורה יוצאת דופן. למרות הפשטות שלה, התוכנה הזדונית התחמקה מזיהוי על ידי כלי זיהוי ותגובה של נקודות קצה (EDR) ברמה העליונה וכל מנועי האבטחה ב-VirusTotal. זה מדגיש סיכון קריטי: אפילו קוד לא מעורפל ופשוט יכול לחמוק ממנגנוני זיהוי מודרניים, מה שמצביע על צורך רחב יותר לבחון מחדש אסטרטגיות זיהוי בסביבות בסיכון גבוה.


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


רֶקַע

בספטמבר 2024, Team AXON הגיב לתקרית המכוונת לחברת תשתית קריטית בארצות הברית. חקירה זו חשפה מסע איומים ייחודי, "VEILDrive", שהציג טקטיקות, טכניקות ונהלים חריגים (TTPs) שחרגו באופן משמעותי מאלה הנראים בדרך כלל בתקריות דומות.


בהתבסס על הממצאים שלנו, אנו מעריכים כי קמפיין VEILDrive החל בתחילת אוגוסט 2024 ונשאר פעיל נכון לדוח זה. תוך מינוף שירותי Microsoft SaaS - כולל Teams, SharePoint, Quick Assist ו-OneDrive - התוקף ניצל את התשתיות המהימנות של ארגונים שנפגעו בעבר כדי להפיץ התקפות דיוג בחנית ולאחסן תוכנות זדוניות. אסטרטגיה ממוקדת ענן זו אפשרה לשחקן האיום להימנע מזיהוי על ידי מערכות ניטור קונבנציונליות.


יש לציין כי VEILDrive הציגה שיטת פקודה ושליטה (C&C) חדשה מבוססת OneDrive המוטמעת בתוכנות זדוניות מבוססות Java שנפרסו במכשירים שנפגעו. התוכנה הזדונית עצמה, קובץ jar, מציגה שתי תכונות בולטות:


  • שקיפות קוד: עם אפס ערפול וקוד מובנה היטב, תוכנה זדונית זו מתנגדת למגמה האופיינית של עיצוב ממוקד התחמקות, מה שהופך אותה לקריאה ופשוטה בצורה יוצאת דופן.
  • יעילות התגנבות: למרות הפשטות שלה, תוכנה זדונית זו לא זוהתה הן על ידי פתרון זיהוי ותגובה של נקודות קצה (EDR) ברמה העליונה שנפרסה בסביבת הקורבן והן על ידי כל מנועי האבטחה ב-VirusTotal (ראה איור 1 להלן):

איור 1: צילום מסך של VirusTotal המציג תוכנות זדוניות של Java עם אפס זיהויים; לא זוהה על ידי כל מנועי VirusTotal, תוך הדגשת יכולות התחמקות.


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


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


נתיב ההתקפה של VEILDrive

בתחילת ספטמבר 2024, אחד מלקוחותיו של Hunters, המכונה להלן "Org C", הזמין את צוות AXON לתמיכה בטיפול באירוע פעיל. התיק התרכז במכשיר ספציפי בתוך Org C שנפגע באמצעות הנדסה חברתית.


משימה מתוזמנת שנוצרה באופן חשוד במכשיר של עובד Org C הפעילה התראה, מה שהוביל לחקירה נוספת. על ידי תיאום יומנים ותקשורת עם המשתמש המושפע, הצוות הבהיר את שיטת הגישה הראשונית.


להלן תרשים התקפה המספק סקירה ברמה גבוהה של זרימת ההתקפה:


דיאגרמת ההתקפה של VIELdrive


רצף האירועים התפתח כך:

שלב 1

השחקן הזדוני מינף את Microsoft Teams כדי לשלוח הודעה לארבעה עובדים נבחרים ב-Org C, שפרט להיותם לא טכניים על סמך תפקידיהם, לא היה להם קשר ברור אחר. התוקף התחזה לחבר צוות IT וביקש גישה למכשיר של כל עובד באמצעות כלי השירות המרוחק Quick Assist .


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


יומני ביקורת M365 שימשו לזיהוי התחזות בחנית של Microsoft Teams.

  • זוהו אירועי " MessageSent " ו-" ChatCreated " מרובים, כולם מקורם במשתמש שנפגע בעבר של Org A , בבעלותו של שחקן האיום.

  • בעוד 4 עובדים היו ממוקדים, זוהה רק אירוע " MemberAdded " אחד המכוון למשתמש שנפגע בארגון A.


איור 2: רישום יומני ביקורת של Microsoft 365 מ-Org C - מציג את אירוע "MemberAdded" שבו חשבון המשתמש שנפגע בעבר של Org A נוסף לצ'אט אחד-על-אחד עם הקורבן של Org C.


  • אירוע " MemberAdded " זה נערך על ידי חשבון המשתמש היחיד מבין 4 המשתמשים הממוקדים שקיבלו את בקשת הגישה של שחקן האיום, ויצרו צ'אט אחד על אחד. המשמעות היא שמשתמש זה היה היחיד שקיים אינטראקציה פעילה עם ההודעה הנכנסת.
  • מידע זה התאים לנתונים מטלמטריית EDR של הארגון, ואישר שהמשתמש לא רק קיבל את הבקשה וקיבל את ההודעה אלא גם אפשר לתוקף לקבל גישה ראשונית עקב הנדסה חברתית מוצלחת.


התובנה שלעיל הייתה מסקרנת ובעלת ערך כאחד, והדגישה את השכיחות הגוברת של דיוג באמצעות Microsoft Teams וכלי תקשורת דומים. הבחנה בין ניסיונות דיוג מוצלחים לכושלים באמצעות יומני ביקורת M365, לצד מתאם עם יומני EDR, יכולה להיות משמעותית ביותר עבור חקירות.


הודעות Microsoft Teams שהתקבלו על ידי המשתמשים הממוקדים של Org C התאפשרו הודות לפונקציונליות " גישה חיצונית " של Microsoft Teams, המאפשרת תקשורת אחד על אחד עם כל ארגון חיצוני כברירת מחדל.

שלב 2

התוקף פיתה בהצלחה את הקורבן של Org C להפעיל את הכלי Quick Assist של מיקרוסופט וסיפק להם את קוד הגישה באמצעות Microsoft Teams. זה הוביל לגישה אינטראקטיבית של שחקן האיום למחשב של הקורבן.

שלב 3

לאחר מכן, שחקן האיום שיתף קישור הורדה ל-SharePoint של ארגון נפרד (הקורבן היה שייך לדייר אחר מזה ששימש להתחזות דרך הצ'אט של Microsoft Teams, שאליו נתייחס כ'Org B'). קישור זה הכיל קובץ .zip מוגן בסיסמה בשם Client_v8.16L.zip, שכלל קבצים שונים, ביניהם כלי RMM נוסף.


הקובץ הורד, ככל הנראה באמצעים אינטראקטיביים, על ידי התוקף - שכבר מצויד בגישה מרחוק - הפועל תחת ההקשר של explorer.exe, המאפשר לו ללחוץ על הקישור ולהוריד כלים לפי הצורך.


ראוי להזכיר שבמהלך החקירה, תיאם את יומני הביקורת של M365, שסיפקו מידע מדויק על כתובות ה-URL הנכנסות בהודעות Microsoft Teams, עם טלמטריית ה-EDR של המארח של הקורבן כדי להבין את ה-TTPs של התוקף.


איור 3: יומני ביקורת של Microsoft 365 מ-Org C המציגים ערך 'MessageSent' עם כתובת URL זדונית שנשלחה על ידי התוקף דרך חשבון משתמש ב-Org C. כתובת האתר מפנה ל-SharePoint של Org B, שם התארחו קבצי תוכנה זדונית להורדה.

שלב 4

נעשו ניסיונות מרובים לבצע פעולות זדוניות ידניות באמצעות גישה מרחוק. פעילויות אלו כללו בעיקר מאמצי התמדה, כגון יצירת משימות מתוזמנות לביצוע שוב ושוב אחד מהקבצים שהורדו מהתוקף - כלי RMM בשם LiteManager ("ROMServer.exe").

schtasks /Create /TN "Perfomance monitoring" /SC MINUTE /TR C:\ProgramData\500000003\ROMServer.exe

שלב 5

בעקבות הפעילויות שלמעלה, השחקן מוריד ידנית קובץ .zip נוסף בשם Cliento.zip.


כמו בעבר, הקישור שותף בצ'אט בין המשתמש הקורבן לשחקן האיומים. קובץ ה-zip הזה כלל את תוכנת ה-.JAR הראשית וכן את כל ערכת הפיתוח של Java להפעלת תוכנת ה-.JAR.

שלב 6

שחקן האיום ביצע את התוכנה הזדונית .JAR באמצעות הפריטים הבאים: C:\\ProgramData\\Cliento\\jdk-22_windows-x64_bin\\jdk-22.0.2\\bin\\javaw.exe -jar C:\\ProgramData\\Cliento\\Cliento.jar

שלב 7

פעילויות רשת מרובות וביצוע פקודות זוהו בהקשר של קובץ ה-.JAR הזדוני, כולל:


  • מספר בקשות DNS יוצאות/פעילות רשת אל ← safeshift390-my.sharepoint.com

  • מספר בקשות DNS יוצאות/פעילות רשת אל ← graph.microsoft.com

  • מספר בקשות DNS יוצאות/פעילות רשת אל → login.microsoftonline.com

  • ביצוע פקודות ספירה מקומיות:

    • קבל מפרט מערכת - Systeminfo
    • קבל מידע על זמן מכונה - net time
    • קבל את ה-UUID של המחשב ( זכור את זה; נדון בו מאוחר יותר ) - Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -ExpandProperty UUID
    • ספירת התקני USB - {$_.interfacetype -eq \"USB\"}"


צילום המסך הבא מציג את החלקים העיקריים של עץ התהליך הקשורים לפעילויות זדוניות:

איור 4: עץ תהליך מסוכם מ-SIEM מהדור הבא של Hunters

שלב 8

התוקף הוסיף גם JAR בינארי זדוני כ-runkey ברישום לביצוע מתמשך של תוכנת זדונית Java.

שורת פקודה:

Set-ItemProperty -Path \"HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" -Name \"current\" -Value \"C:\\ProgramData\\Cliento\\jdk-22_windows-x64_bin\\jdk-22.0.2\\bin\\javaw.exe -jar C:\\ProgramData\\Cliento\\Cliento.jar\" -ErrorAction Stop"


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


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


בואו נסכם במהירות את שירותי מיקרוסופט בשימוש על ידי שחקן האיום באמצעות הטבלה הבאה:

שֵׁרוּת

שׂוֹכֵר

מַטָרָה

צוותי מיקרוסופט

מארגון A לארגון C

Spear Phishing Messages כדי לפתות את הקורבן להוריד ולהפעיל את כלי הניהול מרחוק

סיוע מהיר

Org C

שחקן האיום שולח קוד Quick Assist באמצעות הודעת Microsoft Teams כדי להשיג את השלט הרחוק הראשוני

SharePoint

מ-Org B ל-Org C

קבצים זדוניים "מתארחים" בדייר SharePoint של Org B. קישורי הורדה משותפים עם Org C באמצעות הודעות SharePoint ונפתחים על ידי התוקף באמצעות Quick Assist

API של גרף

מארגון C ל-N/A

היו לנו אינדיקציות לגישה זדונית ל-Microsoft Graph (graph[.]microsoft[.]com) ביוזמת ה-cliento.jar הזדוני.


בשלב זה, זיהינו את ארבעת השירותים/אפליקציות של Microsoft שהוזכרו לעיל. למרות שהבנו את המטרה של שלושת הראשונים, הפעילות שהופנתה כלפי ה-API של Graph נותרה לא ברורה. היו לנו כמה הנחות לגבי המטרה הפוטנציאלית שלו, אבל בתגובה לאירוע, הנחות בלבד אינן מספיקות, נכון?


כדי לאסוף מידע נוסף ולהבין טוב יותר את התוכנה הזדונית .JAR 'Cliento.jar' ב-OneDrive/SharePoint - הן כדי להעריך פעולות פוטנציאליות שננקטו על ידי התוקף והן כדי לקבל תובנה לגבי כוונותיו - המשכנו בניתוח מפורט של התוכנה הזדונית.


"ODC2" Java Malware - OneDrive כפקודה ובקרה

השתמשנו ב-Java Decompiler בשם "JDGUI" כדי לפרק את התוכנה הזדונית Client.jar (קראנו בשם "ODC2").


רק מההסתכלות הראשונית ברמה הגבוהה על התוכנה הזדונית, נוכל לקשר אותה מיד עם ביצוע PowerShell שראינו בחקירת האירוע. זאת בשל הכללת חבילת " jPowerShell " Java - מעטפת PowerShell עבור Java.


בנוסף, יכולנו לראות חבילות נוספות כמו "פקודות", "חיבור", "מפעיל", "או להתחבר" וכו'. זה סיפק לנו הבנה ברמה גבוהה של מבנה התוכנה הזדונית.


איור 5: צילום מסך של מפרק Java


  1. התחלנו עם ה-Main.class תחת חבילת "משגר" ומצאנו קבוצה של אישורים מקודדים קשיחים המשמשים את התוכנה הזדונית. זה היה קצת מפתיע עבורנו, אבל מאוד מעניין.


איור 6: צילום מסך של Java Decompiler המציג את התוכן של הקובץ Cliente.jar עם התמקדות בקובץ 'Main.class'


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


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


  1. בפונקציה הראשית של Main.class נוכל לראות את נקודת הכניסה עצמה, הכוללת שרשורים מרובים. זה כולל את ביצוע הפונקציות "odThread1" ו-"mainThread1".


איור 7: קטע קוד Java המציג את השיטה הראשית במחלקת Java מפורקת, עם שרשורים מרובים (odThread1, odThread2, mainThread1, mainThread2) המאתחלים אובייקטי Controller


"odThread1" כולל את ההפעלה של הפונקציה "odRun" של הבקר שמקבלת את הסט הראשון של אישורים מקודדים (Refresh Token וכו') לצורך אימות.


  • הוא משתמש בכתובת ה-IP "40.90.196.221" להגדרת חיבור "odRun"

  • כתובת ה-IP "40.90.196.228" עבור "הפעלה" מאתחלת את שקע ה-HTTPS ל-C2 של התוקף. IP זה הוא גם ה-IP של Azure, וסביר מאוד שהוא מכונה וירטואלית. ערוץ C2 זה, כמפורט להלן, הוא "קלאסי" יותר ומוביל לביצוע פקודות PowerShell

  • כדי לקבל מידע נוסף על כתובות IP אלו, בדקנו משאבים ידועים כמו ipinfo.io ותגי השירות של כתובות IP של Azure שפורסמו על ידי Microsoft, כפי שמוצג בצילום המסך למטה:



איור 8: חיפוש ה-IP בצד ימין מספק פרטים עבור ה-IP '40.90.196.228', המשויך ל-'microsoft.com' תחת סוג 'אירוח', ללא דגלי VPN, proxy, Tor או ממסר מופעלים


  • ראוי גם להזכיר שכתובת ה-IP המקודדת הנוספת שנמצאה בתוכנה זדונית זו (38.180.136.85) נראית בבעלותו של ספק שירות אחר ומשויכת לשירותי אירוח. בהתבסס על התובנות שלנו, כתובת ה-IP הזו לא הייתה בשימוש פעיל על ידי התוכנה הזדונית. אנו מניחים שזה היה שם מסיבות מדור קודם (תשתית C2 קודמת).


שקע HTTPS C2

  1. על ידי חפירה קצת יותר עמוקה לתוך "mainThread1()" אשר מבצע את הפונקציה "ctrl.run()", אנו יכולים לראות שפונקציית run() מנסה ליצור חיבור ובודקת באופן שגרתי אם החיבור חי. לאחר מכן הוא מנסה "לנתח את הפקודה", לחתוך ממנו חלקים לא רלוונטיים.


איור 9: קטע קוד Java ממחלקת Controller בתוכנת Java מפורקת


  1. פונקציית "הפעלה" זו משתמשת ב-"connect()" כדי להגדיר/לאפס חיבור. זה יוצר שקע לכתובת ה-IP המרוחקת שראינו למעלה - 40.90.196.228.

  2. פונקציית "הפעלה" זו משתמשת ב-"CommandManager", הכוללת טיפולים שונים עבור סוגי הפקודות/היכולות השונות שמספקת תוכנה זדונית, כולל העברת קבצים מלקוח לשרת ומשרת ללקוח, דחיסת קבצים, צילומי מסך, סגירת חיבורי רשת, וכן, כמובן, ביצוע פקודה.


הוא בודק אם הפקודה שהתקבלה ריקה או אם התקבלה פקודה ממשית משרת C2.


איור 10: צילום מסך של קטע קוד Java ממחלקת CommandManager בתוכנת Java מפורקת


  1. אם נמצא פקודה, הוא מנתח אותה ומבצע אותה. הביצוע הוא בעצם בהקשר של PowerShell.


    ביצוע הפקודה הנכנסת כפקודה של PowerShell מתבצע באמצעות המעטפת jPowerShell שהזכרנו קודם לכן.

איור 11: קטע קוד Java ממחלקת CommandManager בתוכנת Java מפורקת


פקודה ובקרה של OneDrive

לפני שמתעמקים בליבת הפונקציונליות של OneDrive C2, חשוב לציין שחלקים קריטיים בקוד של התוכנה הזדונית מסתמכים במידה רבה על שלושה 'סוגים' ספציפיים של קבצי OneDrive: UUID, cf_UUID ו-rf_UUID. כפי שנצפה בחקירה שלנו, הפקודה Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -ExpandProperty UUID הופעל, חושף את UUID של חומרת ההתקן. מזהה ייחודי זה משמש להבחין בין כל קורבן בקמפיין VEILDrive.


כל סוג קובץ ממלא תפקיד מובהק בפעולות התוכנה הזדונית. צילום המסך הבא מספק דוגמאות לקבצים אלה ולתפקידיהם העיקריים בביצוע תוכנות זדוניות.


איור 12: צילום מסך המציג שלושה קבצים בספריה, כל אחד עם UUID ייחודי


בואו נצלול לתוך זרימת הפונקציונליות של OneDrive C2 וכיצד נעשה שימוש בקבצי UUID אלה בפועל:


  1. בנוסף ליכולות הקלאסיות של ביצוע מרחוק מעל PowerShell, הפונקציה "odRun" אחראית על שרשור נוסף המבוסס על "OneDrive" כערוץ תקשורת. זהו החלק הייחודי של תוכנה זדונית זו.


    ה-"odRun" כפי שאנו רואים אותו, נקרא כנראה על שם "OneDrive" (OneDriveRun), וכולל יצירת חיבור OneDrive באמצעות הפונקציה "Odconnect" כשלב ראשון:


איור 13: קטע קוד Java המציג את שיטת odRun, שלוקחת פרמטרים כולל tenantId, clientId, clientSecret, grantType, accessToken ו-refreshToken


  1. כפי שאתה יכול לראות, תחילה מחרוזת "machineUUID" מוגדרת כמחרוזת ריקה. ואחריו ביצוע הפונקציה "getMachineUUID()", שהיא, כפי ששמה מרמז, מקבל את ה-UUID Machine של המכשיר הקורבן:


איור 14: קטע קוד Java המציג את שיטת getMachineUUID, המאחזרת את ה-UUID של המחשב. השיטה מבצעת פקודת PowerShell, 'Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -ExpandProperty UUID', ומקצה את התוצאה למשתנה machineUUID לפני החזרתו


  1. לאחר מכן נוכל לראות שהחיבור של OneDrive מתבצע באמצעות הפונקציה "OdConnect" - החיבור מתבצע אל "login[.]microsoftonline[.]com" ליצירה/עדכון של קבוצה של אסימוני גישה חדשים ואסימוני רענון .


איור 15: קטע קוד Java המציג את שיטת updateTokens במחלקה Odconnect


  1. הפונקציה "WriteFileToOneDrive" היא הפונקציה הבאה שנקראת, כל עוד אין קובץ בשם UUID של מכונת הקורבן הנוכחית במחשב היעד, בהתבסס על בדיקה שבוצעה על ידי הפונקציה "checkFile".
  • "checkFile": פונקציה זו בודקת אם יש קובץ בשם == machineUUID בתיקיית הבית של המשתמש הנוכחי OneDrive


איור 16: קטע קוד Java המציג את שיטת checkFile במחלקה Odconnect. שיטה זו בודקת את קיומו של קובץ ב-OneDrive באמצעות Microsoft Graph API כדי לרשום קבצים בספריית השורש


  1. אם אין קובץ כזה, ה-"writeFileToOneDrive()" נכנס למשחק ויוצר קובץ בשם UUID המחשב הקורבן הנוכחי ללא שום קידומת.


איור 17: קטע קוד Java המציג את שיטת writeFileToOneDrive במחלקה Odconnect. שיטה זו מעלה קובץ ל-OneDrive על ידי שליחת בקשת PUT ל-Microsoft Graph API


  1. החלק הבא של "odRun" הוא הפונקציה "getFiles()" שמקבלת את התוכן של UUID.


קובץ OneDrive שנקרא על ידי המכונה UUID של המכשיר (ללא קידומות).

  • אם תוכן הקובץ אינו ריק הוא בודק אם הוא מתחיל במילה "שלח":
    • הוא מבצע נורמליזציה מסוימת של התוכן, מכין אותו לבדיקות הבאות - על ידי הסרת המחרוזת "שלח" והחלפת "\"" ב-"" (כלום) שומרת אותו במשתנה בשם " filenameForDownload "
    • filenameForDownload מועבר לפונקציה getFileDownloadUrl . זה מקבל את הקובץ לפי בחירת התוקף. התוקף יציין את שם הקובץ אחרי המילה "שלח" בקובץ UUID וישמור אותו בנתיב היעד שצוין במחשב הקורבן שהוא "user.home"\downloads (תיקיית ההורדות).
    • לאחר מכן, נקראת הפונקציה " downloadFile ", מורידה את הקובץ המרוחק למכשיר הקורבן המקומי, בהתבסס על פלט הפונקציה getFileDownloadUrl .
    • התוקף מקבל אינדיקציה לגבי ביצוע הקובץ באמצעות " writeFileToOneDrive " המופעל מיד לאחר כחלק מ- "odRun" כדי לכתוב את ה-"rf_" הבא + "שלח קובץ" + filenameForDownload + "בוצע" → כדי ליידע את התוקף שהביצוע בוצע. בעקבות זאת, ישנה הפעלה נוספת של "writeFileToOneDrive", שבה נכתב ל-OneDrive קובץ נוסף, בשם "cf_" + machineUUID, ללא כל תוכן בו.
  • אם תוכן הקובץ אינו ריק אך אינו מתחיל ב"שלח":
    • התוכן של קובץ cf_MachineUUID יבוצע.

    • לאחר מכן שוב על ידי כתיבת קובץ ל-OneDrive, באמצעות " writeFileToOneDrive ", תחילה "rf_" + machineUUID, עם התוכן של תגובת הביצוע.

    • ושימוש נוסף ב- " writeFileToOneDrive ", כדי לכתוב ולרוקן קובץ "cf_", בעצם מונע ביצוע נוסף של אותה פקודה (מאחר שהתוכנה הזדונית פועלת בלולאה).


לסיכום קצר, נראה שלתוכנה זדונית זו יש שני ערוצי C2 שונים איתם היא יכולה לעבוד:


  • HTTPS Socket C2 : גישה קלאסית יותר, קבלת פקודות מ- Azure VM מרוחק וביצוען בהקשר של PowerShell.

  • C2 מבוסס OneDrive : זה יותר ייחודי, והדרך שבה זה עובד קצת יותר מורכבת ויצירתית. הוא כולל שלושה קבצים שונים, שכולם כוללים את UUID של מכשיר הקורבן, חלקם עם קידומות (rf_ ו-cf_). כדי להקל על שחקן האיום לשלוח פקודות ולקבל אותן באמצעות Microsoft Graph.


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


שירותי/אפליקציות של מיקרוסופט כתשתית התוקף

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

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


ראה את הטבלה שלהלן לסיכום קצר:

שֵׁרוּת

שׂוֹכֵר

מַטָרָה

צוותי מיקרוסופט

מארגון A לארגון C

Spear הודעות דיוג כדי לפתות את הקורבן להוריד ולהפעיל כלי ניהול מרחוק

סיוע מהיר

Org C

שחקן האיום שולח קוד Quick Assist באמצעות הודעת Microsoft Teams כדי להשיג את השלט הרחוק הראשוני

SharePoint

מ-Org B ל-Org C

קבצים זדוניים "מתארחים" אצל דייר SharePoint של Org B. קישורי הורדה משותפים עם Org C באמצעות הודעות SharePoint ונפתחים על ידי התוקף באמצעות Quick Assist

Azure VM

תשתית של התוקף

התוכנה הזדונית תקשרה עם Azure Virtual Machine בבעלות שחקן האיום למטרות HTTPS Socket C2

OneDrive (גרף API)

בין מארח OneDrive ו-Org C של התוקף

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

רישום אפליקציות Azure AD

בין מארח OneDrive ו-Org C של Attacker

האפליקציה שימשה לאימות מטעם חשבון משתמש Azure AD בבעלות השחקן, וגישה לתיקיית הבית של OneDrive שלו


אינדיקטורים של פשרה (IOCS)

  • דיירי Entra ID ידועים בבעלות התוקף:
    • C5f077f6-5f7e-41a3-8354-8e31d50ee4d
    • 893e5862-3e08-434b-9067-3289bec85f7d
  • יישומים מוכרים שנרשמו על ידי מזהי הלקוח התוקף:
    • B686e964-b479-4ff5-bef6-e360321a9b65
    • 2c73cab1-a8ee-4073-96fd-38245d976882
  • דיירי Entra ID המשמשים את התוקף (חפש בקשת DNS יוצאת לתחומים אלה):
    • SafeShift390[.]onmicrosoft[.]com
    • GreenGuard036[.]onmicrosoft[.]com
  • קבצי IOC (SHA256) שנמצאו כחלק מהחקירה:
    • ROMServer.exe a515634efa79685970e0930332233aee74ec95aed94271e674445712549dd254
    • HookDrv.dll 1040aede16d944be8831518c68edb14ccbf255feae3ea200c9401186f62d2cc4
    • ROMFUSClient.exe 7f61ff9dc6bea9dee11edfbc641550015270b2e8230b6196e3e9e354ff39da0e
    • AledensoftIpcServer.dll d6af24a340fe1a0c6265399bfb2823ac01782e17fc0f966554e01b6a1110473f
    • ROMwln.dll 7f33398b98e225f56cd287060beff6773abb92404afc21436b0a20124919fe05
  • כתובות IP:
    • 40.90.196[.]221
    • 40.90.196[.]228
    • 38.180.136[.]85
    • 213.87.86[.]192



שאילתות ציד איומים

בנוסף ל-IOC הספציפיים שהוזכרו לעיל, יצרנו שאילתות מרובות לציד איומים שניתן להשתמש בהן כדי לזהות התקפות שמקורן באותו שחקן, שבוצעו תחת אותו קמפיין, או חולקות מאפיינים דומים (TTPs)

הערה: מסגרת הזמן המומלצת לציד עבור VEILDrive היא מיולי 2024.


שאילתת ציד 1 : Powershell השרצת Java עם דגלים ספציפיים - התנהגות חריגה

  • היגיון שאילתה: במהלך הניתוח שלנו, זיהינו שכלי הגישה מרחוק (RAT) של התוקף השתמש ב-Powershell כדי להביא את UUID של המחשב כחלק מתהליך הביצוע שלו. שאילתה זו מזהה מקרים חריגים של Powershell שהולידה על ידי javaw.exe עם דגלי שורת הפקודה הספציפיים המשמשים את שחקן האיום.

  • שְׁאֵלָה:

     SELECT EVENT_TIME, AGENT_ID, PARENT_PROCESS_NAME, PARENT_PROCESS_COMMANDLINE, INITIATING_PROCESS_NAME, INITIATING_PROCESS_COMMANDLINE, TARGET_PROCESS_NAME, TARGET_PROCESS_COMMANDLINE, TARGET_PROCESS_OS_PID FROM INVESTIGATION.EDR_PROCESS_CREATION_EVENTS WHERE 1=1 AND PARENT_PROCESS_NAME ILIKE '%javaw%' AND INITIATING_PROCESS_NAME ILIKE '%cmd%' AND TARGET_PROCESS_NAME ILIKE '%powershell%' AND TARGET_PROCESS_COMMANDLINE ILIKE 'powershell.exe -ExecutionPolicy Bypass -NoExit -NoProfile %' AND EVENT_TIME > current_timestamp - interval '60d'


שאילתת ציד 2: התמדה בכלי ROM באמצעות משימות מתוזמנות

  • היגיון שאילתה: שאילתה זו מזהה מופעים של משימה מתוזמנת שנרשמת עם ביצוע של כלי ROM המשמש את שחקן האיום להתמדה.

  • שְׁאֵלָה:

     SELECT EVENT_TIME AS EVENT_TIME, AID AS AGENT_ID, CID AS COMPUTER_ID, EVENT_SIMPLE_NAME AS EVENT_NAME, RAW:TaskName AS TASK_NAME, RAW:TaskExecCommand AS TASK_EXEC_COMMAND, RAW:TaskAuthor AS TASK_AUTHOR, RAW:UserName AS USER_NAME --- Adjust according to your EDR of choice FROM RAW.CROWDSTRIKE_RAW_EVENTS WHERE EVENT_SIMPLE_NAME = 'ScheduledTaskRegistered' AND TASK_EXEC_COMMAND ILIKE '%romserver%' AND EVENT_TIME > CURRENT_TIMESTAMP - interval '60d'


שאילתת ציד 3 : משתמשים לא ארגוניים החולקים קישורים לדומיינים Sharepoint של צד שלישי באמצעות Microsoft Teams

  • היגיון שאילתה: שאילתה זו מזהה מקרים שבהם קישור SharePoint משותף בצ'אט של Teams, אך התחום של קישור SharePoint אינו שייך לאף אחד ממשתתפי הצ'אט. זה יכול להצביע על ניסיון דיוג פוטנציאלי או הוצאת נתונים, כאשר דומיין חיצוני משמש לשיתוף קבצים או מידע עם משתמשים תמימים בתוך הארגון.
  • שְׁאֵלָה:
 SET YOUR_ORGANIZATION_NAME = 'hunters'; SELECT EVENT_TIME, ORGANIZATION_ID AS ORG_ID, OPERATION AS EVENT_TYPE, SPLIT_PART(LOWER(SPLIT_PART(USER_ID, '@', 2)), '.', 1) AS SENDER_ORG_DOMAIN, RECORD_SPECIFIC_DETAILS:message_ur_ls AS MESSAGE_URLS, WORKLOAD AS WORKLOAD, USER_ID AS USER_ID, RECORD_SPECIFIC_DETAILS:chat_thread_id AS CHAT_THREAD_ID, RECORD_SPECIFIC_DETAILS:communication_type AS COMMUNICATION_TYPE, RECORD_SPECIFIC_DETAILS:members[0].DisplayName AS MEMBER_DISPLAY_NAME, RECORD_SPECIFIC_DETAILS:members[0].UPN AS MEMBER_UPN, RECORD_SPECIFIC_DETAILS:members[0] AS MEMBERS, RECORD_SPECIFIC_DETAILS:resource_tenant_id AS RESOURCE_TENANT_ID, RECORD_SPECIFIC_DETAILS FROM RAW.O365_AUDIT_LOGS WHERE NOT USER_ID ILIKE '%' || $YOUR_ORGANIZATION_NAME || '%' AND (NOT (MESSAGE_URLS ILIKE '%' || SENDER_ORG_DOMAIN || '%') AND MESSAGE_URLS ILIKE '%sharepoint%') AND NOT MESSAGE_URLS ILIKE '%' || $YOUR_ORGANIZATION_NAME || '%' AND EVENT_TIME > CURRENT_TIMESTAMP - interval '60d'


שאילתת ציד 4 : צוותי מיקרוסופט - זיהוי דיוג - מספר DM's מתחומים שאינם נפוצים

  • היגיון שאילתה: השאילתה הבאה מזהה הודעות שנשלחו בצ'אט אחד על אחד על ידי משתמשים חיצוניים מתחומים שאינם נפוצים. השאילתה מסננת דומיינים בשימוש נרחב בהתבסס על פעילות היסטורית ומזהה חברים חיצוניים שנוספו לצ'אטים ועשויים לבצע התקפות פישינג.

  • שְׁאֵלָה:

     SET YOUR_DOMAIN_NAME = 'hunters'; --- GET EXTERNAL TEAMS AND ONEDRIVE USERS OF THE LAST 3 MONTHS - TO CLEAN EXTENSIVELY USED DOMAINS WITH COMMONLY_USED_DOMAINS AS ( SELECT LOWER(SPLIT_PART(USER_ID , '@', 2)) AS DOMAIN_COMMONLY_USED, MIN(EVENT_TIME) AS MIN_EVENT_TIME, MAX(EVENT_TIME) AS MAX_EVENT_TIME, ARRAY_AGG(DISTINCT OPERATION) AS OPERATIONS, COUNT(*) AS COUNTER FROM RAW.O365_AUDIT_LOGS WHERE WORKLOAD IN ('MicrosoftTeams', 'OneDrive') AND EVENT_TIME > CURRENT_TIMESTAMP - interval '90d' AND USER_ID ILIKE '%@%' GROUP BY DOMAIN_COMMONLY_USED HAVING COUNTER > 20 ), ---- Get List of External Domains that recently communicated with our organization using Microsoft Teams LATEST_EXTERNAL_DOMAINS AS ( SELECT USER_ID AS LATEST_EXT_USERS, LOWER(SPLIT_PART(USER_ID , '@', 2)) AS USER_DOMAIN, MIN(EVENT_TIME) AS MIN_EVENT_TIME, MAX(EVENT_TIME) AS MAX_EVENT_TIME, ARRAY_AGG(DISTINCT OPERATION) AS OPERATIONS, ARRAY_AGG(DISTINCT RECORD_SPECIFIC_DETAILS:communication_type) AS COMMUNICATION_TYPE, COUNT(*) AS COUNTER FROM RAW.O365_AUDIT_LOGS WHERE EVENT_TIME > CURRENT_TIMESTAMP - interval '50d' AND NOT USER_ID ILIKE '%' || $YOUR_DOMAIN_NAME || '%' AND NOT USER_ID IN ('app@sharepoint') AND USER_ID ILIKE '%@%' -- CLEAN-UP OF EXTENSIVELY USED DOMAINS AND USER_DOMAIN NOT IN (SELECT DISTINCT DOMAIN_COMMONLY_USED FROM COMMONLY_USED_DOMAINS) AND OPERATION IN ('MemberAdded', 'ChatCreated') AND RECORD_SPECIFIC_DETAILS:communication_type = 'OneOnOne' GROUP BY USER_ID HAVING COUNT(*) > 5 ) SELECT EVENT_TIME, ORGANIZATION_ID AS ORG_ID, WORKLOAD AS WORKLOAD, OPERATION AS OPERATION, USER_ID AS USER_ID, LOWER(SPLIT_PART(USER_ID , '@', 2)) AS USER_DOMAIN, RECORD_SPECIFIC_DETAILS:chat_thread_id AS CHAT_THREAD_ID, RECORD_SPECIFIC_DETAILS:communication_type AS COMMUNICATION_TYPE, RECORD_SPECIFIC_DETAILS:members[0].DisplayName AS MEMBER_DISPLAY_NAME_0, RECORD_SPECIFIC_DETAILS:members[0].UPN AS MEMBER_UPN_0, RECORD_SPECIFIC_DETAILS:members[0] AS MEMBERS_0, RECORD_SPECIFIC_DETAILS:members[1].DisplayName AS MEMBER_DISPLAY_NAME_2, RECORD_SPECIFIC_DETAILS:members[1].UPN AS MEMBER_UPN_2, RECORD_SPECIFIC_DETAILS:members[1] AS MEMBERS_2, RECORD_SPECIFIC_DETAILS:resource_tenant_id AS RESOURCE_TENANT_ID, RECORD_SPECIFIC_DETAILS, RAW:ClientIP AS CLIENT_IP FROM RAW.O365_AUDIT_LOGS WHERE 1=1 AND RECORD_SPECIFIC_DETAILS:communication_type = 'OneOnOne' AND ( RECORD_SPECIFIC_DETAILS:members[0].UPN IN (SELECT LATEST_EXT_USERS FROM LATEST_EXTERNAL_DOMAINS) OR RECORD_SPECIFIC_DETAILS:members[1].UPN IN (SELECT LATEST_EXT_USERS FROM LATEST_EXTERNAL_DOMAINS) ) AND USER_ID ILIKE '%' || $YOUR_DOMAIN_NAME || '%' AND OPERATION = 'MemberAdded' AND EVENT_TIME > CURRENT_TIMESTAMP - interval '50d';
  • היגיון שאילתה מעמיק: מכיוון שהשאילתה הזו מעט מורכבת, הנה הסבר על ההיגיון. ראשית, אנו משתמשים בתכונת "CTE" של Snowflake כדי לבנות שתי תצוגות:

    1. COMMONLY_USED_DOMAINS:
      • אנו מחלצים את שמות הדומיין ממזהה המשתמש על ידי פיצול המחרוזת אחרי ה-'@'.
      • ספור את כל האירועים שנוצרו על ידי כל דומיין במהלך 90 הימים האחרונים
      • שמור על דומיינים שיש בהם יותר מ-20 אירועים וראה אותם נפוצים. אתה יכול להתאים את זה לפי הצרכים שלך.
    2. LATEST_EXTERNAL_DOMAINS:
      • סנן דומיינים פנימיים ודומיינים נפוצים שזוהו בתצוגה הקודמת מכל האירועים ב-50 הימים האחרונים
      • שאל את כל הדומיינים שיש להם יותר מ-5 אירועים הכוללים שליחת הודעות ישירות ותוספות חברים ל-Teams.

    לבסוף, אנו מאחזרים מידע מפורט על המשתמש והדומיין המשויך לו על ידי שאילתה לתוצאות המסוננות מ-LATEST_EXTERNAL_DOMAINS.


נאגטס היגיינה

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

הגנה על הארגון שלך מפני איומים אלה יכולה להפחית משמעותית את הסיכון להתקפות מוצלחות המכוונות לחלקים שונים של התשתית הארגונית שלך.

הנה כמה נאגטס היגיינה שניתן להשתמש בהם כדי לשפר את תנוחת האבטחה שלך:


  1. כדי להפחית את הסיכויים להתקפות דיוג מוצלחות באמצעות Microsoft Teams, הנה כמה צעדים שתוכל לנקוט:
    • כברירת מחדל, Microsoft Teams מאפשר "גישה חיצונית", המאפשרת צ'אטים אחד על אחד עם אנשי קשר חיצוניים. אם זה לא חיוני עבור הארגון שלך, שקול להשבית אפשרות זו.
    • אם יש צורך בתקשורת חיצונית, הגבל אותה לדומיינים מהימנים בלבד.
    • דרך נוספת לתקשר עם גורמים חיצוניים ב-Microsoft Teams היא על ידי הוספתם כאורחים או חברים. אנו ממליצים בחום להגביל את התכונה הזו, ולאפשר רק למשתמשים נבחרים בעלי הרשאות גבוהות לנהל אותה.
  2. העלייה במתקפות סייבר באמצעות כלי ניהול מרחוק מחייבת הבחנות ברורות בין כלים המשמשים באופן לגיטימי לבין אלו המנוצלים על ידי גורמי איומים. להלן מספר המלצות:
    • הגבל את כלי הניהול מרחוק ליישומים ספציפיים מאושרים הנדרשים למטרות עסקיות. Quick Assist ניתן להורדה בקלות מחנות Microsoft; שקול לחסום את השימוש בו אם הוא אינו ברשימת ההיתרים של הארגון שלך. אתה יכול להגביל את הגישה על ידי החלת אמצעים כמו AppLocker, כללי חומת האש של Windows או ניהול MDM.
    • עקוב אחר כלי ניהול מרחוק בשימוש נפוץ ועקוב אחר כלים חריגים או לא מורשים של צד שלישי. לדוגמה, אם נעשה שימוש ב-Quick Assist וצוות ה-IT שלך לא מסתמך עליו לתמיכה מרחוק, הוא אמור להפעיל אזעקה.
  3. הדרכה למודעות אבטחה - זה אולי נשמע כמו קלישאה, אבל טעויות אנוש הן באופן עקבי אחת הסיבות העיקריות למתקפות סייבר מוצלחות. הדרכה למודעות אבטחה יכולה לעשות את ההבדל בהקשר הזה, ולהגן עליך מפני הפרצה הבאה.
    • אנו ממליצים להפוך אותו לממוקד ורלוונטי לאיומים הנראים בטבע. לדוגמה, מקרים של התחזות IT באמצעות פלטפורמות תקשורת כמו Microsoft Teams, Slack, או אפילו שיחות טלפון קלאסיות נמצאים במגמת עלייה. אנא וודאו שהעובדים שלכם יודעים כיצד להתמודד עם זה.


מַסְקָנָה

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

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

  • לדרך שבה OneDrive נוצל לרעה עבור תקשורת C2 ב-VEILDrive היו מאפיינים ייחודיים. עם זאת, הרעיון הכללי של שימוש לרעה ב-OneDrive למטרות C2 נמצא במגמת עלייה במהלך החודשים האחרונים, וזה משהו שצריך לזכור.

  • גישה ראשונית באמצעות דיוג בחנית בפלטפורמות תקשורת כמו Microsoft Teams, Slack ושירותים דומים נפוצה יותר ויותר.

  • אנו צופים שזה יהפוך לנפוץ עוד יותר ככל שהזמן יעבור. לפיכך, אמצעי היגיינה ויציבה הקשורים להיבט זה (כפי שהוזכר בנאגטס ההיגיינה לעיל) הם קריטיים.

  • כלי ניהול מרחוק כבר פופולריים מאוד בקרב גורמי איומים. ניתן לנקוט גישות שונות כדי למזער את הפוטנציאל לגישה לא מורשית באמצעות כלים כאלה. מנקודת המבט שלנו, הגישה המומלצת בתחום זה היא רישום הלבן (רשימה היתר) בשילוב ניטור חזק.

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


כדי להתעדכן במחקר, פעילויות ושאילתות ציד איומים, עקוב אחר חשבון X/Twitter של Team Axon ( @team__axon ).