PracticU

סוגי פריצות לטלפון

בלי כתוביותעם כתוביות
PracticU › קורס סייבר והאקינג ל-Android - פריצה לטלפונים ואפליקציות אנדרואיד - בודק חוסן - Mobile App Pentesting › סוגי פריצות לטלפון
מילון מושגים:
מכונה וירטואלית - מחשב מדומה שרץ כתוכנה על גבי מחשב פיזי, עם מערכת הפעלה ומשאבים משלו, בבידוד מהמערכת המארחת.
תוכנה זדונית - כל תוכנה שנועדה לפגוע במערכת, לגנוב מידע או להשתלט עליה, כמו וירוסים, תולעים וסוסים טרויאנים.
פרוטוקול - מערכת כללים מוסכמת שקובעת כיצד מכשירים או תוכנות מתקשרים ומחליפים מידע, למשל HTTP או TCP.
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.
פרוקסי - שרת מתווך שמעביר בקשות בין לקוח ליעד, ויכול לשמש להסתרה, לסינון, למטמון או לבקרת גישה.
HTTPS - הגרסה המאובטחת של HTTP, שמצפינה את התקשורת בין הדפדפן לשרת בעזרת TLS ומאמתת את זהות האתר.
אתר אינטרנט - אוסף של דפים ומשאבים מקושרים המתארחים תחת כתובת אחת ומוגשים דרך דפדפן.
XSS - חולשה באתרים שבה תוקף מחדיר סקריפט זדוני לדף שמוצג למשתמשים אחרים ורץ בדפדפן שלהם.

סוגי פריצות לטלפון
בשיעור זה נקבל סקירה של מה נלמד בפרק פריצות האנדרואיד, עם מכונה וירטואלית של טלפון שאליו רוצים לפרוץ. נעבור על שתי משפחות התקפות, כשיש גישה פיזית למכשיר וכשאין, ועל ההמשך הטבעי שלהן, התקפות על השרת שהאפליקציה מדברת איתו.
נושאי הסיכום המוצגים בשיעור:
1. פריצות עם גישה פיזית: כשהתוקף מחזיק את המכשיר בידיו הוא יכול לעקוף מגוון הגנות של האפליקציות המותקנות בו, לדוגמה לעקוף את מסך ההתחברות של אפליקציה כלשהי.
2. מסכים מוסתרים: בתוך אפליקציה ישנם מסכים מוחבאים, hidden activities, שמנסים להסתיר מהמשתמש או שדורשים תשלום כדי להגיע אליהם, ואותם אפשר להציג בעקיפין.
3. עקיפת זיהוי שורש: אפליקציות רבות מזהות שהטלפון פרוץ שורש ומסרבות לעבוד, והזיהוי הזה אף הוא הגנה שאפשר לעקוף.
4. אריזה מחדש של האפליקציה: אפשר לחזור על הקוד בהנדסה לאחור, לשנות בו משהו ולארוז מחדש את קובץ ההתקנה APK בגרסה משלנו, ולהפעיל על המכשיר את הגרסה השינויה במקום המקורית.
5. המטרה בגישה פיזית: לעקוף את המגבלות שמוטמעות בתוך התוכנה, להגיע אל המידע הסודי שאסור להגיע אליו ואף להתחזות ללקוח אחר בתוך האפליקציה.
6. התקפות מרחוק דרך חנות האפליקציות: כשאין גישה פיזית, אפשר לשתול תוכנה זדונית בתוך אפליקציה שמעלים אל חנות Google Play, למשל משחק תמים לכאורה, אנשים מתקינים אותו ומבפנים יושבת תוכנה זדונית שנותנת לתוקף יכולות כאילו הוא עומד על המכשיר עצמו, כולל כניסה אל אפליקציית הבנק של הקורבן ופעולות בשמו.
7. התקפה דרך פרוטוקול חשוף: גם כשאין אפשרות לשתול כלום, קיימת האפשרות למצוא חור אבטחה בפרוטוקול התקשורת של אפליקציה פופולרית, כמו החור שחברת NSO מצאה בפרוטוקול של WhatsApp, שמאפשר הרצת קוד מרחוק, Remote Code Execution, על המכשיר של הקורבן בלי לגעת בו כלל.
8. מהמכשיר אל השרת: אחרי השתלטות על המכשיר, בין אם בגלל נוכחות פיזית, בגלל אפליקציה שהותקנה ובגלל תוכנה שיש בה חור אבטחה, אפשר להמשיך הלאה ולתקוף את השרת שהאפליקציה מתקשרת איתו, ולא רק את המכשיר עצמו.
9. מפתחות הגישה בתוך ה APK: בתוך קובץ ההתקנה של האפליקציה יושבים מפתחות ה API שבעזרתם האפליקציה מזדהה מול השרת. מי שמוציא אותם מתחבר לשרת במקום האפליקציה, ועשוי להוציא משם הרבה יותר ממה שהאפליקציה עצמה מראה, כי המתכנת הניח שהאפליקציה היא זו שמגינה, טעות נפוצה של מתכנתים מתחילים.
10. סניפינג ופרוקסי: אפשר לתקוף את השרת גם בלי לחדור לאפליקציה, בעזרת שרת פרוקסי שמסניף את התקשורת. כשלקוח מתחבר אל שרת, התוקף תופס את החבילות בדרך ורואה שם וסיסמה, ואם התקשורת עוברת ב HTTPS יש לקלף אותו, והכול תלוי באופן שבו האפליקציה מוגנת. העיקרון דומה מאוד למה שקורה במחשב רגיל.
11. התקפות ווב מוכרות: אפליקציה יכולה להתנהג בדיוק כמו אתר אינטרנט פשוט, ולכן אפשר לתקוף אותה בטכניקות המוכרות מהפרק של התקפות ווב, כמו השתלת קוד חשוף ל XSS.
12. המטרה הסופית של התקפות השרת: להיכנס פנימה אל השרת, או להתחזות למשתמש אחר שדרכו אפשר להיכנס, ולהוציא משם את המידע, למשל להתחזות ללקוח ולהעביר כספים אל עצמנו.
13. מה נלמד בהמשך: כיצד חוקרים את קובץ ה APK, כיצד מוציאים ממנו מידע, כיצד עוקפים הגנות וכיצד האפליקציה בנויה. בשיעור הבא נוריד את האפליקציה InsecureBank, בנק שנבנה בכוונה כאפליקציה פרוצה לתרגול. ההמלצה לפני שממשיכים, להכיר את הבסיס של קורס התקפות התשתית.
בשיעור זה סקרנו את סוגי הפריצות לטלפון, פריצות בגישה פיזית שעוקפות התחברות, מסכים מוסתרים וזיהוי שורש ומאריזות מחדש את ה APK, התקפות מרחוק דרך אפליקציה זדונית בחנות או דרך חור בפרוטוקול תקשורת, והתקפות על השרת בעזרת מפתחות API שהוצאו מה APK, סניפינג ופרוקסי וטכניקות ווב מוכרות. בשיעור הבא נעסוק בנושא התקנה של APK - InsecureBank v2.
SR12575HE

פרקי ההרצאה: סוגי פריצות לטלפון

  1. 00:00

    סוגי התקפות על טלפונים

  2. 00:36

    עקיפת הגנות בגישה פיזית

  3. 01:13

    אריזת APK מחדש

  4. 01:50

    התקפות מרחוק דרך החנות

  5. 02:24

    חולשות בפרוטוקול תקשורת

  6. 02:59

    התקפת השרת דרך האפליקציה

תמלול ההרצאה: סוגי פריצות לטלפון

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

  1. 00:02

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

  2. 00:15

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

  3. 00:28

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

  4. 00:50

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

  5. 01:07

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

  6. 01:27

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

  7. 01:52

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

  8. 02:02

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

  9. 02:30

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

  10. 02:55

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

  11. 03:23

    להוציא מהראש של איך קוראים לו כבר שכחתי

לקורס המלא: קורס האקינג לאנדרואיד אונליין

ההרצאה הקודמת: התקנה של אנדרואיד בתוך מכונה וירטואלית - Genymotion

ההרצאה הבאה: התקנה של APK - InsecureBank v2

הרצאות קשורות מקורסים אחרים

  • סוגי בדיקות
  • סוגי משתנים
  • סוגי קבוצות
  • חיפוש פריצות וחולשות בגוגל - Google Hacking

קורסים נוספים במסלול

  • קורס SOC - מיישם הגנת סייבר
  • קורס סייבר למתחילים - Hacking - בדיקות חוסן תשתיתי ופריצה ל-Windows 10/11 - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP
  • קורס פריצה ומבדקי חדירה לתשתית ארגונית - בדיקות חוסן מתקדמות ל-Active Directory - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP
  • קורס פריצה ומבדקי חדירה לאתרי אינטרנט - בדיקות חוסן לאתרים - Web Pentesting - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP