
הטקסט המלא של הדקות הראשונות בהרצאה «שינוי MTU בתוך TCP/IP» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, ברוכים הבאים להרצאה להתחמקות מפיירוול וממערכות IDS, שזה מערכות זיהוי פולשים, Intrusion Detection System, שזאת מערכת, Intrusion זה פולש, Detection זה זיהוי, מערכת זיהוי פולשים, או מערכות של Intrusion Prevention System, מניעת פלישה.
זה אומר, מנסים לעצור אותנו ולעצור לנו את הפאקטים, איך אנחנו מתחמקים מפיירוולים וממערכות כאלו שאולי המתכנתים שם לא חשבו על משהו ואנחנו על ידי כל מיני טריקים בשכבת ה-IP ו-TCP נצליח להתחמק מזיהוי ולהגיע לפורט היעד שלנו אז יש כל מיני טריקים, חלקם עובדים, חלקם פחות עובדים, חלקם עובדים על
חלק מהפיירוולים, חלקם לא עובדים היום בכלל אבל חשוב שתכיר אותם, חשוב שתנסו אותם ודבר הכי חשוב מכל הסיפור הזה שאתם תשלטו ב-TCP IP ברמת הביט והבייט.
אז נתחיל מהטריק הראשון שזה להקטין את ה-MTU. מה זה MTU? זה גודל הפאקט בשכבת ה-IP. אנחנו בשכבת ה-IP יכולים לחלק פקטה אחת לתתי פקטות, לחלקים קטנים.
למה? תחשבו ששלחנו פקטה בגודל 1500 בייט באינטרנט, פתאום הגענו לאיזשהו VPN צר או לאיזשהו חיבור שלא מסוגל להעביר פקטה אחת של 1500 בייט בשלמותה.
אז מה שקורה, שהראוטר בדרך רשאי לחלק פקטה אחת לחלקים קטנים, לפרגמנטים, והמערכת ההפעלה בצד השני, לפי התקן של TCPIP, אמורה לדעת להרכיב את זה בחזרה.
בשביל מה אנחנו עושים את זה? בשביל להתחמק מגילוי הפורט היעד שלנו. פורט יעד שאנחנו מנסים לגלות אותו כתוב בשכבת ה-TCP שבאחריה שכבת ה-IP אם אנחנו ברמת ה-IP נגיד להקטין את הפקטה אז ה-TCP יחולק לחלקים בוא נראה איך זה עובד באמצעיות נתחיל מזה שנפעיל Wireshark ונראה איך נראית פקטה
רגילה לפני שאנחנו מחלקים אותה לתתי חלקים אני מתחיל תפיסה אז אנחנו עושים פה nmap לפורט 445 ליד 147 שזה המחשב ההוא.
עושים enter מגלים שהפורט פתוח זה נהדר שהפורט פתוח השאלה איך נראית פקטה. בואו נחפש פה את הפקטה שלנו אני אעצור את התפיסה ואני אעשה סינון לפי port tcp port 445 אני רוצה לראות רק את הפורט 445. אז אנחנו רואים פה את הפקטה הראשונה שהמחשב שלי שלח ל-147 בפורט 445 של השיתופים מבקש איתו סין ליצור ערוץ תקשורת בשכבת ה-TCP
המחשב ההוא הפורט 445 שלו עונה לי סינאק אני מסכים ואני במקום לשלוח לו אק סופי וללחוץ ידיים ולסיים את הקמת הערוץ ולהתחיל להעביר מידע פתאום אומר לו ריסט בוא נאפס את הכל עזוב אותך אבל בדקתי שהפורט ענה לי עכשיו מה שמעניין אותי פה שהפאקט הראשון של סין
איך הוא בנוי בוא נסתכל בפנים אנחנו בתוך הפאקט הראשון רואים שיש לנו כל מיני שכבות ושכבת ה-TCP פה כתוב בתוכה שהפורט שלי הוא 445 עכשיו שימו לב מה שמעניין אותי זה ששכבת ה-TCP הזאת היא מגיעה אחרי שכבת ה-IP ויש לה גודל מסוים ולמטה דרך אגב אנחנו רואים את המידע הגולמי שעבר על הכבל
ואנחנו רואים את השכבה של TCP איך היא עברה על הכבל, מה היה כתוב שם? 84EF01 וידענו לפרש אותה בגלל שאנחנו יודעים את התקן של TCP. אז ידענו לפרש לדוגמה שבשכבה הזאת בחלק הזה בדיוק אמור להיות פורט היעד ובחלק הזה אמור להיות פורט מקור.
אז ככה יודעים לפרש את זה אבל על הכבל בסופו של דבר עובר המידע הגולמי בצורה כזאת. לפניו היה חלק של IP ולפניו היה חלק של המאקים. אז אנחנו ממש רואים פה את השכבות: Mac, IP ו-TCP.
ובתוך ה-IP יש לכל פאקט מספור המקורי שאיתו הוא יצא. זה ה-ID, מספר סידורי של הפקטה במערכת ההפעלה המקורית, ו-flag, האם היא מחולקת או לא.
אז אנחנו רואים את המספר של הפקטה, אנחנו רואים שאין חלקים נוספים, ובגלל שכל המידע הגיע לנו לפי התקן, ידענו לפרש אותו ל-TCP ולדעת איזה פורט עונה לנו ולאיזה פורט פנינו.
מצוין, זה המצב הרגיל. בואו נאפס את הכל, נמחק את הפילטר והפעם נעביר לו פרמטר נוסף של תחלק את הפקט המקורי לחלקים לפי 8 בייט. כאילו יש איזה VPN בדרך או איזשהו ראוטר בדרך שלא יודע להעביר את הגודל הזה של המידע שראינו ב-TCP, שזה לפחות 20 בייט,
חלק לחלקים של 8. אז אנחנו כותבים לו את אותה פקודה לבדוק port 445 אבל אם הם תהיו 8 enter עוד פעם אני מקבל תשובה שהפורט פתוח זה אומר שזה עובד אבל בוא נראה מה קרה ברמת הפאקטים מה פיירול היה רואה אם הוא היה מסתכל על זה ואנחנו פה רואים את המילה fragmented שזה מחולק לחלקים וזה מה שמעניין אותי שימו לב הפעם אחרי שכבת הIP אנחנו כבר לא רואים את השכבת של TCP
אנחנו רואים איזשהו מידע שלא יודעים איך לפרש אותו 87, C5, 0, 1, ובסוף זה DD. תזכירו שזה מתחיל ב-87 ונגמר ב-4DDD.
זה פאקט שפיירוול רואה ולא יודע מה זה אומר. הוא אומר, טוב, אני לא יודע מה זה אומר. לא נראה מסוכן, ניתן לזה לעבור. יש פיירוולים שלא ייתנו לזה לעבור. מה קורה בפאקט אחריו?
עוד פעם משהו לא ברור, אבל שימו לב. משהו מאוד מאוד חשוב שפיירוול לא שם לב אליו, אני מקווה שהוא לא שים לב אליו, שבפקטה הזאת יש דגל של פרגמנט, שיש לה תתי חלקים ויש פה מספר סידורי 60, 110. זה מספר הפקטה והיא עם עוד חלקים מגיעה.
שימו לב, פקטה הבאה, עוד פעם אותו מספר וגם לה יש דגל. ובפקטה האחרונה, השלישית שלנו, עוד פעם אותו מספר סידורי ואנחנו מדברים על מספר סידורי שניתן לפקטה הזאת במחשב המקורי.
במחשב המקורי הייתה פקטה אחת לכאורה עם המספר 60,110 וכביכול בדרך היא חולקה למנות. וזאת מנה אחרונה כי אין יותר חלקים, הדגל כבוי.
ועכשיו, אחרי שמערכת ההפעלה של היעד רואה את אותו מספר סידורי, היא יודעת להרכיב את זה חזרה. דרך אגב, איך היא יודעת איזה חלק בא ראשון, איזה שני? לפי האופסט.
זאת אומרת, החלק הזה, האופסט שלו 0. אופסט זה ביחס להתחלה של הפקטה, איפה המיקום. והפקטה האחרונה, היא מוזזת, המידע בה מוזז ביחס להתחלה ב-16 בתים.
זאת אומרת, כל פקטה יש לה את המיקום שלה בבתים. בפקט הראשונה יש לנו את החלק של המידע 87 ונגמר ב-DD.
בפקט השנייה שאני מסתכל עליה יש את ה-0,0,0,60. אתם רואים 4 פעמים 0,60. בואו נראה איזה מידע הגיע בפקט האחרונה. בפקט האחרונה הגיע ה-DC4E.
אתם רואים החלק האחרון אחרי ה-Destination Address? החלק האחרון זה DC4E שנגמר ב-B4. ובואו נראה איך נראה את הפקט הזאת אחרי ההרכבה.
אחרי שאנחנו מרכיבים את הכל ביחד, שלושתם ביחד מקבלים את הדבר הזה 87c5 ובזכות