חיפוש
  • יניב אור

ניתוח וירוסים - שפת JavaScript - סיכום ביניים

עודכן ב: מאי 9

האינדקס לסדרת המאמרים:

ניתוח וירוסים


אני מזכיר, מצאתי ב-Github אוסף של נוזקות JavaScript. מדובר על קרוב ל-40,000 תוכנות זדוניות.

https://github.com/HynekPetrak/javascript-malware-collection

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


פעולת ה-obfuscation כוללת: החלפת שמות משתנים - שמתארים את פעולת הקוד -לאוסף תוים חסר משמעות, צמצום שורות ורווחים בקוד כך שהוא נכתב בשורה אחת, קידוד לתווים של unicode, למשל, במקום תווים קריאים, חיתוך הטקסט של הקוד לתווים בודדים וערבול שלהם - ודרכים נוספות.


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


לפי מה שראיתי בינתיים הפעולה היא בדרך כלל כזאת:

הקובץ JavaScript הזדוני מועתק לתיקיית ה-Start של Windows כדי שירוץ בכל אתחול של המערכת. הוא שולח בקשה לשרת מרוחק כשהתשובה שחוזרת היא קוד בינארי שנכתב בקובץ exe. תוכן הקוד לא ידוע משום שלרוב השרת לא קיים יותר ואין יכולת לקבל את המידע הזה מקובץ ה-JS. לאחר שנוצר, הוא יוסתר בתיקיית TEMP, למשל, ויבצע את פעולתו.


קובץ ה-javascript - המאוד קטן יחסית - שתפקידו העיקרי הוא להוריד משרת מרוחק את הקוד הראשי והגדול אל תוך קובץ exe - נקרא downloader. קובץ ה-exe הוא מה שנקרא ה-payload.


עדכונים נוספים, בקרוב...

© 2023 by DO IT YOURSELF. Proudly created with Wix.com