ברוכים הבאים לאזור הבלוגים הטכנולוגיים של ITsafe



קריאה מהנה


פרצת אבטחה בעוזרת האישית Alexa המאפשרת השתלטות על מוצרים חכמים

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

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

הממצאים שלנו מראים שחלק מה-sub domain של אמזון פגיעים ל-CORS Misconfiguration, Cross-site Request Forgery (CSRF) וגם Cross Site Scripting(XSS).

שילוב של הממצאים יחדי מאפשר לנו בלחיצת כפתור:

  • להסיר ולהתקין יכולות חדשות בחשבון Alexa שלכם מרחוק.
  • לקבל רשימה של כל היכולות המותקנות ב-Alexa.
  • לקבל היסטורית פקודות קוליות כולל השיח שלכם ושל ה-Alexa.
  • לקבל מידע רגיש שנאמר ל-Alexa.

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

דיווחנו לאמזון ביוני 2020 והם תיקנו כל הממצאים באופן מידי.


Technical Details

התחלנו את המחר בכך שהורדנו את האפליקציה Alexa לטפלון שלנו והגדרנו proxy על מנת לראות את כל המידע העובר מהאפליקציה לצד השרת באמצעות burp suite, אך לרוע המזל ראינו שאמזון הטמיעו הגנות אשר מוודאות את התעודה הדיגיטלית בצד האפליקציה לפני שהיא שולחת את התעבורה הגנו זו נקראת SSL Pinning.

על מנת לעקוף SSL Pinning השתמשנו בשיטה שאנחנו מלמדים גם בקורס הסייבר שלנו בפרק המובייל המאפשרת לבטל SSL Pinning באמצעות Frida והסקריפט הפשוט הבא:

https://codeshare.frida.re/@pcipolloni/universal-android-ssl-pinning-bypass-with-frida/

לאחר שעקפנו את ה-SSL Pinning הסתכלנו בתעבורה העוברת וראינו שאמזון לא הגדירו CORS בצורה נכונה וניתן יהיה לשלוח בקשת Ajax מכל sub domain של amazon לאפליקציה Alexa.

זה לא היה משהו מתוכנן ולאחר הדיווח אמזון תיקנו את הגדרת ה-CORS הזו.

הבקשה נראית כך:
רשימת הקבצים שנטענים בעת הרצת המסנג'ר
והתשובה נראית כך:
רשימת הקבצים שנטענים בעת הרצת המסנג'ר
ההגדרה הזאת מאפשרת לכל sub domain של אמזון לשלוח בקשת ajax ל-Alexa ובכך אם יהיה לנו XSS בדומיין כלשהו נוכל להתחיל בהתקפה ולנסות להשתלט על ה-Alexa.

לאחר מכן יצאנו מנוקדת הנחה שאנחנו נמצא XSS בהמשך והסתכלנו איזה מידע אפשר לקבל דרך ה-API ב-Ajax אם נשלח בקשה מדומיין כלשהו לדוגמה track.amazon.com.

להפתעתנו התשובה לאחת הבקשות מחזירה גם את ה-csrfToken שאנו צריכים כדי לבצע פעולות בשם המשתמש.
רשימת הקבצים שנטענים בעת הרצת המסנג'ר
כך שיש לנו כעת גם CORS Misconfiguration וגם את ה-CSRF Token לביצוע פעולות ממשתמש שילחץ על הלינק שלנו.

עד לפה ראינו שיש לנו יכולת לנהל לכל מי שילחץ לנו על הלינק את ה-Alexa שלו מרחוק, לקבל את כל השיחות שלו עם ה-Alexa. להסיר יכולות ולהתקין יכולות חדשות וכו'.

כדי שכל זה יעבוד עלינו כעת למצוא הזרקת קוד שתשלים לנו את הפעולה, עברנו על כמה עשרות sub domains של Amazon עד אשר הגענו ל-track.amazon.com המכיל 2 פרמטרים:

  • pageSize
  • paginationToken

אם נכניס תו שהוא לא ספרה ל-pageSize נקבל שגיאה מצד שרת שה-content-type שלה הינו text/html והוא משקף את המידע שאנחנו מכניסים ל-pageSize כך שיש לאמזון שגיאת XSS בתוך התשובה לפרמטר שגוי בדף:
רשימת הקבצים שנטענים בעת הרצת המסנג'ר
וכך נראית התשובה לבקשה:
רשימת הקבצים שנטענים בעת הרצת המסנג'ר
כך שיש לנו את התמונה המלאה, נשתמש בהזרקת הקוד כדי להוציא את ה-csrf token ונשמור אותו בפרמטר csrf.
רשימת הקבצים שנטענים בעת הרצת המסנג'ר
ונשתמש ב-csrf הזה על מנת לשלוח בקשת התקנה ל-skill עם המזהה B07KKJYFS9 על ה-alexa של המטרה.
רשימת הקבצים שנטענים בעת הרצת המסנג'ר
את המזהה אפשר להוציא מהחנות של Alexa לאחר שאתם מעלים Skill לחנות שלהם.
רשימת הקבצים שנטענים בעת הרצת המסנג'ר
לחיצה על הלינק הזדוני תוסיף את ה-skill לחשבון המשתמש ותתקין לו אותו על ה-alexa שלו.
רשימת הקבצים שנטענים בעת הרצת המסנג'ר
בדוגמה התקנות את ה-skill מהחנות Amazon Prime Inside. חשוב לציין שמהלך המחקר לבקשת אמזון לא העלנו skill זדוני לחנות האפליקציות שלהם והשארנו אותו במצב Developer.


Attack flow

את ההתקפה אפשר היה לבצע בדרכים שונות ומגוונות להלן דוגמה אחת:

  • המטרה לוחצת על לינק שהיא קיבלה במייל למוצר ב-amazon
  • הלינק מעביר את המטרה לאתר track.amazon.com שמבצע את הזרקת הקוד
  • מתבצעת בקשה לקבלת csrf token
  • נשלחת בקשה לקבלת רשימת היכולות המותקנות במכשיר
  • התוקף מחליף את אחד ה-skillים ב-skill שהוא כתב
  • התוקף משתלט על ה-alexa.

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

Share this post