OnePlus השאירה במקום אפליקציית בדיקה הנדסית של Qualcomm הפועלת כדלת אחורית כדי להעניק גישה לשורש ב-OnePlus 3, 3T ו-5.
עדכון: OnePlus הוציאה תגובה רשמית לעניין. הם יסירו את פונקציית השורש של ADB מ- EngineerMode בעדכון הקרוב.
עבר קצת יותר מחודש מאז נמצא ש-OnePlus אוסף מידע אישי מזהה לניתוח. החברה הפכה במהירות מהמסלול, ובעדכון החברה הבטיחה להיות שקופה יותר על ידי מתן ברור למשתמשים אפשרות לבטל את ההצטרפות לניתוח OxygenOS. למרות שהמחסום הזה נפתר מאז, אחר מרים את ראשו המכוער הלילה. משתמש בטוויטר העונה לשם "אליוט אלדרסון" (על שם הדמות הראשית של סדרת הטלוויזיה הפופולרית מר רובוט) גילתה ש-OnePlus השאיר בטעות אפליקציה לבדיקת אבחון תוצרת קוואלקום. לאחר פירוק היישום הזה, הוא גילה שזה יכול להיות מנוצל להענקת גישה לשורש - פועל ביעילות כדלת אחורית.
האפליקציה נקראת "EngineerMode" והיא בעצם אפליקציית מערכת מתוצרת קוואלקום ומסופקים ליצרני OEM כמו OnePlus על מנת שיצרני OEM יבדקו בקלות את כל רכיבי החומרה של התקן. האפליקציה מותקנת מראש בכל מכשירי OnePlus 3, OnePlus 3T ו-OnePlus 5 וניתן לגשת אליה בקלות דרך כל משגר פעילויות מכיוון שכל פעילויות האפליקציה מיוצאות.
אנחנו בעצם סיקרה את קיומה של יישום זה לפני מספר חודשים, אבל בזמנו לא היה לנו מושג למה זה יכול לשמש. משתמש הטוויטר פירק את האפליקציה (המקור שלה פורסם באינטרנט כאן) ומצא פעילות מעניינת בשם DiagEnabled. במיוחד בלטה שיטה אחת בתוך הפעילות: escalatedUp. שיטה זו מקבלת ערך בוליאני (true/false) ומחרוזת. המחרוזת היא סיסמה שנבדקת על ידי השיטה לפני שהיא מגדירה את מאפייני המערכת persist.sys.adbroot
ו oem.selinux.reload_policy
ל-1.
תכונת המערכת הראשונה מעניינת במיוחד מכיוון שהיא מאפשרת למשתמש להריץ ADB כשורש. זה פותח מיד את האפשרות להשיג גישה מלאה לשורש בטלפון - הכל מבלי לפתוח את טוען האתחול. אז איך בדיוק גורמים לאפליקציית EngineerMode להגדיר את מאפייני המערכת האלה להיות '1'?
@fs0c131y היה צריך למצוא את הסיסמה הנכונה לשליחת הכוונה כדי להעביר את ההיגיון בשיטה שפורסמה למעלה. מציאת סיסמה זו אינה משימה פשוטה, עם זאת. הוא פירק את הספרייה האחראית להפקת הסיסמה (שנקראת libdoor.so) ומצא היכן נמצא ה-hash של הסיסמה: /data/backup/fpwd
. הסיסמה נוצרת ממאפייני build שונים כגון ro.product.model
ו ro.product.brand
ולא יהיה קל לבצע הנדסה לאחור.
מזל עם העזרה דוד וינשטיין ו עכשיו מאובטח בטוויטר, הוא גילה את הסיסמה הדרושה ל- EngineerMode כדי להעלות את ADB להרשאות שורש.
כל מה שצריך לעשות זה לשלוח כוונה בפורמט הזה:
adb shell am start -n com.android.engineeringmode/.qualcomm.DiagEnabled --es "code""angela"
שבו com.android.engineeringmode/.qualcomm. DiagEnabled הוא שם הרכיב של הפעילות DiagEnabled שאנו מנצלים, ו"קוד" הוא שם המחרוזת ו-"angela" הוא ערך הסיסמה הרלוונטי.
@fs0c131y מציין שהוא יעשה זאת לפרסם אפליקציה בקרוב זה ישלח את הכוונה הזו להעלות את ADB להרשאות שורש, לתקן את תמונת האתחול כדי להשבית dm-verity ולהתקין את הקבצים הבינאריים של su. שים לב לפורומים של XDA כאשר יישום השורש הזה מתפרסם.
המשמעות של זה עבור משתמשי הקצה היא שאתה יכול שורש בקלות את ה-OnePlus 3, OnePlus 3T ו-OnePlus 5 שלך מבלי לבטל את הנעילה של טוען האתחול שלך. הניצול הזה לא מאפשר לאפליקציה זדונית להעניק לעצמה גישת שורש, אז אלא אם למישהו יש גישה פיזית למכשיר שלך כדי להגדיר ADB, אז אתה בטוח מניצול.
במקרה שאתה רוצה להגן על עצמך מהניצול הזה בלי קשר, אתה יכול הסר את ההתקנה של האפליקציה מהמשתמש הנוכחי מה שימנע את שליחת הכוונה לאפליקציית EngineerMode. פשוט השתמש בפקודה הבאה ב-ADB:
adbshellpmuninstall-k--user 0 com.android.engineermode
כמובן, זה עדיין נחשב לניצול ואנחנו מקווים ש-OnePlus יתקן את זה בקרוב. כל מה שהם באמת יצטרכו לעשות הוא להסיר את היישום הזה מהבנייה עתידית.
עדכון 1: הסיסמה היא 'אנג'לה'
המשתמש @fs0c131y פרסם עדכון בעמוד הטוויטר שלו עם הסיסמה שאתה צריך כדי להיכנס למעטפת ADB שורשית. הסיסמה הזו היא...אנג'לה. לאלו מכם שלא צופים במר רובוט, אנג'לה הוא שמו של אחד הגיבורים. אני מניח שבטח יש הרבה מעריצי מר רובוט בקוואלקום.
אם תזין את הפקודה שפרסמתי למעלה ב-ADB, תבחין ש-ADB מתנתק מיד והשרת מופעל מחדש. הזן שוב את ADB, ותבחין שעכשיו זו מעטפת שורשית.
עדכון 2: כיצד נגזרה הסיסמה
חברת האבטחה Now Secure פרסמה פוסט בבלוג המפרט כיצד הם גזרו את הסיסמה הדרושה לניצול השורש הזה להתרחש. אתה יכול לקרוא את הפוסט המלא שלהם כאן.
עדכון 3: מכשירים נוספים מושפעים
החדשות האחרונות לא אמורות להפתיע, אבל נראה שמכשירים נוספים מושפעים מהניצול הזה. הסיבה לכך היא שאפליקציית EngineerMode היא אפליקציית Qualcomm, כך שייתכן שיצרני OEM אחרים השאירו אותה מותקנת מראש במכשירים שלהם. עד כה, משתמשים פנו אל @fs0c131y בטוויטר כדי לאשר שהאפליקציה מותקנת ב- כמה מכשירי Asus Zenfone ו-Xiaomi. אתה יכול בקלות לבדוק אם המכשיר שלך כולל את היישום הזה על ידי כניסה להגדרות וראה אילו אפליקציות מותקנות.
עדכון 4: השתרשות המכשיר שלך
באמצעות כמה פקודות דרך מעטפת ה-ADB השורשית, זה כעת אפשרי דחוף את ה-su הבינארי למכשיר שלך. באמצעות זה, לאחר מכן תוכל להתקין אפליקציית מנהל שורש כמו SuperSU ולאחר מכן להעניק באופן חופשי גישת שורש לאפליקציות אחרות. הכל מבלי לפתוח את טוען האתחול שלך!
עדכון 5: OnePlus מגיב
OnePlus הגיבה רשמית למצב. ב פוסט בבלוג, החברה חוזרת ומדגישה שניתן לנצל את הניצול הזה רק אם לתוקף יש גישה פיזית למכשיר ואפשר איתור באגים ב-USB. על מנת לאפשר איתור באגים ב-USB, התוקף זקוק גם לסיכה/סיסמה של המכשיר שלך. לפיכך, דלת האחורית של השורש אינה ניתנת לניצול בקלות על ידי אף אפליקציה או אדם, אך עם זאת, OnePlus יטפל בדאגות המשתמשים על ידי הסרת הפונקציונליות הזו מאפליקציית EngineerMode.