PracticU

עצירת Netbios דרך GPO Script

בלי כתוביותעם כתוביות
PracticU › קורס פריצה ומבדקי חדירה לתשתית ארגונית - בדיקות חוסן מתקדמות ל-Active Directory - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › עצירת Netbios דרך GPO Script
מילון מושגים:
NetBIOS - ממשק ותיק שמאפשר למחשבים ברשת מקומית לזהות זה את זה לפי שם ולתקשר.
GPO - אובייקט מדיניות קבוצתית ב-Active Directory, שמכיל הגדרות ומדיניות המוחלות על משתמשים ומחשבים.
פרוטוקול - מערכת כללים מוסכמת שקובעת כיצד מכשירים או תוכנות מתקשרים ומחליפים מידע, למשל HTTP או TCP.
Group Policy - מנגנון ב-Active Directory להחלת הגדרות ומדיניות אבטחה באופן מרכזי על משתמשים ומחשבים בדומיין.
שרת DNS - שרת שמתרגם שמות מתחם קריאים, כמו example.com, לכתובות IP שהמחשבים משתמשים בהן.
Active Directory - שירות מדריך של מיקרוסופט לניהול מרכזי של משתמשים, מחשבים והרשאות ברשת ארגונית מבוססת דומיין.
דיבאג - תהליך של איתור, הבנה ותיקון תקלות בקוד, לעיתים בעזרת כלי שמאפשר לעצור ולעקוב אחר ריצת התוכנית.
רג'יסטרי - מסד נתונים מרכזי ב-Windows ששומר הגדרות של מערכת ההפעלה ושל תוכנות מותקנות.

עצירת Netbios דרך GPO Script
ההרצאה מראה איך מכבים בצורה מרוכזת את NetBIOS, פרוטוקול השמות שמשדר ברשת, באמצעות סקריפט הפעלה שנשלח דרך Group Policy. היא גם מסבירה למה פרוטוקולי צעקה אחרים כמו LLMNR ו-mDNS מסוכנים באותה מידה.
למה זה חשוב
1. צעקות ברשת: כשה-DNS לא מכיר שם, המחשב שואל את הרשת כולה בפרוטוקולים כאלה. תוקף שמאזין על הרשת יכול לענות ולקבל ממנו אימות.
2. ארגון עם DNS מרכזי: בארגון שיש בו שרת DNS ו-Active Directory, השאילתות האלה אינן נחוצות, כי שם שלא קיים בשרת פשוט לא קיים.
הגדרה דרך GPO
1. יצירת מדיניות: יוצרים GPO חדש ומקשרים אותו לדומיין.
2. Group Policy Client: כל מחשב בדומיין מושך את המדיניות מהבקר ומיישם אותה במחשב עצמו.
3. אין הגדרה ישירה: בממשק מדיניות הקבוצה אין הגדרה לכיבוי NetBIOS, ולכן משתמשים בסקריפט הפעלה.
הסקריפט
1. מציאת כרטיסי רשת: הסקריפט בודק את כרטיסי הרשת ומתעלם מאלה שאין להם כתובת IP, כמו כרטיסים וירטואליים לצורכי דיבאג.
2. כיבוי: לכל כרטיס פעיל מגדירים את NetBIOS למצב Disabled.
3. הפעלה בהדלקת המחשב: הסקריפט מוגדר כסקריפט הפעלה של המחשב, כך שהוא רץ בכל הדלקה.
4. בדיקה: בממשק הגרפי של כרטיס הרשת רואים שהאפשרות כבויה, כי כל הממשקים קוראים מאותה הגדרה ברג'יסטרי.
בסיכום, כיבוי NetBIOS דרך מדיניות מרוכזת מונע ממחשבים לשדר שמות שלא קיימים ב-DNS.
השיעור הבא בקורס: עצירת LLMNR & mDNS עם GPO

פרקי ההרצאה: עצירת Netbios דרך GPO Script

  1. 00:00

    הסכנה שבצעקות ברשת

  2. 01:11

    איך נוצרת צעקה ברשת

  3. 02:08

    ניהול מרכזי דרך Group Policy

  4. 03:28

    היעדר הגדרה מוכנה ל-NetBIOS

  5. 04:22

    כתיבת Startup Script

  6. 05:35

    איתור כרטיסי רשת עם WMI

  7. 07:05

    שמירת האובייקטים במשתנה

  8. 07:58

    כיבוי NetBIOS בלולאה

תמלול ההרצאה: עצירת Netbios דרך GPO Script

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

  1. 00:02

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

  2. 00:23

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

  3. 00:45

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

  4. 01:10

    זאת אומרת שאם אנחנו עושים פה סטארט ראן, שני סליישים, נניח פייל סרבר בלי מקף במקום עם מקף או עם שני R במקום R1, עשינו איזושהי טעות כתיב תמימה אז מה שקורה ש-DNS לא ידע מה זה השם הזה והמחשב ביצע צעקה ברשת גם ב-LLMNR הוא עשה את זה גם ב-MDNS שזה פרוטוקול של אפו לאותם שכנים ברשת וגם נט ביוס

  5. 01:34

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

  6. 01:57

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

  7. 02:13

    אז בואו נפתח את הכלי של Group Policy, נלחץ פה Tools למעלה, נפתח Group Policy Management. אני אראה לכם דרך קצרה לפתוח את זה בלי כל הקליקים האלו.

  8. 02:24

    לוקחים run וכותבים gpmc.msc זה ראשי תיבות של group policy management console.msc Microsoft console אוקיי אנחנו פה לוחצים כפתור ימני create gpo יוצרים gpo חדש קוראים לו disable netbios והפוליסה החדשה הזאת שחלה על כל הדומיין ועל כל המחשבים בדומיין תהיה מיושמת על ידי כל מחשב בנפרד שימו לב בכל המחשבים windows 10 11 שרתים Windows 7 וגם Windows XP כולם כולם כולם

  9. 02:57

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

  10. 03:15

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

  11. 03:30

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

  12. 03:55

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

  13. 04:12

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

  14. 04:25

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

  15. 04:36

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

  16. 05:02

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

  17. 05:23

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

  18. 05:33

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

  19. 05:56

    וזה איזשהו כרטיס רשת וירטואלי בלי כתובות IP לאיזשהם מטרות של דיבאג בקיצור זה לא מעניין אותי הכרטיס רשת הווירטואלי הזה אני רוצה על כרטיס רשת האמיתי זה שיש לי אותו גם ב-NCPA/CPL אם אתם זוכרים היה לי פה כרטיס רשת אחד וזה כנראה שזה הוא אז קודם כל אני צריך לשדרג את הפקודה שלי ולהוסיף לה פייפ זה זה אומר שאת כל הפלט הזה שאנחנו רואים על

  20. 06:20

    המסך להעביר לפקודה הבאה לביצוע והפקודה הבאה לביצוע תהיה where object אני לוחץ tab והוא משלים לי לבד where object זה אומר שאיפה שהאובייקט ואובייקט זה כל אחד מכרטיסי הרשת האלו זה כל אחד מאלו זה אובייקט וזה מאפיינים שלו ואני צריך אובייקט שיש לו כתובות IP כי רק בכרטיס רשת האמיתי יהיו לנו כתובות

  21. 06:41

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

  22. 07:06

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

  23. 07:30

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

  24. 07:54

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

  25. 08:11

    בואו נראה שזה עבד לנו. ניכנס עוד פעם לכרטיס רשת הזה, נכנס ל-TCPIP, ל-Advanced, ל-Wינס, ונראה שזה עבר להיות Disabled, Disabled Net Bios.

  26. 08:22

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

  27. 08:31

    אז גם הממשק הגרפי קורה מתוך רג'יסטרי, וגם הפקודות של WMI מיושמות לתוך רג'יסטרי, וגם Group Policy מיושם לתוך רג'יסטרי. הכל יושב בתוך רג'יסטרי, וכל התוכנות כותבות וקורות מתוך אותו מאגר הגדרות מרכזי שנקרא רג'יסטרי.

  28. 08:48

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

  29. 08:58

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

לקורס המלא: מבדקי חדירה ל‑Active Directory

ההרצאה הקודמת: הגנה של שרתים בדומיין - נגד NtlmRelayX

ההרצאה הבאה: עצירת LLMNR & mDNS - עם GPO

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

  • Netbios
  • התקנה של SCCM CLIENT דרך GPO
  • עצירת התקפה - SOC
  • לינוקס Script - חלק 1

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

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