?!JavaWS Backdoor
הבוקר (שישי), פורסמה חולשת אבטחה מסוג Arbitrary DLL Loading, המאפשרת, בין השאר, הרצת Command-Line על
המכונה המותקפת התגלתה ב-Web Start Framework של Java (המוכרת גם כ-"JavaWS"). מדובר בטכנולוגיה שפותחה
ע"י חברת Sun ותפקידה להקל על תהליך הפיתוח של אפליקציות Java.
החולשה פורסמה ע"י שני חוקרי אבטחה נפרדים, החוקר הראשון-Tavis Ormandy, פרסם את החולשה ב-Full Disclosure
של Seclists.org, וחוקר האבטחה השני-Ruben Santamarta, פרסם את החולשה ב-Reversemode.com.
כנראה בגלל הפשטות של ניצול החשיפה, לפי דעתו של Santamarta על החשיפה, מדובר כאן ב-Backdoor שהוכנסה
בכוונה תחילה.
לפי ההסבר של Santamarta, מדובר בחולשה הקיימת ב-javaws.exe (הרכיב האחראי על הרצתם של Java-Plugin דרך
הדפדפן), בהסבר הוא נותן ניתוח מעניין המסביר על האופי שבו הרכיב מפרש את הקלט נשלח אליו דרך ה-JNLP (הפרוטוקול
של Java Network Launching)- מהלך קליטת הערכים אינו עובר שום בדיקת אימות ואינו מפריד בין סוגי/אופי הקלט אשר
מתקבל מה-jnlp:
(את הקוד המלא של ה-deployJava אפשר לראות כאן: https://www.java.com/js/deployJava.txt)
עד כאן החלק הראשון.
שני החוקרים מוסיפים כי גם java.exe וגם javaws.exe תומכים במתג אשר אינו נכלל בדוקומנטציה של חברת Sun (המתג
XXaltjvm- ו-המאפשר למשתמשלטעון ספריית JavaVM שונה מהספריות הדיפולטיביות (ה-jvm/jvmlib), פשוט ע"י הוספת
המתג המדובר והכנסת ה-Path של קובץ ה-jar הזדוני:
-XXaltjvm=Pathfile
למעשה, כאן מדובר בטעינת ספריות למנוע ה-Java, מה שאומר שליטה מלאה ברכיב ה-Java ומכאן עד השתלטות מלאה
על המכונה הדרך קצרה. ושוםASLR או DEP לא יכולים לעזור, מפני שכאן לא צריך לדעת לאיפה לטעון מה מפני רכיב ה-JRE
יודע לנהל את הזכרון לבד.
בנוסף להסברים, Tavis Ormandy יצר PoC קטן שמציג את ניצול החולשה, כל מה שצריך הוא יצירת קוד Java קטן שמבצע
את הפעולה הזדונית: (ב-PoC המקורי קופץ ה-Calc.exe, ב-PoC כאן המחשב מבצע כיבוי לאחר 30 שניות):
ולאחר מכן, יש לטעון אותו בעזרת השימוש באותו מתג: (שני הקודים הבאים נלקחו מה-PoC של Tavis Ormandy)
הטעינה בדפדפני Internet Explorer:
והטעינה בדפדפני Mozilla:
את הדוגמא ש-Tavis Ormandy יצר להמחשת ה-PoC הנ"ל אפשר לנסות בכתובת הבאה: (IE & FF)
נכון לעכשיו, לא יצא שום טלאי המסדר את הבלאגן, ולכן העצה הטובה ביותר היא לבטל את השימוש ב-javaws.exe.
בנוסף, חשוב מאוד לציין שמפני שמדובר ב-Java אשר נתמכת ברב הדפדפנים כיום, היקף הסיכון הוא גבוה באופן
מפחיד. משתמשי MacOS אינם פגיעים למתקפה.
תגובות על '?!JavaWS Backdoor':
#1 |
Zerith: מצחיק בכמה פשטות מבצעים את המתקפה, ממש לא אחראי מצד Sun. 09.04.2010 21:44:45 | |
#2 |
cp77fk4r: מפחידה המחשבה שיש סיכוי שזה היה שם בכוונה, ומפחידה יותר המחשבה שהסיכוי שדברים כאלה קיימים בעוד אפליקציות שהן לא קוד-פתוח גדול מאוד. 10.04.2010 00:14:07 | |
#3 |
Ratinh0 (אורח): :S יש משהו חדש בכיוון הבאקדור? כן זה די מלחיץ לחשוב שחברה גדולה ואמינה כמו SUN מכניסה משהו כזה אצלה... ד"א אפיק, אני לא מכיר את התחביר של exec() אבל בהנחה שאין שם משהו מיוחד אז צריך להיות -t ולא \t אבל בקטנה=] 10.04.2010 20:51:27 | |
#4 |
cp77fk4r: ה- t/ זה לא של ה-exec, זה של ה-Shutdown. או שלא הבנתי אותך נכון? 10.04.2010 22:13:07 | |
#5 |
m1ch43l1014 (אורח): תודה על העידכון :] 10.04.2010 23:12:01 | |
#6 |
אלצ'קו (אורח): מגניב ביותר. כמה הערות: 1. SUN שקרנים. כתוב אצלם באתר שרק גרסאות ישנות פגיעות לזה: https://sunsolve.sun.com/search/document.do?assetkey=1-26-102957-1 https://sunsolve.sun.com/search/document.do?assetkey=1-26-102957-1 אבל אני מריץ build 1.6.0_18-b07 וה-POC בלינק שהבאתם עובד עלי. 2. ב-SECURITYFOCUS כתוב שמאק גם פגיע (https://www.securityfocus.com/bid/24832/info). מסקנה: אני מוחד עכשיו כל תיקיה שכוללת את המילים SUN או JAVA מהמחשב שלי. נחכה לתיקון. :) 11.04.2010 01:49:48 | |
#7 |
cp77fk4r: מוזר ש-MAC גם פגיע, הבחור שגילה את זה כתב בעצמו שאין סכנה למשתמשי MAC. בכל מקרה, נכון לעכשיו יש לך 0day שאשכרה יפגע בכל גולש. אולי אפשר לצפות לאיזה בוטנט שיבוא בימים הקרובים.. 11.04.2010 02:26:54 | |
#8 |
cp77fk4r: נשמח אם מישהו כאן שיש לו Mac יוכל להכנס ללינק ולפתור לנו את העניין :) 11.04.2010 10:15:33 | |
#9 |
Ratinh0 (אורח): כן, התחביר של shutdown זה עם -t ולא \t אבל זה לא באמת עקרוני... 11.04.2010 15:12:12 | |
#10 |
cp77fk4r: C:\Users\cP>shutdown /? Usage: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f] [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]] 11.04.2010 15:35:22 | |
#11 |
Ratinho0 (אורח): טוב כנראה שעדכנו את זה בwin7 או וויסטה או במה שאתה משתמש, כי בXP: Z:\>shutdown /? Usage: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "c omment"] [-d up:xx:yy] :) 11.04.2010 15:51:50 | |
#12 |
cp77fk4r: אני על ויסטה (ברב עוונותי), וכן, גם אני שמתי לב לזה עכשיו, הזוי משהו. כנראה שרצו לעשות יישור קו או משהו. 11.04.2010 16:23:56 | |
#13 |
cp77fk4r: "מה אמרתי לכם?" https://threatpost.com/en_us/blogs/java-zero-day-attacks-wild-041410 14.04.2010 20:37:39 | |
#14 |
m1ch43l1014: יפה יפה רק עכשיו כולם צריכים להיות ערוכים בהתאם 14.04.2010 20:48:07 | |
#15 |
inHaze (אורח): ממש דני רופ של עולם אבטחת המידע :) 14.04.2010 23:11:41 | |
#16 |
Trancer (אורח): אהלן אפיק מה המצב איתך? :) כמה חידודים בקשר לפוסט הנ"ל: כמו שאמרת, שני החוקרים מצאו בעיית אבטחה זהה עם דרכי ניצול שונות. Tavis Ormandy פרסם שיטה בה ניתן להריץ קוד ג'אווה _באופן מקומי_ על המכונה המותקפת (באמצעות הזרקת פקודה באופן מרוחק, זאת אומרת מעמוד אינטרנט). כלומר, ללא כל ההגבלות החלות על קוד ג'אווה שרץ בדפדפן באופן רגיל באמצעות ה-Sandbox של ג'אווה - https://mindprod.com/jgloss/javawebstart.html#SANDBOX Ruben Santamarta פרסם שיטה שבאמצעות הזרקת פקודה ניתן לטעון ולהריץ (על ידי הפקודה הלא רשמית XXaltjvm) מכונה וירטואלית אלטרנטיבית (Alternative Java Virtual Machine), כלומר, כל DLL (או SO במקרה של לינוקס) שבא לתוקף ללא כל ולידציה שהיא מצד ג'אווה. ובמקרה הזה שאתה טוען ומריץ קוד PE משלך לזכרון ל-DEP ול-ASLR אין אף משמעות. עוד הבדל רציני בין השיטות הוא שבשיטה הראשונה נינתן להריץ קוד ג'אווה מכל מקום באינטרנט לעומת השיטה השניה שבא ניתן לטעון מכונה וירטואלית אלטרנטיבית אך ורק מכתובת UNC. לשיטה השניה מטאספלוייט פרסמו אתמול אקספלוייט: https://www.metasploit.com/modules/exploit/windows/browser/java_ws_arginject_altvm מומלץ לקרוא את הקוד על מנת להבין בדיוק איך האקספלוייט פועל. בקשר לשיטה הראשונה, אקספלוייט מודול למטאספלוייט יתפרסם על ידי היום. אעדכן ברגע שיהיה מוכן :) 15.04.2010 14:04:30 | |
#17 |
(אורח): ותיקון למגיב אלצ'קו, אין קשר הלינקים ששמת לבין הבעיית אבטחה הנ"ל. זאת בעיה דומה, אך לא הבעיה המדוברת. סאן עדיין לא שיחררה advisory לבעיה ואין עדיין CVE. רק BID: https://www.securityfocus.com/bid/39346 ועוד פרט קטן, הבעיית אבטחה תקפה כנגד JRE 6 Update 10 ומעלה, כולל האחרון (Update 19). 15.04.2010 14:11:28 | |
#18 |
cp77fk4r: T, אני כרגיל עוקב :) הייתה לי הרגשה שתכתוב לזה מודול ל-meta, אתה לא מפספס הזדמנויות כאלה ;) ברגע שתפרסם את הפוסט אצלך- אתה יותר ממוזמן לפרסם פה לינק- אני אערוך את הפוסט ואצרף את הלינק. תודה על החידודים! 15.04.2010 14:17:52 | |
#19 |
cp77fk4r: אפשר לנשום.. :) https://tinyurl.com/y6zwazq 15.04.2010 23:25:37 | |
#20 |
m1ch43l1014 (אורח): =] 16.04.2010 01:09:54 | |
#21 |
maijor (אורח): מממ האנטי וירוס שלי חוסם את זה.... אני משתמש ב AVG חינמי אבל עדיין מגניב! 16.04.2010 18:52:41 | |
#22 |
cp77fk4r: כן, גם החבר'ה של Avast התחילו לחסום את זה דרך ה- Web Shield, פשוט הוסיפו את זה לחתימות של הוקטורים. 16.04.2010 19:51:06 | |
#23 |
N3wBy (אורח): והפקודה מתבצעת כאדמינסטרטור או שזה תלוי בהרשאות של הדפדפן? 24.06.2016 16:55:12 | |
#24 |
cp77fk4r: תלוי בהרשאות שבהן רץ התהליך של java. 27.06.2016 21:59:34 |
הוסף את תגובתך: