PracticU

התקנת שרת של InsecureBank v2

בלי כתוביותעם כתוביות
PracticU › קורס סייבר והאקינג ל-Android - פריצה לטלפונים ואפליקציות אנדרואיד - בודק חוסן - Mobile App Pentesting › התקנת שרת של InsecureBank v2
מילון מושגים:
GitHub - שירות ענן לאחסון מאגרי קוד מבוססי Git, המאפשר שיתוף פעולה, מעקב גרסאות וניהול פרויקטים.
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
שם משתמש - מזהה ייחודי שמשתמש מזין כדי להזדהות במערכת, לרוב יחד עם סיסמה.
צד שרת - החלק של היישום שרץ בשרת ואחראי על הלוגיקה, מסדי הנתונים והעיבוד שמאחורי הקלעים.
טרמינל - חלון או תוכנה שמספקים ממשק שורת פקודה להקלדת פקודות למערכת ההפעלה.
Git - מערכת מבוזרת לניהול גרסאות של קוד, שעוקבת אחר שינויים ומאפשרת עבודה משותפת בענפים.
PDF - פורמט קובץ לשמירת מסמכים עם עיצוב קבוע, שנראים זהה בכל מכשיר ותוכנה.
פרוקסי - שרת מתווך שמעביר בקשות בין לקוח ליעד, ויכול לשמש להסתרה, לסינון, למטמון או לבקרת גישה.

התקנת שרת של InsecureBank v2
בשיעור זה נתקין את שרת אפליקציית הבנק הפרוצה, כאילו מדובר בבנק אמיתי ולו שרת משלו, ונחבר אליו את האפליקציה שהותקנה על הטלפון הווירטואלי בשיעורים הקודמים, כדי לוודא שההתקנה עובדת לפני שנתחיל לתפוס את התקשורת שלה.
נושאי הסיכום המוצגים בשיעור:
1. הפרויקט ושני צדדיו: בעמוד ה GitHub של InsecureBank v2, שממנו הורדנו את ה APK והתקנו אותו על הטלפון, יושבת גם תיקייה של השרת עם כל קוד המקור שלו. הפרויקט מציג גם שם משתמש וסיסמה להתחברות, אך בהמשך נתייחס אליהם כאילו איננו יודעים אותם ורוצים לגלות אותם בעצמנו.
2. שפת השרת: צד השרת, ה backend, נכתב בפייתון 2 ואינו תואם לפייתון 3. זהו פרט חשוב, כי פייתון 2 ופייתון 3 שונים לחלוטין ואין ביניהם תאימות בשני הכיוונים, בלי קשר לגרסה המדויקת בתוך כל אחת מהם.
3. שכפול המאגר: בטרמינל של הקאלי, אחרי מעבר לרוט, מריצים git clone על כתובת הפרויקט. שכפול בעזרת git מוריד את כל התוכן ישירות אל תיקייה חדשה בלי קובץ zip ובלי שלב חילוץ ביניים.
4. מבנה התיקיות: בתוך התיקייה שנוצרה יושבים תיקיית השרת, תיקיית ה APK, וקבצי הסבר כולל PDF. בתוך תיקיית השרת ישנם קובצי פייתון, וביניהם שניים חשובים, requirements.txt שבו כתוב מה צריך להתקין לפני ההפעלה, ו app.py שהוא הקובץ שמריצים כדי להעלות את השרת.
5. בדיקת הגרסה: לפני ההתקנה בודקים באיזו גרסת פייתון מדובר, ומאומת שקיים פייתון 2, שזה מה שנדרש, בלי חשיבות לגרסה המשנית שלו.
6. התקנת הדרישות: מנסים להתקין את כל הדרישות בבת אחת בעזרת פקודת pip, מנהל החבילות של פייתון, עם הפרמטר שמצביע על קובץ ה requirements, וההרצה נכשלת כי למודול pip אין קיום בפייתון 2 שבמחשב.
7. התקנת pip לפייתון 2: מורידים את קובץ get pip המיועד לגרסה 2.7, מריצים אותו בעזרת פייתון ומנהל החבילות מותקן, ואז הפעלה חוזרת של התקנת ה requirements מתחילה לעבוד ומתקינה את החבילות.
8. תקלה בודדת ופתרונה: אחת החבילות נכשלת בהתקנה. הדרך המקובלת כשמשהו לא עובד היא להתקין את הרשימה חבילה חבילה, לראות איזו נכשלת, וכאן מתברר שחסרה החבילה CherryPy. לאחר התקנתה במפורש הרצת ה requirements כולה עוברת בשלום. הסיבה לכך היא שעברו שנים מאז נכתב הפרויקט והסביבה השתנתה.
9. העלאת השרת: אחרי שכל הדרישות הותקנו בשלום, מריצים את app.py, והשרת עולה וממתין לחיבורים של לקוחות.
10. חיבור האפליקציה אל השרת: במחשב ה Windows פותחים את Genymotion, התוכנה שמריצה את הטלפון הווירטואלי, ומפעילים את הטלפון. באפליקציית הבנק, בתפריט שלוש הנקודות ובעדפות, מזינים את כתובת ה IP של המחשב שבו רץ השרת, שמתקבלת מפקודת ifconfig, ואת הפורט שבו הוא מאזין. לצורך בדיקת ההתקנה מתחברים עם השם והסיסמה שהפרויקט מציג, וההתחברות מצליחה, כלומר השרת והאפליקציה מדברים זה עם זה.
11. ההמשך: עכשיו כשהסביבה עובדת מקצה לקצה, בשיעור הבא נתפוס דרך פרוקסי וסניפינג את השם והסיסמה שעוברים בכבל הרשת, כאילו איננו יודעים אותם ורוצים לגלות מה המשתמש שולח.
בשיעור זה שכפלנו את מאגר הפרויקט, התקנו את דרישות השרת בפייתון 2 אחרי התקנת מנהל החבילות וחבילת CherryPy החסרה, העלנו את השרת באמצעות app.py, חיברנו את האפליקציה אליו דרך העדפות עם הכתובת והפורט שלו, ואימתנו התחברות מוצלחת. בשיעור הבא נעסוק בנושא פרוקסי באנדרואיד עם Burp.
SR12579HE

פרקי ההרצאה: התקנת שרת של InsecureBank v2

  1. 00:00

    הכרת צד השרת

  2. 00:42

    הדרישה לפייתון 2

  3. 01:19

    הורדת הקוד עם Git Clone

  4. 02:12

    סקירת תיקיית השרת

  5. 02:51

    בדיקת גרסת הפייתון

  6. 03:31

    התקנת ה-Pip החסר

תמלול ההרצאה: התקנת שרת של InsecureBank v2

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

  1. 00:03

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

  2. 00:24

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

  3. 00:47

    כי פייתון 2 ו-3 הם שונים לחלוטין. זה לא משנה איזה גרסה של פייתון 2 ולא משנה איזה גרסה של פייתון 3, אבל ביניהם אין תאימות. מה שמתאים לפייתון 2 לא כל כך מתאים לפייתון 3 ולהפך, אז לזה אנחנו צריכים לשים לב.

  4. 01:03

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

  5. 01:15

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

  6. 01:36

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

  7. 01:47

    זה למעשה קבצי המקור, אנחנו יכולים לראות שיש לנו פה גם PDF שמסביר לנו, יש לנו פה את הכל, InSecure Bank V2 זה APK File, זה מה שהתקנו בתוך הטלפון, וזה השרת.

  8. 02:01

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

  9. 02:14

    אני חוסך לנו את השלבים אחרי זה בקובץ requirements.txt כתוב מה צריך להתקין כדי שהדבר הזה יעבוד וגם יש קובץ שנקרא app.py שאותו צריך להריץ כדי שהשרת יופעל. טוב בוא נתחיל לעשות את כל זה ניכנס לתיקייה שכרגע הוא שכפל לנו.

  10. 02:35

    אתם רואים, הוא יצר לנו תיקייה עם Secure Bank V2. אנחנו ניכנס לתיקייה הזאת. בתוך הבנק יש לנו את מה שראינו, את החלק של השרת, את החלק של APK ועוד כל מיני קבצי PDF וכאלו.

  11. 02:51

    בואו ניכנס לחלק של השרת. בתוך השרת ראינו שיש לנו קובץ Requirements.txt. בואו נבדוק איזה פייתון יש לנו, כי ראינו שאנחנו צריכים פייתון 2 ויש לנו פייתון 2.

  12. 03:05

    זה לא משנה 0.7, 0.9, זה לא משנה, העיקר שזה 2. בתוך ה-requirements ראינו שכתוב לי מה צריך להתקין לפני שמפעילים את השרת. אז אני עושה python מינוס מודול pip, pip זה המודול שמתקין דברים אוטומט, ואני אומר לו למודול הזה של pip, תעשה ל-install מתוך קובץ requirements.

  13. 03:28

    בואו נעשה את זה ונגיד לו להתקין, ואנחנו רואים שאין לנו מודול pip. בתוך ה-python אין לנו את המודול הזה. אז אני אחסוך לכם את החיפוש בגוגל, אתם יכולים להיכנס בכתובת הזאת, להוריד את הקובץ שנקרא getpip ואז להפעיל אותו, כי אנחנו צריכים את הpip של version 2.7, אתם רואים גרסה 2.7, הורדנו את הקובץ,

  14. 03:52

    עכשיו יש לנו פה

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

ההרצאה הקודמת: כתיבת סקריפט Frida עבור InsecureBank

ההרצאה הבאה: פרוקסי באנדרואיד עם Burp

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

  • התקנת שרת 2022 DC
  • התקנת שרת 2019
  • קורס BI - התקנת שרת SQL
  • התקנת שרת Apache

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

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