כל 40 דקות המחשב הנגוע בדק מי עוד ברשת, ובזה הפילו אותו: כך פורק הבוטנט Sality אחרי 23 שנה
לכל מחשב שנדבק ב-Sality יש רשימה קצרה של מחשבים נגועים אחרים, וכל 40 דקות הוא עובר עליה ובודק מי עדיין עונה. מי שעונה צובר אמון, מי ששותק מאבד אותו ובסוף נמחק מהרשימה. שגרת התחזוקה הזאת היא מה שהחזיק את הבוטנט חי 23 שנה בלי שרת מרכזי אחד. היא גם מה שהרג אותו.
ב-31 באוגוסט 2026 צוות Counter Adversary Operations של CrowdStrike, יחד עם משרד המשפטים האמריקאי, ה-FBI, ארגון Shadowserver ורשויות אכיפה בבולגריה, בהונגריה וברומניה, ניתק יותר מ-15 אלף מחשבים נגועים מהמפעיל שלהם. לפי הדיווח של Recorded Future News, משרד המשפטים הודיע על המבצע למחרת. מעצרים לא היו, והאדם שמפעיל את הרשת עדיין לא זוהה בפומבי.
בהמשך נראה למה בוטנט משנת 2003 עוד היה רלוונטי ב-2026, מה הוא עשה בפועל עם המחשבים שגייס, ואיך מפילים רשת שאין בה שרת להפיל.
למה בוטנט משנת 2003 עוד היה חי ב-2026
רוב רשתות המחשבים הנגועים עובדות מול שרת שליטה ובקרה (C2, השרת שדרכו התוקף שולח פקודות למכונות שגייס). מפילים את השרת, הרשת מתה. ל-Sality לא היה שרת כזה. המחשבים הנגועים דיברו ישירות זה עם זה והעבירו ביניהם את המשימות, ארכיטקטורה שנקראת עמית-לעמית (P2P), ולכן לא הייתה שום נקודה אחת שהפלה שלה מסיימת את הסיפור.
הרגל השנייה נוגעת לאופן שבו Sality התפשט. הוא לא הגיע בפישינג ולא דרך ערכות ניצול, אלא נדבק לקבצי הרצה שכבר יושבים על הדיסק ועבר הלאה דרך תיקיות משותפות ברשת, דיסק-און-קי ושיתופי קבצים. לנוזקה שמתנהגת ככה קוראים file infector. המשמעות המעשית היא שההדבקות התחדשו מעצמן, בלי שהמפעיל צריך להרים אצבע ובלי קמפיין שאפשר לזהות ולחסום.
לפי CrowdStrike, שתי רשתות P2P נפרדות של Sality, גרסה 3 וגרסה 4, המשיכו לפעול עד השבוע שעבר. הן חלקו את אותו קוד ואת אותו מפעיל, אבל השתמשו בפרוטוקולים לא תואמים ובמפתחות הצפנה שונים, כך שבפועל מדובר היה בשתי רשתות שצריך להפיל בנפרד.
מה הבוטנט עשה עם 15 אלף מחשבים
היכולת הטכנית היחידה של Sality הייתה להוריד ולהריץ נוזקות נוספות. לאורך השנים הוא חילק גנבי פרטי אימות, כלי הפצת ספאם, שירותי proxy, כלים לסריקה וניצול של רשתות ומטענים ל-DDoS. הוא לא היה הנשק, הוא היה צינור ההפצה.
בשמונה השנים האחרונות המטען העיקרי היה אחד, ושמו EggJagger. הוא יושב במחשב ומסתכל על מה שהמשתמש מעתיק ללוח (clipboard). ברגע שהוא מזהה שם כתובת ארנק ביטקוין או את'ריום, הוא מחליף אותה בשקט בכתובת של המפעיל. מי שהעתיק כתובת כדי לשלוח תשלום ולא בדק שוב מה בדיוק הודבק, העביר את הכסף לתוקף. לטכניקה הזאת קוראים clipjacking.
CrowdStrike מעריכה שדרך המטען הזה נגנבו לפחות 12.1 מיליון רובל, בערך 150 אלף דולר. ההערכה היא שלה בלבד, והיא מתייחסת ל-EggJagger ולא למטענים האחרים שהרשת חילקה לאורך השנים. שווי התיק שמעולם לא נפדה הגיע לשיא של כ-147 מיליון רובל בינואר 2025. זה לא סכום שמזיז ארגון פשיעה גדול, אבל הוא בהחלט מספיק לאדם אחד שמתחזק תשתית שמתחזקת את עצמה.
ושלוש פעמים הבוטנט עשה משהו שלא מסתדר עם ההיגיון הכלכלי. באפריל 2016 הוא הפיל אתר בשפה הערבית שעסק בחברות סחר במשאבי טבע. ב-25 בפברואר 2022, יום אחד אחרי הפלישה הרוסית לאוקראינה, Sality חילק מטען DDoS נגד פורום אוקראיני שבו גולשים דנו בזמן אמת בהתקפה על חרקוב. ובספטמבר 2023 המטרה הייתה בורסת קריפטו רוסית, ולפי CrowdStrike המטען הודר שניות ספורות לפני שהועלה לתשתית ההפצה, מה שמרמז יותר על תגובה אימפולסיבית לסכסוך אישי מאשר על מבצע מתוכנן.
עד כאן מה שהרשת עשתה. הצד המעניין יותר הוא איך מפרקים אותה.
אז איך תוקפים רשת שאין לה שרת להפיל?
שתי התכונות שנתנו ל-Sality את החוסן שלו הן בדיוק אלה שאפשרו להפיל אותו.
הראשונה היא שאי אפשר לעדכן את הפרוטוקול. נוזקה רגילה מקבלת עדכוני קוד מהשרת שלה. Sality מתפשט בהדבקה של קבצים, ולכן גרסה חדשה לא הייתה משדרגת את הרשת אלא מתחרה בגרסה הישנה על אותם קבצים ומפצלת אותה לשניים. התוצאה, כפי שמנסחים את זה החוקרים, היא שההתנהגות של הבוטנט היום זהה להתנהגות שלו לפני 20 שנה, וכל חולשה בפרוטוקול היא קבועה.
השנייה היא שהרשת לא בדקה מי מצטרף אליה. כל מכונה שהייתה נגישה מהאינטרנט וידעה לענות נכון ללחיצת היד של הפרוטוקול התקבלה כעמית לגיטימי. בלי אימות, בלי זהות קריפטוגרפית ובלי רשימת היתר. הדרישה היחידה הייתה להיות זמין. כלומר מי שלמד את השפה יכול היה להצטרף כמשתתף מלא, בלי שאף אחד ברשת יבחין בהבדל בינו לבין מחשב נגוע אמיתי.
מכאן המבצע עצמו. החוקרים כיוונו לאותם super peers, המחשבים הנגועים שנגישים ישירות מהאינטרנט ומהווים את עמוד השדרה של הרשת. במהלך מחזור הבדיקה של כל 40 דקות הם גרמו לרשומות של עמיתים אמיתיים להיפסל ברשימות של הבוטים, ולתוך הרשימות שהתרוקנו הכניסו כתובות של שרתים שהם עצמם מפעילים (sinkhole, שרת שקולט את הפניות של המחשבים הנגועים במקום התשתית של התוקף, ומאפשר גם לספור אותן). רוב ההדבקות יושבות ממילא מאחורי חומת אש או NAT ואי אפשר לפנות אליהן ישירות, אז מולן הגישה פסיבית: כשהמחשב הנגוע פונה בעצמו אל ה-sinkhole במסגרת התחזוקה השגרתית, הרשימה שלו נמחקת והוא נשאר מבודד לתמיד.
במקביל טופל גם המסלול השני. Sality מחלק לבוטים רשימות שמצביעות על קבצים בשרתי אינטרנט פרוצים או של המפעיל, ומשם הם מורידים מטענים חדשים. לפי הדיווח, בארצות הברית נתפסו דומיינים קשורים, ובבולגריה, בהונגריה וברומניה נתפסו דומיינים נוספים, כך שגם מחשב שנשארה בידיו רשימה תקפה כבר לא מצא שם כלום. מנקודת המבט של המפעיל, כותבים ב-CrowdStrike, המחשבים הנגועים "פשוט נעלמים".
הטכניקה הזאת לא נולדה כאן. מניפולציה על רשימות העמיתים שימשה, לפי CrowdStrike, גם בהפלת GameOver Zeus ב-2014 ובהפלת Kelihos ב-2017, והותאמה הפעם להתנהגות הספציפית של הפרוטוקול של Sality. טילמן ורנר, חוקר ב-CrowdStrike, אמר ל-Reuters בציטוט שהובא ב-Recorded Future News שהמבצע דרש עבודת הנדסה לאחור נרחבת, ושזו השתלטות הבוטנט המורכבת ביותר שהחברה ביצעה עד היום.
מי מפעיל את זה, ומה לא קרה
CrowdStrike עוקבת אחרי המפעיל תחת השם SALTY SPIDER, ולפי דף התוקף שלה מדובר בקבוצה פלילית שפועלת ככל הנראה מרפובליקת בשקורטוסטן ברוסיה, לא רחוק מהגבול עם קזחסטן. לנוזקה עצמה נצבר לאורך השנים אוסף שמות חלופיים: Kukacka, KuKu, SalLoad, Kookoo ו-SaliCode.
מה שלא קרה חשוב לא פחות ממה שקרה. אין מעצרים, איש לא זוהה בשמו, והרשויות לא פרסמו כתב אישום נגד המפעיל. הבוטנט נותק ממנו, אבל הוא חופשי. ומכיוון ש-Sality ממשיך להתפשט מעצמו דרך קבצים ותיקיות משותפות, הבסיס שממנו אפשר לנסות לבנות מחדש עדיין שם בשטח. דיוויד ווטסון, מנהל ב-Shadowserver, אמר ל-Reuters שהבוטנט אמנם "די מיושן", אבל שהוא נשאר מסוכן משום שמחשב נגוע עדיין מספק לתוקפים דריסת רגל בתוך ארגון. Shadowserver עובד עכשיו מול ספקי אינטרנט וצוותי תגובה לאומיים כדי לאתר את בעלי אותם 15 אלף מחשבים ולהודיע להם.
מה זה אומר בפועל
ניתוק מהמפעיל הוא לא ניקוי. הנוזקה שכבר יושבת על המחשבים הנגועים ממשיכה לרוץ, וכך גם כל מטען שהיא הספיקה להוריד לפני המבצע. ארגון שרואה ביומני הרשת שלו פניות UDP אל שרתי ה-sinkhole שפורסמו בדוח, או ניסיונות גישה לכתובות ההפצה האחרונות שהופיעו שם, מסתכל על מכונה נגועה שדורשת טיפול ולא על אירוע שנסגר מעצמו.
הפרופיל שהחזיק את Sality בחיים 23 שנה מוכר: מחשבי Windows ותיקים, תחנות ייצור שלא מקבלות עדכונים, ותיקיות SMB משותפות שנפתחו פעם ואף אחד לא סגר. אם יש לכם כאלה ברשת, זה הזמן לסרוק אותן עם חוקי ה-YARA שפרסמה CrowdStrike ולבדוק את היומנים אחורה. ההודעה מ-Shadowserver, אם המחשב שלכם ברשימה, תגיע דרך ספק האינטרנט או ה-CERT, ושווה לוודא מראש שיש אצלכם מי שיקבל אותה.
תגובות