PracticU

פריצה למחשב של מישהו אחר דרך האינטרנט - חלק 1

בלי כתוביותעם כתוביות
PracticU › קורס פריצה ומבדקי חדירה לאתרי אינטרנט - בדיקות חוסן לאתרים - Web Pentesting - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › פריצה למחשב של מישהו אחר דרך האינטרנט - חלק 1
מילון מושגים:
חולשה - פגם או חולשה במערכת או בתוכנה שעלול לאפשר פגיעה באבטחה אם לא יטופל.
XSS - חולשה באתרים שבה תוקף מחדיר סקריפט זדוני לדף שמוצג למשתמשים אחרים ורץ בדפדפן שלהם.
דפדפן - תוכנה שמציגה דפי אינטרנט ומריצה את הקוד שבהם, ומאפשרת לגלוש בין אתרים, למשל Chrome או Firefox.
JavaScript - שפת תכנות שרצה בעיקר בדפדפן ומוסיפה אינטראקטיביות לדפי אינטרנט. רצה גם בצד השרת באמצעות Node.js.
רשומה - שורה בטבלת מסד נתונים שמרכזת את כל השדות של פריט אחד, למשל כל הפרטים של לקוח יחיד.
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.
סיסמה - מחרוזת תווים סודית שמשמשת לאימות זהות המשתמש בעת כניסה למערכת. ככל שהיא ארוכה ומורכבת יותר, כך קשה יותר לנחש אותה.
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.

פריצה למחשב של מישהו אחר דרך האינטרנט - חלק 1
ההרצאה פותחת סדרה על פגיעות XSS מסוג קבוע, שבה אתר מציג לכל מבקר קוד שנכתב על ידי משתמש זר. מדובר בבעיה של אתר שמציג קלט בלי לסנן אותו, והיא פוגעת גם במי שלא היה באתר בזמן שהקלט נכתב.
עקרונות הפגיעות
1. מה נשמר: באתר בלוגים כל משתמש יכול לכתוב הודעה. ההודעה נשמרת במסד הנתונים ומוצגת בדפים של כל המבקרים.
2. למה הדפדפן לא מבחין: הדפדפן מבצע כל קוד JavaScript שמגיע מהשרת, בלי לבדוק אם המתכנת המקורי כתב אותו או משתמש זר. לכן קטע שנשמר בתוך הודעה נראה לו כחלק לגיטימי מהאתר.
3. למה זה קבוע: כשהקוד נשמר במסד הנתונים, כל מי שנכנס לדף מקבל אותו, והפגיעה נשארת עד שהרשומה נמחקת או מתוקנת.
4. איך מזהים: שדה שמציג תגיות HTML כעיצוב, במקום כטקסט, מעיד שהקלט לא עבר סינון.
5. מה המבקר רואה: כלום. הדף נראה רגיל והקוד פועל ברקע.
איך מתגוננים
- קידוד הפלט: השרת ממיר תווים מסוכנים, כמו סוגריים זוויתיים וגרשיים, לצורה שהדפדפן מציג כטקסט בלבד ולא מבצע. זה צריך לקרות לפני ששולחים את ההודעה לדפדפן.
- קידוד אוטומטי: מסגרות פיתוח מודרניות מקודדות ברירת מחדל, אבל מתכנת שמכבה את הקידוד או לא יודע שהוא נחוץ פותח את הדלת לפגיעה.
שימו לב
- התקיפה לא דורשת גישה לשרת או לסיסמה, רק שדה שמציג את מה שנכתב בו.
מכאן מובן מדוע קידוד הפלט הוא ההגנה העיקרית נגד XSS, וכיצד פגיעה שנשמרת במסד נתונים פוגעת בכל המבקרים.
השיעור הבא בקורס: פריצה למחשב של מישהו אחר דרך האינטרנט - חלק 2

פרקי ההרצאה: פריצה למחשב של מישהו אחר דרך האינטרנט - חלק 1

  1. 00:00

    הכרת חולשת XSS באתרי אינטרנט

  2. 01:00

    אתר בלוגים שמציג תוכן משתמשים

  3. 02:14

    בדיקת תגובת האתר לתגיות HTML

  4. 02:52

    הבדל בין סקריפט מקורי לסקריפט מוזרק

  5. 04:58

    סדר עיבוד סקריפט לפני תצוגת הדף

  6. 07:49

    XSS קבוע: תוכן השמור במסד הנתונים

  7. 09:22

    כלי BeEF לשליטה מרחוק בדפדפן

  8. 13:42

    הכרת תרחישי הנדסה חברתית

תמלול ההרצאה: פריצה למחשב של מישהו אחר דרך האינטרנט - חלק 1

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

  1. 00:02

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

  2. 00:22

    ואם האתר הזה יש בו חור אבטחה שהוא מאוד נפוץ שנקרא XSS, אנחנו נוכל דרך אתר אינטרנט לתקוף את הבן אדם בבית.

  3. 00:32

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

  4. 00:47

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

  5. 01:07

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

  6. 01:31

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

  7. 01:42

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

  8. 01:59

    אני לוקח את ההודעה ומוסיף לה נניח סימן בשפת html, נניח bold, זה תגית html. נוסיף לזה תגית html ואני רואה האם האתר יגיב לתווית html שלי.

  9. 02:19

    אני רואה שהוא כן מגיב לתווית html, שימו לב זה נהיה בולט. זה אומר שהאתר הזה מקבל הוראות מהמשתמש לביצוע, זה אומר שהאתר לא יודע להבדיל, שימו לב, האתר לא יודע להבדיל בין תגיות שמגיעות מהשר"ט לתגיות שמגיעות מהמשתמש.

  10. 02:41

    בואו ננסה עכשיו לעשות משהו יותר מתורכם, ניקח את ההודעה ונוסיף לה פה סקריפט פקודות לביצוע בשפת Javascript ונכתוב פקודת alert, alert סתם מקפיצה הודעה על המסך סתם מקפיצה הודעה על המסך, אני בא לבדוק האם אתר חשוף ל-XSS, מה זה אומר XSS?

  11. 03:01

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

  12. 03:26

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

  13. 03:57

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

  14. 04:12

    בואו נראה איך זה נראה. האתר מקבל View Page Source, והאתר מקבל סקריפט. אתם רואים? הוא מקבל כל מיני סקריפטים. תסתכלו, האתר מקבל כל מיני סקריפטים.

  15. 04:25

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

  16. 04:55

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

  17. 05:19

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

  18. 05:28

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

  19. 05:46

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

  20. 06:06

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

  21. 06:22

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

  22. 06:41

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

  23. 06:55

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

  24. 07:12

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

  25. 07:28

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

  26. 07:44

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

  27. 07:59

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

  28. 08:19

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

  29. 08:35

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

  30. 08:49

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

  31. 08:59

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

  32. 09:25

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

  33. 09:59

    שאני שרת בפורט 3000 כולם מתחברים אליי כל מי שנפרץ מתחבר אליי ואני שולט עליו מהמרכז, זה למעשה מרכז שליטה command and control CNC. יש לי מרכז שליטה על כל המחשבים שפרצתי עליהם.

  34. 10:18

    איך אני פורץ? שותן להם את הסקריפט. בואו נראה את זה. ניכנס לביף, ביף, ביף, ביף.

  35. 10:26

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

  36. 10:45

    בואו נראה רק מה הכתובת שלי 25 בסוף אני לוקח את הסקריפט הזה שנקרא חוג.js אתם רואים חוג javascript וזה הסקריפט שאם אני שרוטל אותו אצל מישהו אני מצליח להשתלט עליו אני 25 בסוף ואז אני אומר דבר כזה כל מי שייכנס לבלוג יקבל את הסקריפט שלי שימו לב אני מחליף פה כתובת לכתובת שכל מי שאני פורץ אליו יוכל להגיע כתובת אינטרנטית, 102, 25.

  37. 11:20

    אני אמור לשתול פה כתובת אינטרנטית. זה אומר שכל מי שמקבל את הסקריפט הזה מתחיל להתחבר אליי ואני מתחיל לשלוט עליו. בואו נראה את זה. כתבתי מילת good.

  38. 11:33

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

  39. 11:47

    אוקיי, אני כבר מצליח להשתלט עליך. לדוגמה בא בן אדם בתמימות שלו ועוד עושה פה show all ושימו לב זה תחנת עבודה של windows 10 הכי מעודכנת שזה חרום הכי מעודכן עושה view all הוא לא חושד בכלום הוא לא חושד בכלום מבחינתו הכל רגיל הוא לא ראה שום דבר שקרה אבל אם ללחוץ f12 אפשר לראות בנטוורק שחוג gs התחיל כל שנייה להתחבר אליי זה כמו סוס טרויאני שמתחבר לשרת השליטה שלי

  40. 12:22

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

  41. 12:48

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

  42. 13:01

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

  43. 13:11

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

  44. 13:26

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

  45. 13:35

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

  46. 14:01

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

  47. 14:25

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

  48. 14:35

    אדום זה כנראה לא יצליח לסוג הדפדפן הזה.

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

ההרצאה הקודמת: התקנה של OWASP

ההרצאה הבאה: פריצה למחשב של מישהו אחר דרך האינטרנט - חלק 2

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

  • פריצה למחשב עם Metasploit
  • הורדת תוכנות דרך האינטרנט - Torrent
  • התקנה דרך SCCM CLIENT למחשב ב-WORKGROUP
  • פריצה לאתר דרך כתובת URL

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

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