PracticU

סריקת פורטים - UDP

בלי כתוביותעם כתוביות
PracticU › קורס סייבר למתחילים - Hacking - בדיקות חוסן תשתיתי ופריצה ל-Windows 10/11 - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › סריקת פורטים - UDP
מילון מושגים:
UDP - פרוטוקול תקשורת מהיר ללא אישור קבלה, המתאים לשידורי וידאו, קול ומשחקים שבהם מהירות חשובה מאמינות.
פרוטוקול - מערכת כללים מוסכמת שקובעת כיצד מכשירים או תוכנות מתקשרים ומחליפים מידע, למשל HTTP או TCP.
Wireshark - כלי ללכידה ולניתוח של תעבורת רשת, המציג את החבילות העוברות לצורך אבחון ובדיקה.
TCP - פרוטוקול תקשורת אמין שמוודא שכל חבילות המידע מגיעות ליעד בשלמות ובסדר הנכון.
ARP - פרוטוקול שמתרגם כתובת IP לכתובת ה-MAC של המכשיר המתאים ברשת המקומית.
כתובת IP - מספר שמזהה באופן ייחודי מכשיר ברשת מבוססת פרוטוקול IP, ומאפשר לשלוח אליו ולקבל ממנו מידע.
חומת אש - מערכת שמסננת תעבורת רשת לפי כללים, ומתירה או חוסמת חיבורים כדי להגן על מחשב או רשת.
ראוטר - התקן רשת שמעביר חבילות מידע בין רשתות שונות ובוחר את הנתיב שבו יגיעו ליעדן.

סריקת פורטים - UDP

בשיעור זה אנו לומדים את הקשיים שבסריקת פורטים בפרוטוקול UDP, בעזרת צפייה בתקשורת האמיתית ב-Wireshark. אנו רואים מדוע לעיתים הסריקה מצליחה ולעיתים נכשלת, מבינים את ההבדל המהותי בין TCP ל-UDP מבחינת מעורבות מערכת ההפעלה, ומכירים את שכבת ה-ARP שמאפשרת גילוי מכונות גם כאשר כל הפורטים סגורים.
נושאי הסיכום המוצגים בשיעור:
1. הקמת סביבת הבדיקה: במחשב התוקף מפעילים את Wireshark לתפיסת התקשורת על הכבל, ומסננים מראש כדי לראות רק את התקשורת הרלוונטית ולא את כל החבילות שברשת.
2. הוכחה ש-UDP עובד: לפני הסריקה מוכיחים שהתקשורת ב-UDP פעילה בעזרת שירות שמחלק כתובות IP ברשת המקומית: משחררים את הכתובת שהוקצתה ומבקשים אותה מחדש, ורואים ב-Wireshark שהשירות עונה. כלומר יש תוכנה חיה שמאזינה בפורט ה-UDP המתאים.
3. התוצאה המוזרה של הסריקה: כאשר מבקשים מ-Nmap לסרוק את אותו פורט UDP בו פועל שירות חי ומאומת, מתקבלת תשובה מוזרה: הפורט הוא או פתוח או מסונן, בלי יכולת לקבוע. זאת בניגוד ל-TCP שם מתקבלת תשובה חד משמעית של פתוח או סגור.
4. הסיבה: חבילה לא תקנית מקבלת שתיקה: ב-Wireshark רואים שנשלחו חבילות אל הפורט ולא התקבלה שום תשובה. ב-UDP חייבים לבנות את החבילה בצורה תקנית לפי השפה של האפליקציה שעומדת מאחורי הפורט, ואם לא בונים אותה כשורה, התוכנה פשוט מתעלמת ולא עונה.
5. ההשוואה לפורט 53: באותו פרוטוקול UDP, כאשר מתשאלים את פורט שרת השמות, Nmap יודע לדבר בשפת ה-DNS ולבנות חבילה תקנית, ולכן השרת עונה מיד והסריקה מחזירה תשובה חד משמעית שהפורט פתוח. כלומר ב-UDP הכול תלוי בידיעת השפה של האפליקציה שמאחורי הפורט.
6. מדוע ב-TCP אין בעיה כזאת: ב-TCP קיים תקן של מערכת ההפעלה עצמה: קודם מתקיימת לחיצת יד משולשת מול מערכת ההפעלה, ורק אחר כך עובר מידע בשפת האפליקציה. כיוון שהדיבור הראשוני הוא מול מערכת ההפעלה לפי תקן קבוע, אפשר לסרוק כל פורט TCP בלי לדעת דבר על האפליקציה שמאחוריו.
7. UDP עובר ישירות אל האפליקציה: ב-UDP מערכת ההפעלה אינה מתערבת בתקשורת ומעבירה את החבילה ישירות אל האפליקציה, ולכן כל התשובה תלויה באופן שבו האפליקציה מגיבה. אם שולחים חבילה לא תקנית, אי אפשר לדעת אם לא התקבלה תשובה מפני שהפורט סגור או מפני שלא יודעים לדבר בשפה שלו, ולכן Nmap סורק כברירת מחדל רק TCP, ואפשר לבקש ממנו לסרוק גם TCP וגם UDP, ואז בתוצאות חלק ה-TCP ברור ומדויק וחלק ה-UDP עמום.
8. סריקה בשכבה הנמוכה ביותר, ARP: כאשר כל הפורטים סגורים ואף תוכנה לא עונה, אפשר לרדת לרמת הברזל: פרוטוקול ARP שמתקיים בין כרטיסי רשת עצמם, ברמת הכתובות הפיזיות. אי אפשר לחסום אותו בחומת אש כי הוא נמוך ממנה, ובעזרת מתן שאילתות לכל הרשת אפשר לגלות אילו מכונות קיימות גם כאשר כולן סגורות. המגבלה היא שהשיטה עובדת רק בתוך הרשת המקומית ואינה עוברת נתב, אך היא עדיין עדיפה על כלום.
9. השכבות של התקשורת: השיעור נחתם בהסבר על שכבות התקשורת: השכבה הפיזית של כרטיסי הרשת והכתובות הפיזיות, מעליה שכבת מערכת ההפעלה עם כתובות ה-IP והפורטים, ומעליה שכבת האפליקציות. ב-UDP דוברים ישירות מול האפליקציה, ב-TCP דוברים מול שכבת מערכת ההפעלה שמהווה חלק מהתקשורת, וגם אם מערכת ההפעלה כולה חסומה בחומת אש, עדיין אפשר לדבר בשכבה התחתונה של הכתובות הפיזיות.
בסיום השיעור הבנו מדוע סריקת פורטים ב-UDP אינה חד משמעית: היא תלויה בידיעת השפה של האפליקציה שמאחורי הפורט, בניגוד ל-TCP שבו מערכת ההפעלה עצמה משתתפת בתקשורת לפי תקן קבוע, וראינו כיצד ניתן בכל זאת לגלות מכונות ברשת המקומית בעזרת פרוטוקול ה-ARP שפועל בשכבת הברזל ואינו ניתן לחסימה. תודה רבה, ולהתראות בהרצאה הבאה. SR12371HE

פרקי ההרצאה: סריקת פורטים - UDP

  1. 00:00

    בעיית סריקת פורטים ב-UDP

  2. 00:54

    תשובה לא ודאית של Nmap בפורט 67

  3. 02:26

    תשובה ברורה בפורט DNS 53

  4. 03:44

    ההבדל מ-TCP ולחיצת היד המשולשת

  5. 05:17

    תלות באפליקציה ב-UDP

  6. 06:31

    סריקת TCP ו-UDP יחד

תמלול ההרצאה: סריקת פורטים - UDP

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

  1. 00:02

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

  2. 00:28

    המסך אני רוצה רק פאקטים של DHCP דבר ראשון אני רוצה להראות לכם ש DHCP עובד זה אומר שהוא מחלק כתובות IP נעשה ifconfig נראה שיש לי פה כתובת 128 נעשה dhclient -r נראה שבאמת שחררנו את הכתובת אתם רואים באמת שחררנו את הכתובת IP אין לי אותה כרגע וdhclient בלי -r עוד פעם קיבלנו כתובת

  3. 00:52

    אנחנו ממש רואים שאנחנו מקבלים ומשחררים כתובת IP והשארת עובד ועונה לי אתם רואים השארת כן עונה לי אז אנחנו רואים שה UDP עובד אבל אם אנחנו רוצים לסרוק את הפורט 67 עם Nmap שזאת תוכנת סריקה הכי טובה והכי פופולרית בשוק אתם תראו משהו מאוד מאוד מוזר אני אומר לו תסרוק לי פורט 67 ב-UDP מול כתובת IP מסוימת תראו הנה הוא פה סורק ונותן לי תשובה מאוד

  4. 01:25

    מאוד מוזרה שפורט 67 ב-UDP או שהוא פתוח או שהוא פילטר מסוננס מה זה השטויות האלה, או שהוא פתוח או שהוא סגור.

  5. 01:35

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

  6. 01:50

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

  7. 02:19

    זאת אם היינו מתשאלים את הפורט 53 שזה שרת DNS היינו מקבלים תשובה שונה למה היינו מקבלים תשובה שונה? זאת אומרת כאן הוא לא יודע בפורט 67 הוא לא יודע אם הוא פתוח או סגור אבל בפורט 53 שהוא גם UDP שימו לב הוא גם UDP ואני שואל את גוגל האם פורט 53 פתוח הוא אומר לי 53 פתוח למה 53 פתוח ו-67 או שהוא פתוח או שהוא סגור למה

  8. 02:48

    פה אי אפשר לקבוע וכאן כן אפשר לקבוע וההבדל הוא שבפורט 53 הוא יודע ב-DNSית לבנות פאקט כמו שצריך.

  9. 02:59

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

  10. 03:19

    אם אתה יודע לדבר בשפת ה-DNS נניח ב-UDP בפורט 53 בצורה תקינה אז יענו לך ואם אתה לא יודע לדבר בצורה תקינה ב UDP 67 שזה שפה DHCP לא יענו לך וזאת בדיוק כל הבעיה שב UDP בסריקה חייבים לדבר בצורה תקנית בצורה של אפליקציה שעומדת מאחורי הפורט חייבים לדעת בדיוק מה אפליקציה רוצה מאחורי הפורט עכשיו תשאלו אותי למה ב-TCP לא הייתה לנו בעיה הזאת למה ב-TCP פורט נניח פורט 80 לא נתקלנו

  11. 03:53

    בבעיה כזאת והתשובה היא שב-tcp בפורט 80 יש לנו תקן של מערכת ההפעלה אנחנו לא תלויים באפליקציה זאת אומרת שאם אנחנו באים לגלוש לאן שהוא נניח לאתר אינטרנט 192.168.147 יש פה הרבה פאקטים בואו נסנן קצת כמה פאקטים נלחץ פה על 147 apply filter end selected אני מוסיף את ה-port end שיהיה גם port 80 וגם IP address 147, גם שיסתנן לפי port וגם לפי IP. ואני רואה

  12. 04:25

    פה שלפני שהתחלנו להעביר את המידע ב-HTTP התקין ברמת האפליקציה, לפני כן פתחנו סשן מול מערכת ההפעלה, זה נקרא לחיצת יד משולשת של TCP, SIN, SIN-ACK ו-ACK.

  13. 04:41

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

  14. 05:03

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

  15. 05:13

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

  16. 05:27

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

  17. 05:52

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

  18. 06:18

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

  19. 06:29

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

  20. 06:38

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

  21. 07:09

    TCP קודם כל הוא הוא סורק את ה-TCP ואחרי זה הוא סורק את ה-UDP ואז הוא נותן לי פה, שימו לב לאיזה תשובה מעניינת, 1,000 פורטים או שהם פתוחים או שהם סגורים, זה אני לא יודע לקבוע, כנראה שזאת התשובה של UDP ו-996 פורטים סגורים בוודאות וארבע פתוחים, זה TCP.

  22. 07:27

    אז החלק הזה של TCP הוא מאוד מאוד ברור, החלק הזה של UDP עם 1,000 פורטים או שהם סגורים או שהם פתוחים ממש לא ברור. כמובן שב-UDP אם הוא כן יודע לדבר בשפה של תוכנת היעד, כמו ב-DNS, אז הוא כן יכול לתת לי תשובה.

  23. 07:44

    זאת אומרת, אם אני מתשאל אותו בפורט 53, שהוא יודע איך לדבר עם ה-DNS בפורט 53, אז הוא יודע להגיד לי שזה אופן. כן, UDP פורט 53, ראינו את זה, נכון? הנה, הוא שאל אותו, והנה הוא ענה לו. דבר אחרון שאני מראה לכם זה מה עושים אם כל הפורטים סגורים ואף אחד לא עונה לי.

  24. 08:05

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

לקורס המלא: קורס סייבר למתחילים אונליין

ההרצאה הקודמת: סריקת פורטים - TCP

ההרצאה הבאה: סריקת פורטים עם סקריפטים של Nmap NSE - חלק 1

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

  • מספרי פורטים והבדלים בין TCP / UDP
  • מודל TCP/IP - הסבר על UDP
  • פתיחת פורטים במכונה וירטואלית בענן
  • שיטות אחרות לחסימת פורטים בלינוקס

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

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