תוכנת כופר חדשה מצפינה אתרי אינטרנט

הסוג החדש של CTB-Locker תוקף שרתי אינטרנט בלבד, ולמיטב ידיעתינו הצפין בהצלחה קבצים של למעלה מ-70 שרתי אינרטנט בכ-10 מדינות ברחבי העולם

תוכנות כופר נהיו יותר ויותר מתוחכמות, תוך שהן עוקפות מנגנוני הגנה ומאיימות על כל הנקלע בדרכן. בשנתיים האחרונות נראו מספר מקרים של התקפות מסוג זה: TelsaCrypt, CryptoWall, TorrentLocker, Locky ו-CTB-Locker, אך אלו רק מספר סוגים של תוכנות כופר איתן התמודדנו, על מנת לנסות ולאבטח את אופן השימוש של משתמשים באינטרנט. ראינו לא מעט סוגים, בין אם למובייל או למחשב האישי, הדבקה דרך אימייל זדוני, פרסומת או תוכנה, אך תוכנת הכופר CTB-Locker, הידועה לחברות האבטחה כתוכנה התוקפת מחשבי קצה, הוסיפה שיטת התקפה חדשה וחרטה על דגלם של התוקפים את הדרך בה הם בחרו – תוכנות הכופר. עולם פושעי הסייבר משקיע זמן וכסף רב בפיתוח של סוגים נוספים על מנת להמציא מחדש את תוכנות הכופר, והמאמר הבא הוא דוגמה לנושא הזה.

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

הסוג החדש של CTB-Locker תוקף שרתי אינטרנט בלבד, ולמיטב ידיעתינו הצפין בהצלחה קבצים של למעלה מ-70 שרתי אינרטנט בכ-10 מדינות ברחבי העולם.

 

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

שלב ראשון: השחתת שרת האינטרנט

הסוג החדש של תוכנת הכופר מוכוון להצפנה של שרתי אינטרנט ולאחר שזאת בוצעה בהצלחה, על התוקפים למצוא דרך יעילה לדרוש את הכופר. התוקפים דורשים בתחילה 0.4 ביטקוין (150 דולר), אך במידה ולא מתקבל תשלום בזמן הנקוב (בין 48 ל-96 שעות) הסכום מכפיל את עצמו ל-0.8 ביטקוין. כאשר מתקבל תשלום, מפתח פענוח ההצפנה נוצר עבור אותו קורבן ומפענח בחזרה את הקבצים שהוצפנו.

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

הצילום הבא הינו מתוך שרת אינטרנט שנתקף. זהו הדף הראשי שהוחלף:

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

ההודעה

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

הצילום הבא הוא ציטוט מתוך ההודעה המוצגת על הדף הראשי:

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

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

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

שלב 2: שלב ההצפנה

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

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

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

Once the malware author is inside WordPress system, he is able to replace the main website file and execute the encryption routine. The main file is renamed and saved in an encrypted state.

הפונקציה של create_aes_cipher() מקבלת ערך אחד כקלט ושולח אותו לפונקציית ההצפנה הסטנדרטית Crypt_AES.

function create_aes_cipher($key) {
     $aes = new Crypt_AES();
     $aes->setKeyLength(256);
     $aes->setKey($key);
     return $aes;
}

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

בצילום, תוכן הקובץ של סיומות הקבצים שיוצפנו:

 

קבצים אשר כוללים את המחרוזות הבאות לא יוצפנו, ואלו ישמשו כחלק מתהליך ההצפנה ותשלום הכופר:

  1. “/crypt/”
  2. “secret_”

בנוסף, קבצים נוספים אותם השאיר התוקף עבור הקורבן הם הקבצים הבאים:

1.      Index.php – כאשר מוצפן הקובץ הראשי של האתר, הקובץ הזה יכיל את הודעת הכופר.

2.      Allenc.txt – מכיל את רשימת הקבצים שהוצפנו.

3.      Test.txt – מכיל קבצים אשר ניתן לפענח בחינם, כחלק מהוכחת היכולת.

4.      Victims.txt – קובץ אשר מכיל את הקבצים שנבחרו להצפנה, ואשר עברו את מהלך ההצפנה בהצלחה.

5.      Extensions.txt – מכיל את סיומות הקבצים באמצעותם יבחר הקוד הזדוני את הקבצים המיועדים להצפנה.

6.      Secret_ - קובץ זה יכל מחרוזת ייחודית עבור הקורבן. המחרוזת תוצמד לאחר הקו התחתון ותשמש את הקורבן בעת שימוש בצ'אט או לתשלום הכופר כמזהה ייחודי.

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

אלו הם שלושת השרתים של הקורבנות השימשו בדוגמה זו כפרוקסי (מתווך) לתהליך ההתקשרות עם התוקפים:

http://erdeni.ru/access.php

http://studiogreystar.com/access.php

http://a1hose.com/access.php

 

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

שלב 3: תקשורת עם התוקפים

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

הצילום למעלה נלקח מדף ה-access.php המכיל את פרטי השרת איתו צריל הקורבן לתקשר על מנת לייצר קשר עם התוקפים, בין אם דרך הצ'אט או לפענוח הקבצים החינמיים שנבחרו.

בבלוק הלבן שבמרכז הצילום הוסתרה כתובתו המקורית של שרת התקיפה

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

פענוח קבצים בחינם

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

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

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

קוד ה-PHP בצד השרת נראה כך, כאשר הפונקציה secret_ok() משמשת לחישוב מתמטי של מספר מזהים ייחודיים של הקורבן:

if (isset($_GET['dectest']) && secret_ok()) {

     decrypt_files('test.txt', $_GET['dectest']);

     exit('Congratulations! TEST FILES WAS DECRYPTED!!');

}

 

חדר הצ'אט של התוקפים

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

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

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

 

img
פרשנות | כוח צבאי משמעותי של נאט״ו יכול להקטין הסתברות למלחמה גרעינית באירופה
דעה | אופציה צבאית ישראלית תוכל לרסן את איראן 
קבוצת SQLink רוכשת את ZIGIT הישראלית
קבוצת SQLink רוכשת את ZIGIT הישראלית