OctLurk ו-SilkLurk: שתי דלתות אחוריות תפורות לריגול אחרי ממשלות במרכז אסיה
על מחשב ממשלתי אי-שם במרכז אסיה נוצרת משימה מתוזמנת עם שם תמים לגמרי, "GoogleUpDate". היא מריצה קובץ אצווה קטן, שרושם שירות Windows חדש בשם NgcCIntSvc, והשירות הזה טוען ספרייה בשם oleasapi.dll. עד כאן כלום לא נראה חריג. אבל הספרייה הזאת היא דלת אחורית, תוכנה שנותנת לתוקף שליטה מלאה על המחשב מרחוק, ואחת משתיים חדשות שחוקרי Kaspersky תיעדו ב-30 ביולי וקראו להן OctLurk ו-SilkLurk.
החוקרים סאורב שארמה ויארוסלב קיקל מצוות GReAT מעריכים בביטחון בינוני ששני הכלים נכתבו בידי אותו תוקף, ושהוא דובר-סינית, אבל הם לא הצליחו לקשור את הפעילות לאף קבוצה מוכרת. הקמפיין רץ מאז ינואר 2025 נגד ארגונים ממשלתיים בשש מדינות, וחלק מהקורבנות נדבקו בשתי הדלתות האחוריות במקביל. בהמשך נראה איך התוקף נכנס, איך שתי המשפחות בנויות, ומה הוא עושה ברשת אחרי שהוא בפנים.
מי מותקף, ולמה דווקא שם
הקורבנות שזוהו יושבים באפגניסטן, קירגיזסטן, טג'יקיסטן, אוזבקיסטן, קזחסטן וסוריה. לא מדובר במתקפה רחבה שסורקת את האינטרנט אחרי כל מי שפגיע, אלא בבחירה ממוקדת של מטרות: משרדי ממשלה, משרדי חוץ, גופי אכיפת חוק, מערכת הבריאות, מוסדות מחקר וחינוך, ולוגיסטיקה. זה הפרופיל הקלאסי של ריגול מדיני, שבו מי שעומד מאחורי המקלדת מחפש מסמכים ותכתובות, לא כסף.
חשוב לשים לב למה שהחוקרים לא אומרים. הם לא נוקבים בשם של קבוצת תקיפה, ולא טוענים שהם יודעים מי המפעיל. הקישור לדוברי-סינית נשען על עקבות טכניות ועל כלים שהיסטורית שימשו תוקפים מאותו אזור, לא על הודאה או על ראיה חד-משמעית. זו הערכה, ובהמשך נראה על מה היא נשענת.
הלֶּוֹאדֶר שמסתיר את המטען
לפני שהדלת האחורית בכלל רצה, יש שלב ביניים שכל תפקידו להסתיר אותה. במקום לכתוב את הקוד הזדוני לדיסק, שם אפשר לסרוק אותו, התוקף משתמש ברכיב טעינה (loader) שמחזיק את המטען בצורה מוצפנת ודחוסה, ומפענח אותו רק לתוך הזיכרון ברגע ההרצה. הטכניקה הזאת, הזרקה ישירה לזיכרון בלי קובץ על הדיסק, נועדה להשאיר כמה שפחות עקבות שאפשר לסרוק אחרי הפעולה.
הפענוח עצמו קשור למחשב הספציפי. OctLurk גוזר את מפתח הפענוח מהמספר הסידורי של כונן C, ו-SilkLurk גוזר אותו משם המחשב. המשמעות מעשית: דגימה שנתפסה על מחשב אחד לא תיפתח בקלות במעבדה, כי בלי הנתון הייחודי של אותו קורבן ההצפנה הכפולה (double-XOR) פשוט לא מתפצחת. "גם רכיבי הטעינה וגם הדלתות האחוריות מעורפלים בכבדות, מה שמסבך את הניתוח", כתבו החוקרים. ההפצה עצמה מתבצעת דרך משימות מתוזמנות עם פרטי אימות של מנהל שכבר נגנבו, ודרך טעינה צדדית של DLL בעזרת קבצים לגיטימיים חתומים של NVIDIA ו-Realtek.
דלת אחורית שהיא בעצם שלד לתוספים
החלק המעניין הוא שלא OctLurk ולא SilkLurk הן כלי מונוליטי. שתיהן בנויות כשלד רזה שכל תפקידו לפתוח ערוץ תקשורת אל שרת השליטה והבקרה (C2, השרת שדרכו התוקף שולח פקודות), ואז להוריד תוספים ולהזריק אותם לזיכרון לפי הצורך. כך התוקף שולח לכל קורבן רק את היכולות שהוא צריך שם, ומצמצם את מה שאפשר לתפוס.
OctLurk פותחת חיבור TLS מוצפן אל שרת קבוע (הדומיין dns.multitoconference[.]com דרך פורט 443) ומדווחת פרטי זיהוי בסיסיים על המחשב: גרסת מערכת ההפעלה, שם המשתמש, כתובות IP וחותמות זמן. משם היא מפעילה שלושה תוספים עיקריים. הראשון הוא מנהל קבצים, שמאפשר לרשום, להעתיק ולמחוק קבצים. השני הוא מעטפת פקודה (shell) שמריצה פקודות cmd ומחזירה את הפלט לתוקף. השלישי מטפל באינטראקציה עם שולחן העבודה: צילומי מסך, גישה ללוח ההעתקה, וסינתוז של אירועי מקלדת ועכבר, כלומר יצירת הקשות ולחיצות כאילו המשתמש עצמו הקליד אותן.
SilkLurk בנויה על אותו רעיון אבל עם קונפיגורציה עשירה יותר: בלוק של 1,196 בתים, שמפוענח גם הוא לפי נתון ייחודי למחשב, מכיל ארבע כתובות C2 עם פורטים נפרדים ושני זוגות של פרטי proxy. כלומר לתוקף יש כמה נתיבי חזרה, ואם אחד נחסם הנוזקה עדיין יודעת לאן לפנות. גם בערוץ עצמו יש הקפדה על ערפול: OctLurk דוחסת ומצפינה כל הודעה בהצפנת XOR עם מפתח קבוע ותוספת של מפתח אקראי לכל שיחה, ו-SilkLurk מייצרת 32 בתים אקראיים בכל חיבור מחדש ומצפינה איתם. התוצאה היא תעבורה שנראית שונה בכל פעם, וקשה יותר לחתום עליה חתימת רשת אחת.
מה קורה אחרי שהוא בפנים
עוד לפני שהתוקף אוסף משהו, הוא רוצה לדעת איפה הוא נחת. סקריפט מיפוי שרץ על המכונה הנגועה שואל שורה של שאלות: מה מצב האנטי-וירוס (אילו תיקיות הוחרגו מ-Windows Defender, האם הגנת ה-tamper פעילה), אילו כרטיסי רשת יש, מה במטמון ה-DNS, אילו פריטים עולים באתחול ואילו תהליכים רצים כרגע, ואפילו פרטי BIOS, מעבד וזיכרון. רק אחרי התמונה הזאת נכנסת לתמונה שרשרת הכלים שהופכת גישה בודדת להשתלטות על הרשת. לחילוץ פרטי אימות התוקף הריץ את הכלי secretsdump.py מחבילת Impacket, אבל שתל אותו בשם Adobe.exe כדי שייראה תמים, ומשם חילץ את גיבובי הסיסמאות של בקר הדומיין. במקביל נשלפו סיסמאות שמורות מהדפדפנים, מ-Chrome (הקבצים Login Data ו-Local State) ומ-Firefox (הקובץ logins.json), והושתלה תוכנה שמתעדת כל הקשה על המקלדת (keylogger) ושומרת גם את תוכן לוח ההעתקה.
למיפוי הרשת הפנימית שימש הכלי FSCAN, שהתוקף הריץ בשם fc.exe וסרק איתו שירותים כמו SSH בפורט 22 ו-MySQL בפורט 3306, תוך ניסיונות ניחוש סיסמאות. את המסמכים שמצא הוא ארז ב-WinRAR וב-7-Zip לפני ההוצאה החוצה, ולשליטה מתמשכת הוסיף כלי צד-שלישי: רכיב שליטה מרחוק של Pandora FMS, שהותקן כמשימה מתוזמנת, ורכיב proxy הפוך משלו בשם LurkProxy שמאזין בפורט 64980 ומעביר תעבורה דרך שרת ה-C2. שום שלב פה לא ראוותני. הכל נראה כמו כלי ניהול לגיטימי עד שמסתכלים מקרוב.
על מה נשענת ההערכה
הקישור בין שתי המשפחות עצמו די חזק: אותם ספריות ביניים לשלבי ההדבקה, וקורבנות שנשאו את שתיהן. מעבר לזה, על חלק מהמכונות נמצאה גם PlugX, כלי שליטה מרחוק מודולרי ותיק שפעיל לפחות מ-2008 ומזוהה היסטורית עם תוקפים דוברי-סינית, עם קונפיגורציה שהצביעה על דומיין נוסף בשליטת התוקף. זה מסוג הראיות שמזיז הערכה לכיוון, בלי לסגור אותה.
החוט המעניין ביותר הוא חפיפה בתשתית. Kaspersky מצאה ששלושה משרתי ה-C2 בקמפיין הזה שימשו גם קמפיין קודם, כזה שהסתמך על שתל שכוון למערכות Linux ומוכר בשמות SilentRaid, MystRodX ו-TrustFall. לא ברור אם שתי הפעילויות רצו במקביל או בזמנים שונים, ולכן החוקרים נזהרים ולא קובעים שמדובר באותו מבצע. אבל תשתית משותפת בין קמפיין שמכוון ל-Windows לקמפיין שמכוון ל-Linux היא בדיוק סוג הקשר שמרמז על מפעיל אחד עם כמה ארגזי כלים.
מה זה אומר בפועל
רוב הארגונים בישראל אינם היעד של הקמפיין הזה, אבל הטכניקות שבו גנריות לגמרי, וכל אחת מהן שווה בדיקה. משימות מתוזמנות עם שמות שמתחזים לעדכוני תוכנה, טעינה צדדית של DLL דרך קבצים חתומים של יצרנים מוכרים, והרצה של secretsdump או FSCAN מתוך הרשת הן דגלים אדומים שכדאי לנטר גם כשאין קמפיין ריגול ספציפי על הכוונת. מי שמנטר את היצירה של שירותים ומשימות מתוזמנות חדשות, ומגביל את השימוש בפרטי אימות של מנהל דומיין, מקשה בדיוק על השלבים שהופכים כאן דלת אחורית אחת לשליטה על רשת שלמה. פרטי הזיהוי המלאים, כולל הגיבובים והדומיינים, מופיעים בדו"ח של Kaspersky ובסיקור של The Hacker News.
תגובות