כלי הפיתוח שאיש לא חושד בו: איך node.exe הפך לצינור הדבקה נגד ממשלות, חברות טכנולוגיה ובתי מלון
node.exe הוא קובץ תקין וחתום. הוא מגיע מ-nodejs.org, יושב על מיליוני תחנות של מפתחים, ורוב מוצרי האבטחה נותנים לו לרוץ בלי לשאול שאלות. וזה בדיוק מה שכמה קבוצות תקיפה הבינו: אם מריצים את הקוד הזדוני דרך כלי פיתוח לגיטימי במקום דרך קובץ הרצה שכתבתם בעצמכם, ההגנה שמבוססת על חתימות של קבצים פשוט לא רואה אותו.
צוות ציד האיומים של Symantec פרסם ב-3 בספטמבר ניתוח של גל תקיפות שנמשך מאז פברואר 2026 ומכוון למשרדי ממשלה, חברות טכנולוגיה ובתי מלון. הליבה של כל המקרים זהה. התוקפים לא הביאו איתם נוזקה קלאסית, אלא ניצלו את Node.js, סביבת הריצה שמפעילה קוד JavaScript מחוץ לדפדפן, כדי להריץ את המטען שלהם. בהמשך נעבור על שלושת החלקים: איך הקוד מגיע למכשיר, איך הוא שורד אתחול, ואיך שרת השליטה שלו מסתתר דווקא על בלוקצ'יין אתריום.
כלי שאף אחד לא בודק
הרעיון של "לחיות מהשטח" (living off the land) לא חדש: במקום להביא כלים משלו, התוקף משתמש בתוכנות שכבר קיימות ומהימנות על המכשיר, כאלה שאף מנהל מערכת לא יחשוד בהן. PowerShell היה הדוגמה הקלאסית במשך שנים. עכשיו נכנס לתמונה כלי חדש. Node.js מותקן על עמדות פיתוח בכל ארגון טכנולוגי, קובץ ההרצה שלו חתום דיגיטלית בידי היצרן, והוא מריץ כל סקריפט JavaScript שמפנים אליו.
וכאן ההברקה של השיטה: הלוגיקה הזדונית לא נמצאת בתוך קובץ הרצה משלה, אלא בתוך סקריפט מפורש שמישהו אחר, לגיטימי לגמרי, מריץ בשבילה. "היתרון של הטכניקה הוא ש-node.exe (הקובץ שמפעיל את Node.js) הוא כלי פיתוח לגיטימי וחתום", כתבו החוקרים. מנוע אנטי-וירוס שסורק קבצים מחפש חתימה של נוזקה ידועה, אבל כאן אין קובץ נוזקה לסרוק, יש רק כלי תקין שקורא טקסט מקובץ נתונים.
איך זה מתחיל: הדבקה דרך תיבת ההרצה של Windows
הכניסה הראשונית לא דורשת חולשה בתוכנה בכלל. במקום זה התוקפים משכנעים את הקורבן להעתיק שורת פקודה בעצמו, להדביק אותה בתיבת ההרצה של Windows וללחוץ Enter. הטכניקה הזאת, שקוראים לה ClickFix, מסתמכת על כך שהמשתמש מבצע את הצעד הקריטי במו ידיו, ולכן אף הורדה חשודה ואף קובץ מצורף לא עוברים דרך מנגנוני ההגנה הרגילים.
התיעוד של Symantec מדויק לגבי הרצף. אצל חברת טכנולוגיה אסייתית, פעילות ClickFix ראשונה נצפתה ב-23 במרץ 2026, ושישה ימים אחר כך, ב-29 במרץ, ירד למכשיר המתקין הרשמי של Node.js ישירות מ-nodejs.org. משם והלאה כל מה שהתוקף צריך כבר נמצא על המכשיר, מותקן ביד הקורבן, וחתום כדין.
איך הקוד רץ ושורד אתחול
המטען עצמו הוא קובץ JavaScript, שמאוחסן על הדיסק בסיומת .dat כדי שייראה כמו קובץ נתונים תמים ולא כמו סקריפט. node.exe קורא את הקובץ הזה ומריץ את תוכנו דרך conhost.exe, התהליך שמנהל את חלון הקונסולה ב-Windows.
כדי לשרוד אתחול של המחשב, התוקפים רשמו ערך במפתח ה-Run ברישום של Windows, המקום שממנו המערכת מפעילה תוכנות אוטומטית בכל כניסת משתמש. הערך מפעיל מחדש את node.exe עם קובץ ה-.dat בכל התחברות. התוצאה: אחרי כל אתחול, כלי פיתוח חתום עולה שוב ומריץ את הקוד של התוקף, בלי שאף קובץ הרצה חשוד יופיע ברשימת התהליכים.
שרת השליטה שחבוי על הבלוקצ'יין
החלק המעניין ביותר הוא איך הנוזקה מגלה לאן להתחבר. שרת שליטה ובקרה (C2, השרת שדרכו התוקף שולח פקודות לנוזקה) הוא נקודת התורפה של כל מתקפה: ברגע שחוקרים מזהים את הכתובת שלו, חוסמים אותה וההדבקה מתה. אז התוקפים כאן לא הצמידו כתובת קבועה לקוד. במקום זה, ההשתלה יצרה חיבורי HTTPS לשערי גישה של בלוקצ'יין אתריום, ומשם שלפה את הגדרות ה-C2 שלה.
כך זה עובד: התוקף מאחסן מראש את פרטי החיבור בתוך חוזה חכם (smart contract) על שרשרת אתריום הציבורית. הבלוקצ'יין משמש כאן כאחסון פסיבי בלבד. הנוזקה קוראת ממנו את המידע שהתוקף שם שם, בדיוק כמו שקוראים ערך ממסד נתונים. לטכניקה הזאת קוראים EtherHiding, והיא ערמומית מסיבה פשוטה: אי אפשר "להוריד" רשומה מבלוקצ'יין ציבורי כמו שמורידים שרת זדוני, ותעבורה אל שער גישה של אתריום נראית לגיטימית לחלוטין ברשת של רוב הארגונים.
רק אחרי שקראה את ההגדרות מהשרשרת, הנוזקה פנתה לשרת השליטה עצמו, שאותו התוקפים אירחו על תשתית Serverless של Cloudflare. הבחירה לא מקרית: תשתית ענן ציבורית ומהימנה מקשה עוד יותר על הבחנה בין תעבורה זדונית לתעבורה עסקית רגילה.
הנוזקות שהגיעו בהמשך
ברגע שיש דריסת רגל, מה שמגיע אחריה משתנה מקבוצה לקבוצה, ו-Symantec מנתה שורה ארוכה. הכלי המרכזי היה AdaptixC2, חלופת קוד פתוח ל-Cobalt Strike, ולצדו נצפו גם ביקוני Cobalt Strike עצמם כמטען משני. C2Looper, דלת אחורית כתובה ב-Rust, נקשרה במקרים מסוימים למתקפות כופר. ModeloRAT, כלי שליטה מרחוק מבוסס Python, יוחס למתווך גישה ראשונית בשם Woodgnat. במקביל נצפתה מאז אפריל דלת אחורית חמקנית בשם Backdoor.Mistic.
חלק מהמשפחות בנויות עצמן על אותה סביבה שמשמשת להדבקה. EtherRAT הוא כלי שליטה מרחוק שכתוב ב-Node.js ומשתמש בעצמו ב-EtherHiding, ו-AsukaStealer, נוזקת גניבת מידע שנמכרת כשירות, נכתבה אף היא ב-Node.js וחילצה פרטי אימות ומידע מארנקי מטבעות קריפטו. לצד אלה נצפו סקריפטים של PowerShell ששימשו כמורידים חוזרים לשימור אחיזה, בשמות כמו accumulatally.ps1 ו-earthquakeist.ps1, ורכיב הרחבה מקומי בשם evasion.node, תוסף שנטען לתוך Node.js כדי לסייע בהתחמקות ממוצרי הגנה.
איך נראתה חדירה מלאה
התיעוד של מקרה אחד, אצל ארגון פיננסי בארצות הברית, מראה כמה איטית ומחושבת הפעילות. הסימן המוקדם ביותר נצפה ב-6 במאי 2026. ב-21 באותו חודש כבר רצה ההשתלה מבוססת Node.js ונרשם מנגנון שימור האחיזה ברישום. רק בין 3 ל-19 ביוני נעשו ניסיונות להפעיל את AdaptixC2 ואת Cobalt Strike, ובין 25 ל-30 ביוני נצפו החיבורים החוזרים אל שערי הגישה של אתריום, כלומר שליפת ההגדרות מהבלוקצ'יין. הביקון האחרון תועד ב-2 ביולי, והפעילות האחרונה של ההשתלה נראתה ב-25 ביולי. כמעט שלושה חודשים, בלי שקובץ הרצה זדוני אחד יידרש להופיע על הדיסק.
מבט קדימה
הסיפור כאן הוא לא נוזקה אחת, אלא הכשרת קרקע. השימוש ב-Node.js הופך עמדת פיתוח לגיטימית לפלטפורמת הרצה זדונית, ומצרף אותו לרשימה שגדלה של כלים מהימנים שתוקפים ממחזרים לצרכיהם. "ה-TTP של תוקפים אף פעם לא נעלמים באמת כל עוד הם עדיין שימושיים", סיכמו החוקרים. השילוב של כלי פיתוח חתום, מטען שהוא רק טקסט, ושרת שליטה שחבוי על בלוקצ'יין, נועד כולו למטרה אחת: להפוך את ההדבקה לבלתי נראית עבור הגנה שמחפשת קבצים וכתובות חשודות.
מה זה אומר בפועל
אם הארגון שלכם לא עוסק בפיתוח תוכנה, הופעה של node.exe על עמדת עבודה רגילה היא סימן אזהרה, ובוודאי כזה שרץ מנתיב לא שגרתי או מפנה לקובץ .dat. גם אם אתם כן משתמשים ב-Node.js, כדאי לנטר ערכים חדשים במפתח ה-Run של הרישום שמפעילים את node.exe, ותעבורה יוצאת אל שערי גישה של בלוקצ'יין אתריום מעמדות שאין להן שום סיבה לדבר עם קריפטו. ולבסוף, ClickFix הוא עדיין שער הכניסה: העובד שמדביק פקודה שקיבל מאתר או מהודעה לתיבת ההרצה של Windows הוא הצעד שפותח את כל השרשרת, והדרכה שמזהה בדיוק את התרחיש הזה שווה יותר מכל חתימת אנטי-וירוס.
תגובות