מאז ש-DigitalWhisper עלה לאויר אני מתעניין בכל מני מערכות לניהול תוכן (CMS), בכדי לבחון את האבטחה שלהן. כמעט כל חברה שמכבדת את עצמה בנושא, מאפשרת איזה מערכת “DEMO” שהלקוח יוכל לבחון, לסייר, לראות את ממשקי הניהול וכו’.

לאחרונה, נתקלתי במערכת הבאה: http://limeware-cms.com

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

חשבתי לעצמי שיש כאן משהו חשוד, פתחתי ת’CMD, ניגשתי לאתר דרך TELNET כדי להבין מה העניין:

GET /admin/welcome.php HTTP/1.1
Host: limeware-cms.com

ושימו לב מה אני רואה בקוד: code in telnet

העתקתי את הקוד ל-Notepad++ וסידרתי כדי לראות במה מדובר: code in notepadpp

כותב הקוד השתמש פה Obfuscation פשוט למדי, המשתנה “str” מכיל מחרוזת ערכים מופרדים באמצעות “!” הנטען למערך לולאות שמחלצות אותו, ממירות כל ערך וערך מהמחרוזת לתו אסקי, מכניסות אותו למשתנה “out” ובסופו של דבר הקוד נזרק לדפדפן בעזרת “Document.write”.

בכדי לראות מה תוצאת מערך הפירוש של הלולאות, החלפתי את: Document.wirte(out) ב- Alert(out)

הקוד נראה עכשיו כך: after edit

הרצתי את הקוד, וקיבלתי את תוכן out ב-Alert: alert error

ושוב, הדרך הבטוחה ביותר להכנס לגוב אריות שכזה היא רק דרך TELNET:

GET /index.php HTTP/1.1
Host: yanndex.su

והתגובה שקיבלתי כללה Header-Redirection לקובץ אחר בשרת: redirect1

אז פניתי אליו:

GET /index.html HTTP/1.1
Host: yanndex.su

וגם הוא- הפנה אותי לקובץ על שרת מרוחק, הפעם דרך Javascript: redirect2

המשכתי לעקוב דרך ה-TELNET וקיבלתי עוד “302 Moved Temporarily”, הפעם לקובץ על שרת מרוחק: redirect3

לא ויתרתי, וגם השרת החדש הפנה אותי לשרת נוסף: redirect4

בדקתי את השרת החדש, ושוב- הפנייה נוספת: redirect5

וגם פה, הופנתי לעוד שרת: redirect6

בסוף, כל המרדף הזה נעצר בשרת: http://www.zaha.ru

לא יודע עד כמה האתר הזה מעניין, אבל לפי הבדיקות שלי- הוא לא כלל קוד זדוני ולא מפנה לאחד כזה. אספתי את כל ה-URL שבהם עברתי:

  • limeware-cms.com
  • www.epartner.ru
  • yanndex.su
  • www.sc-trafflink.com
  • www.erosklassniki.com
  • http://tolkosex.com
  • http://www.zhaba.ru

חמש מתוך שש החוליות בשרשרת הזאת לא הופיעו בשירות ה-Safebrowsing של גוגל, לעומת זאת, החולשה השלישית בשרשרת הוגדרה כ: Site is listed as suspicious - visiting this web site may harm your computer.

ואף: Of the 2 pages we tested on the site over the past 90 days, 0 page(s) resulted in malicious software being downloaded and installed without user consent. The last time Google visited this site was on 2010-01-31, and the last time suspicious content was found on this site was on 2010-01-31.

יכול להיות ש-Zhaba זאת חוליה שבורה- זאת אומרת שגם היא הייתה אמורה לבצע Redirecting לאיזה שרת, אבל בעל האתר הרגיש שמשהו מוזר והצליח לשבור את השרשרת. ויכול להיות שלא :) ברמת מה שחוקי לעשות- זה מה שאפשר לפרסם.

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

העברתי דיווח לבעל האתר שפרסם את ה-CMS, בינתיים לא קיבלתי תגובה והאתר עדיין נגוע.

המשך גלישה בטוחה :)


עריכה:

בדיוק אחרי שפרסמתי את הפוסט הזה, ראיתי את המאמר הבא ב-Threatpost.com: http://threatpost.com/en_us/blogs/one-every-150-legitimate-sites-infected-malware-020310