
הטקסט המלא של הדקות הראשונות בהרצאה «הצפה של כתובות MAC - התקפה MAC Flooding» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, ברוכים הבאים להרצאה על פלאדינג, על הצפה אנחנו נבין קודם כל איך זה עובד, מה זה הצפה ונתחיל בזה שנבין שסוויצ'ים, אפילו סוויצ'ים מאוד יקרים של סיסקו, סדרה 9500 זה סך הכל מחשב עם משאבים מוגבלים, מחשב שמיועד למטרה מסוימת לעשות טיפול בפאקטים זה כמו DVD כזה, מכשיר
שמיועד כמו פלייסטיישן למטרה מסוימת וגם הסוויצ'ים העיקריים בסופו של דבר יש להם זיכרון מוגבל. אתם רואים 24 ג'יגה או 16 ג'יגה או 32 ג'יגה, וזה המון לסוויץ'.
ויש לו מעבד, לדוגמה, 6 ליבות ו-12 טריידים. במה המהירות? זה ממש כמו מחשב רגיל. יש לו גם כן כמה ואט הוא צורך וכו'. אז כמה דיסק הוא צריך? זה בסוף, בסוף תדמיינו שזה מחשב ייעודי לטפל בפקטים.
אם נלך אפילו לסוויצ'ים היותר קטנים, יותר חלשים, יש להם לדוגמה 4 ג'יגה זיכרון ולא כמה בסדרה ה-9,000 יש פה 16 ג'יגה ו-24 ג'יגה זיכרון. אז בסדרה היותר קטנה 3,600 זה סוויצ'ים יותר חלשים אז יש להם 4 ג'יגה זיכרון ומה שהכי מעניין אותי פה זה total number of mac addresses.
כמה כתובות mac מקסימום הסוויץ' הזה מסוגל ללמוד וכמו שאנחנו רואים הסוויץ' מסוגל ללמוד עד 32,000 כתובות mac. עכשיו, מה קורה כשהכתובות האלו נגמרות לו בזיכרון?
מה שקורה שהוא בעצם עושה הצפה, מעביר כל פאקט לכל האחרים ברשת. אז בואו נראה מה זה ההצפה הזאת, וניקח נניח סוויץ' מסדרה 2960. אתם רואים, יש פה כל מיני סדרות.
דרך אגב, מי שרוצה לדעת מה ההבדל בין סוויצ'ים האלו לסוויץ' הזה, לדוגמה, זה שבסוויצ'ים האלו, שהם סוויצ'ים ל-R3, שזה אלו, בניגוד לסוויצ'ים הרגילים יש להם גם טבלת ניתוב, זאת אומרת פה בקונפיג יש לנו רק סוויצ'ינג ווילאנים, אתם רואים?
בסוויצ'ים ל-R3 יש להם גם תוכנה של ראוטר בתוך הסוויץ', אתם רואים? יש לו סטטיק ראוטינג, אני יכול להגיד לו נקסט אופ אם אתה מחפש רשת לאן לנתב פאקטים, הוא יודע להיות גם ראוטר, זאת אומרת בתוך הסוויץ' יש גם תוכנה של ראוטר, זה גם סוויץ' עם כל הפורטים וגם ראוטר All-Inclusive
בתוך חבילה אחת. אז זה סוויץ' ל-R3, ככה מסמנים אותו, וזה סוויץ' רגיל שבפנים אין לו ראוטינג. הוא יודע להיות סוויץ' רגיל או יודע לתקשר גם ברשת, אבל לא יודע לעשות ראוטינג.
הוא יכול לקבל כתובת IP כציוד קצה ולתקשר, וזה רק לצורך ניהול שלו, כדי שאפשר יהיה לנהל אותו מרחוק, או שהוא יוכל לשלוח מידע, נניח לשרת מרוחק כמו שרת סיסלוג, אבל הוא לא יודע לנתב את הפאקטים.
בשביל לדעת לנתב את הפאקטים צריך תוכנת ראוטינג, והתוכנת ראוטינג הזאת מובנית רק בפאקטים ל-R3, בסוויץ' ל-R3, וכאן אנחנו רואים שיש את התוכנה הזאת.
אז זה סתם לידע כללי, בואו נעשה פה מחיקה, מחיקה של הכל, ניקח סוויץ' רגיל, ונחבר לסוויץ' הזה שני מחשבים, אחד, שתיים, בואו נחבר שלושה מחשבים, שלושה מחשבים, ניקח כבל רגיל, ונחבר לאידרנט 0.0, נניח סתם לפה. עכשיו במקום לעשות את זה ידנית,
שיהיה סייע כל אוטומט, נבחר פורט ראשון פנוי ונחבר אליו. יופי, חיברנו שלושה. ניתן להם כתובות IP לכל אחד, 10.0.1, לזה ניתן לו כתובת IP 10.0.2, ולזה ניתן לו כתובת 10.0.3. דרך אגב, אני יכול פה, בקונפיג, ברמת האידרנט לקבוע מה יהיה המאק שלו.
זאת אומרת לכל כרטיס במחשב אני יכול לזייף לו מאקים גם במחשב האמיתי ולא רק בסימולטור של פקט טרייזר. אפשר לזייף מאקים, יש מלא תוכנות שיודעות להחליף מאק.
זאת אומרת יש כתובת מאק שצרובה בכרטיס הפיזי ואפשר להגיד לו אל תשתמש בזה, תשתמש בכתובת אחרת שאני אתן לך. אז זה 10.0.3 פה, זה אמרנו 10.0.2 וזה 10.0.1. עכשיו שימו לב רק חיברנו אותם, עדיין לא שלחנו שום פאקטים אז אם אנחנו ניכנס למצב של Enabled ונעשה show mac address table אפשר לכתוב ככה ואפשר דרך אגב לכתוב
mac revach address table יש לו שתי פקודות גם mac מכף וגם mac בלי מכף תדעו ששתיים נותנות אותו תוצאה איזה מקים הוא מכיר ברשת הוא לא מכיר אף מק כי אף אחד לא שלח שום פאקט במציאות Windows שולח פאקטים איך שהוא נדלק אז הוא היה כבר לומד בינתיים הסוויץ' הזה לא יודע אף מאק וגם המחשב עדיין לא שלח שום פאקט,
אז הוא לא מכיר אף מאק של כל השכנים שלו, הוא לא מכיר. הם כאילו עוד לא מכירים. ויש לנו מצב של סימוליישן, זה אומר כל פאקט נשלח לאט-לאט ואנחנו רואים פאקטים בנפרד.
זה במקום להפעיל ווייר שארק, במקום להפעיל סניפר, אני עובר למצב סימוליישן כי אני בתוכנת סימולציה, זה לא מערכת הפעלה אמיתית, אבל זה מאוד מאוד דומה.
ואני אומר למחשב הזה, תעשה פינג לכתובת 10.0.0.2. הוא 10.0.0.1, בואו נבדוק שהוא באמת 10.0.0.1, ותעשה פינג ל-10.0.0.2.
עכשיו אני לוחץ Enter, ושימו לב מה קרה. מה שקרה, שנוצרו לו שני פאקטים, אחד של פינג ואחד של ארפ. למה פינג? כי הוא רוצה לעשות פינג, ביקשנו ממנו פינג, אבל הוא לא יכול לבנות את הפאקט של הפינג, כי אין לו ב-Layer 2 את הכתובת של היעד, הוא לא יודע לאיזה יד, לאיזה מאק לשלוח, אז לפני שהוא ישלח את הכתובת בשביל למלא את השכבה הזאת, הוא מייצר פאקט עזר בפרוטוקול ארפ,
שהוא מיועד ל-FFF, זה אומר לכולם, והוא שואל למי יש, לאיזה מאק יש את ה-IP-1002, באיזה מחשב מוגדר 1002, וזה ברודקאסט שמיועד לכולם.
וכאן אנחנו נוכל לראות שפאקט נוסע של הארפ, ושימו לב מה קורה עכשיו, הוא עובר לכולם חוץ מהמקור שהוא הגיע אליו. זה נקרא Broadcast, זה נקרא הצפה. הצפה זה מצב שהוא מציף את זה לכולם, ורק מחשב אחד מחזיר לו תשובה, ואחרי שהמחשב השני החזיר לו תשובה, השלישי התעלם מהפאקט כי הוא רואה שזה לא שלו.
עכשיו הוא מתחיל לשלוח, אחרי שהוא קיבל את התשובה, את הפאקט המקורי של PING של ה-ICMP, ושימו לב, הוא שולח אותו למחשב ספציפי ולא לכולם.
למה הוא שלח אותו למחשב ספציפי ולא לכולם? כי יש לו כבר את הטבלה, שימו לב, הטבלה שלו כבר התמלאה בשניהם, בשני המאקים. אז עכשיו הוא מכיר את שניהם.
דבר אחד שלא הראתי לכם, בואו נעשה קליר, מאק, מאק אדרס טייבל, עשיתי קליר מאק אדרס טייבל, כרגע זה ריק. שימו לב, ברגע שהטבלה ריקה, שימו לב מה הוא יעשה עם הפאקט עכשיו כשניקיתי לו את הטבלה, הוא לא יודע מה לעשות, הוא שולח עוד פעם לכולם, ראיתם? פתאום הוא שלח לכולם.
זאת אומרת, ברגע שהטבלת ה-ARP שלו ריקה של הסוויץ', הוא שולח פאקט לכולם, מאוד מאוד פשוט, וזה נקרא הצפה. עכשיו, מה יקרה אם המחשב, הנה, אתם רואים, עוד פעם הוא שלח לכולם.
עכשיו, מה יקרה? הנה, תראו מה יקרה. עכשיו, כשהטבלת המאקים שלו מתמלה, בואו נראה מה הטבלת המאקים שלו התמלה, אז הוא שולח את זה רק לאחד.
אבל בואו נעשה עוד פעם, נעשה איפוס של הכל. אתם רואים עשיתי לו power כאילו חיביתי לו חשמל הדלקתי נעשה את כל הניסוי הזה מההתחלה עכשיו הוא יעלה בוא נעביר אותו לreal time שיעלה מהר נעביר לו את הזמן צ'ילצ'אק נחזור לסימוליישן יופי עכשיו הכל ירוק הכל תקין אנחנו שולחים פקודה ראשונה לפני שאני שולח את הפקודה הראשונה אני רוצה להראות לכם ש-show mac address table ריק אתם רואים טבלה ריקה
אני חוזר חזרה למחשב הראשון שולח פינג פה למחשב השני שלחתי פינג הוא מייצר שני פקטים שימו לב כרגע הטבלה ריקה אף אחד עדיין לא שלח כלום הפקט נמצא בסטנד ביי וברגע שהפקט נמצא בסטנד ביי ואני עושה לו פליי איך שהוא הגיע שימו לב באותה שנייה שהוא הגיע הסוויץ' ישר למד את המאק שממנו זה הגיע הוא אומר בפורט 03 מכאן מלמעלה הגיע פקט עם הסורס הזה שימו לב עכשיו
הגיע אחד חזרה איך שהגיע אחד חזרה הוא למד גם את הנוסף אז זאת אומרת, אנחנו רואים שהסוויץ' ממש לומד בשלבים לפי הפאקט שמגיע, לפי ה-source, מי השולח, לפי הכתובת של השולח.
ברגע שהוא למד ומבין מי שהלך למי, הוא מעביר רק אחד לשני. שימו לב, עכשיו ההודעות יגיעו בדיוק למי שצריך. שום דבר לא ילך למחשב התחתון הזה.
אתם רואים? עכשיו ההודעות הולכות בדיוק לאן שצריך. תסתכלו, זה פינג, הוא ממשיך לעשות כל הזמן פינגים. עושה איזה ארבע פינגים ברצף.
הנה הוא מייצר עכשיו פינק חדש בצבע לא יודע מה סגול ואתם רואים שהוא יגיע אך ורק למחשב הזה הוא לא ילך לשום מחשב אחר למה כי סוויץ' מכיר את כולם. עכשיו שימו לב מה יקרה אם אני אעשה לו clear אני אנקל לו את הטבלת mac address ברגע שאני מנקל לו את הטבלה סוויץ' לא יודע מה לעשות כי כבר אין לו את הטבלה ואז ברגע שאין לו את הטבלה תסתכלו מה יקרה עכשיו בפינק
הבא טוב זה לא קשור זה פרוטוקול אחר אתם רואים זה פרוטוקול של sdp זה פרוטוקול בין הסוויצ'ים. הוא בודק אם יש אולי איזשהו סוויץ' אחר שמחובר פה באזור, זה לא רלוונטי עכשיו.
אבל הנה הפאקט הבא, אנחנו יכולים לראות פה למטה בסימולטור שיש לנו ICMP הבא. ומה יקרה עכשיו? עכשיו תסתכלו מה יקרה.
הופה, הוא שם את זה לשניהם. זאת אומרת, הוא שולח לכולם חוץ מהמקור שזה הגיע. למה? כי הוא לא ידע איפה נמצא המאק, כי טבלת המאקים הייתה ריקה, ועכשיו כשהיא מלאה הוא שולח רק לאן שצריך.
ואני חושב שהבנתם את זה. עכשיו, מה הבעיה? בואו נגיע לבעיה תכלס. קודם כל, רציתי להראות לכם שברגע שהוא לא יודע מאיפה נמצא מאק כלשהו, אז הוא מעביר את זה לכל הפורטים.
ותחשבו שפה יתיישב האקר שרוצה לקבל את כל התעבורה, פותח סניפר, הבעיה שהסוויץ' לא מעביר אליו פאקטים שלא קשורים אליו.
אז האקר שיושב פה, פה יושב האקר, הוא התחבר, הוא רוצה לגרום לסוויץ' להעביר את כל הפאקטים אליו. נראה עוד תכונה שיכולה להיות בסוויץ'. שימו לב, אני לוקח פה, מחבר סוויץ' לסוויץ' עם כבל מיוחד כזה, נקרא Cross-Over, שזה כבל מוצלב, ופה אני מחבר, נניח כמה מחשבים.
איפה המחשבים שלנו? הנה המחשבים שלנו. נניח שזה קומה אחת וזה קומה שנייה, ואני מעביר פה כמה מחשבים. אז הנה, שמתי פה כמה מחשבים, הם כולם נמצאים באותה הרשת, ונגדיר להם כתובות אחרות, זה לא באמת משנה לנו מה הכתובות שלהם, אבל בואו נגדיר, כי כדי שיהיה לנו מ"כים
10.0.0.10 זה הראשון, זה 11, יופי, זה 12, אני עושה איזה זריז, וזה 13. עכשיו, מה קורה מבחינתו של הסוויץ' הראשון, המקורי?
זה הסוויץ' האחד הזה, זה המקורי. מבחינתו, ברשת 4, מה קורה? תסתכלו, עד עכשיו יש לו מאחורי כל פורט מ"כ אחד, קורא כל פורט מאק אחד, אבל מה יקרה לו פה?
בואו נעשה בדיקה, נעשה פה פינג 10.0.0.1 יופי, נעתיק את הפקודה הזאת, נעשה אותה בכל המחשבים ואני רוצה להסביר לכם איך הולכת התקיפה ומה זה הצפה.
אנחנו הולכים לדסקטופ ועושים פינג,