PracticU

הסבר על התקפת MiTM6
ועל WPAD

בלי כתוביותעם כתוביות
PracticU › קורס פריצה ומבדקי חדירה לתשתית ארגונית - בדיקות חוסן מתקדמות ל-Active Directory - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › הסבר על התקפת MiTM6 ועל WPAD
מילון מושגים:
מדפסת - התקן פלט שמדפיס על נייר מידע דיגיטלי מהמחשב.
NTLM - פרוטוקול אימות ותיק של מיקרוסופט המבוסס על ערכי האש של סיסמאות, שקדם ל-Kerberos.
אדם בתווך - מתקפה שבה גורם עוין מיירט ואולי משנה את התקשורת בין שני צדדים בלי שהם מודעים לכך.
IPv6 - הדור החדש של פרוטוקול IP, עם מרחב כתובות גדול בהרבה מ-IPv4, שנכתבות בפורמט הקסדצימלי.
IPv4 - הגרסה הרווחת של פרוטוקול IP, שבה כתובת מורכבת מארבעה מספרים בין 0 ל-255.
ipconfig - פקודת Windows שמציגה ומנהלת את הגדרות הרשת של המחשב, כמו כתובת ה-IP ושער ברירת המחדל.
שרת אינטרנט - תוכנה או מחשב שמקבלים בקשות HTTP ומגישים דפי אינטרנט ומשאבים ללקוחות.
LDAP - פרוטוקול לגישה ולשאילתה של שירותי מדריך כמו Active Directory, לאיתור וניהול משתמשים ומשאבים.

הסבר על התקפת MiTM6
ועל WPAD
בשיעור זה אנו מסבירים התקפה מדהימה שמסתיימת בדומיין-אדמין. התוקף יושב בתוך Kali, אינו יודע דבר על הרשת ואינו פורץ אף סיסמה, הוא רק נמצא פיזית באותה רשת, למשל ניתק מדפסת וחיבר במקומה את ה-Kali שלו, ובסוף התהליך יהיה בידו משתמש ב-Active Directory עם שם וסיסמה של דומיין-אדמין, באמצעות התקפת NTLM Relay.
נושאי הסיכום המוצגים בשיעור:
1. שני הכלים בהתקפה: משתמשים ב-MitM6, התקפת Man in the Middle על IPv6, יחד עם NTLMRelayX. ה-MitM6 יבצע שתי פעולות עיקריות, להתחזות לשרת DHCP ב-IPv6 ולהשתלט על ה-DNS של הלקוחות.
2. למה דווקא IPv6: IPv6 דלוק כברירת מחדל בכל המחשבים, ובמאפייני כרטיס הרשת נראה שגם כתובת ה-IP וגם כתובת ה-DNS מתקבלות בו באופן אוטומטי משרת DHCP. אף מנהל רשת אמיתי אינו נוגע ב-IPv6, כל התוכנות עובדות ב-IPv4 ומתעלמות ממנו, ולכן התחזות לשרת DHCP ב-IPv6 בלבד לא תשבש דבר ותעבור בלי שמישהו יבחין.
3. DNS Takeover: לפני ההתקפה, ב-ipconfig מופיעים רק שרתי DNS של IPv4. לאחר ההתקפה מופיע מעליהם שרת DNS של IPv6 בעדיפות גבוהה יותר, והתוקף, שהוא שרת ה-DHCP ב-IPv6, מגדיר את עצמו גם כשרת DNS ומקבל ראשון את כל השאילתות. השתלטות על ה-DNS של הלקוח היא המטרה הראשונה של ההתקפה.
4. מהו WPAD: WPAD הוא פרוטוקול לגילוי אוטומטי של שרת פרוקסי פנים-ארגוני. הרעיון שלו פשוט, מחשב נייד שנודד בין רשתות מקבל בכל רשת באופן אוטומטי כתובת IP ו-DNS מה-DHCP, ובדיוק כך הוא יקבל גם את כתובת הפרוקסי, כדי שהמשתמש לא יצטרך להזין פרוקסי באופן ידני בכל רשת חדשה.
5. הגדרות הפרוקסי ב-Windows: בהגדרות המחשב, בחיפוש פרוקסי, מוצגות הגדרות פרוקסי ברמת המחשב כולו, שבעבר היו בתוך הדפדפן. מי שמשתמש בהן הוא בעיקר הדפדפן או אפליקציות שיודעות לנצל פרוקסי, שדרכו יוצאים לאינטרנט. מוסבר שפרוקסי הוא בעצם שער יציאה לאינטרנט, כמו default gateway אך רק לתעבורת HTTP.
6. זיהוי אוטומטי מול הגדרה ידנית: קיימת אפשרות להגדיר באופן ידני בדיוק איפה נמצא קובץ ההגדרות של הפרוקסי, או לציין ישירות כתובת ופורט של פרוקסי ורשימת כתובות שעוקפות את הפרוקסי. אבל ההגדרה הידנית בעייתית למחשבים ניידים, כי היא נשארת תקועה בהגדרות והאינטרנט מפסיק לעבוד ברשת אחרת. לכן ההגדרה הידנית כבויה, ומה שמופעל כברירת מחדל הוא automatically detect settings, שהוא בדיוק פרוטוקול ה-WPAD.
7. שירות ה-WinHttpAutoProxySvc: מאחורי הקלעים, WPAD הוא שירות שרץ ברקע בשם Web Proxy Auto Discover Service, שאינו שונה מההתקנה ופעיל כברירת מחדל. דפדפנים יכולים להשתמש בשירות הזה של ה-Windows, או לנהל בעצמם את נושא הפרוקסי, כמו Firefox שיש לו הגדרות פרוקסי ברמת הדפדפן.
8. קובץ ה-PAC: התוצר של תהליך ה-WPAD הוא קובץ PAC, קובץ Proxy Auto Config. זהו קובץ טקסט פשוט שבתוכו פונקציה שחייבת לשאת שם קבוע, כיוון שהדפדפן מחפש בדיוק את השם הזה. הפונקציה, שנכתבת ב-JavaScript, מחזירה לדפדפן לאיזה פרוקסי ללכת, למשל כתובת שרת פרוקסי ופורט, עם אפשרות Direct כגיבוי אם השרת אינו זמין.
9. הלוגיקה בתוך קובץ ה-PAC: הפונקציה יכולה להיות מתוחכמת, למשל לבדוק ב-if האם הגלישה מכוונת לדומיין מסוים ואז להעביר ישירות ל-default gateway בלי פרוקסי, או לבדוק האם הכתובת שנחפשת נמצאת בטווח IP מסוים עם subnet מסוים, ורק אז להעביר דרך הפרוקסי הפנים-ארגוני בפורט מסוים. הפרוקסי עצמו יכול לדרוש עימות ולוודא שהמשתמש מורשה לצאת החוצה, וזה בדיוק המקום שהתוקף מנצל, את העימות שהלקוח הלגיטימי מבצע מול הפרוקסי המזויף.
10. איך הדפדפן מוצא את הקובץ: את קובץ ה-PAC שמים בשרת ווב. כדי להגיע אליו, הפרוטוקול WPAD מנסה קודם דרך DHCP להפיץ את כתובת הקובץ, אך ב-DHCP של IPv6 האפשרות הזאת אינה קיימת ובפועל אף אחד לא משתמש ב-DHCP להפצת הפרוקסי. לכן הדרך האמיתית היא דרך ה-DNS, ואנו שולטים ב-DNS.
11. שמות הקבע: כשהדפדפן נפתח, הוא שואל את ה-DNS איפה נמצא השרת בשם wpad עם הדומיין, מנסה ומקצר את הדומיין בכל פעם אם לא מוצא, ומקבל תשובה. אחר כך הוא פונה בבקשת HTTP אל השרת שקיבל ומבקש את הקובץ בשם wpad.dat. שימו לב, הכל קורה בפרוטוקול HTTP, שם השרת חייב להיות wpad ושם הקובץ חייב להיות wpad.dat, פעמיים המילה WPAD חייבת להופיע, פעם בשם השרת ופעם בשם הקובץ, ואי אפשר להחליף אותם. פעם הקובץ נקרא proxy.pac והיום wpad.dat, אבל מאחורי הקלעים זה בדיוק אותו קובץ.
12. העימות שהופך להתקפה: אחרי שהדפדפן מוריד את הקובץ ומגלה בתוכו מי הפרוקסי של הרשת, הוא פונה אליו. הפרוקסי שלנו, שאנו שולטים בו, דורש עימות, דבר לגיטימי לחלוטין, ואת העימות הזה אנו מגלגלים הלאה אל שרת ה-DC, כך שהלקוח האמיתי יעבור עימות כביכול מול שרת פרוקסי, ובפועל יעבור עימות מול הדומיין קונטרולר בלי שהוא מודע לכך, והתוקף יגלגל את הבקשות.
13. היעד הסופי, LDAP: השפה שאליה מגלגלים היא LDAP, תקן פתוח ותקן תעשייה לגישה ותחזוקה של שירותי ספרייה, כלומר Active Directory. דרך LDAP בפורט הרגיל או ב-LDAPS, LDAP עם SSL מוצפן, אפשר ליצור אובייקטים חדשים כמו משתמש חדש ב-Active Directory ואפילו לצרף אותו לקבוצת Domain Admins, וכל הניהול של Active Directory אפשרי דרך LDAP. חשוב לציין שלפעולות כאלה נדרש בפועל LDAPS. אם משתמש אינו נודד בין רשתות, אפשר תיאורטית לוותר על הגילוי האוטומטי ולהגדיר ידנית, אך ברירת המחדל היא ש-WPAD מופעל, וזה מה שהתוקף מנצל.
סיכמנו את המושגים שמאחורי ההתקפה, מהו MitM6 על IPv6, איך מתבצע DNS Takeover, מהו פרוקסי ומהן הגדרותיו ב-Windows, מהו פרוטוקול WPAD וקובץ ה-PAC ואיך הדפדפן מאתר אותם, ואיך כל זה מתחבר לגלגול עימותים אל LDAP ואל יצירת דומיין-אדמין. בשיעור הבא נעסוק בנושא התקפת MiTM6 & NtlmRelayX
חלק 1 - התקנת CA. זה הכל, תודה רבה.
בשיעור הבא נעסוק בנושא התקפת MiTM6 & NtlmRelayX
חלק 1 - התקנת CA.
SR12967HE

פרקי ההרצאה: הסבר על התקפת MiTM6 ועל WPAD

  1. 00:00

    הרעיון של ההתקפה

  2. 01:00

    שרת DHCP ב-IPv6

  3. 02:13

    השתלטות על שרת ה-DNS

  4. 02:54

    הכרת פרוטוקול WPAD

  5. 04:03

    הגדרות הפרוקסי במחשב

  6. 05:16

    הגדרה ידנית מול אוטומטית

  7. 06:33

    הסיבות לשימוש ב-WPAD

  8. 08:26

    תכנון המתקפה כולה

תמלול ההרצאה: הסבר על התקפת MiTM6 ועל WPAD

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

  1. 00:02

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

  2. 00:31

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

  3. 00:48

    איך ההתקפה הזאת תעבוד? קודם כל אני אשתמש בשני כלים Man in the Middle על IPv6 ו-NTLM Relay X. אין אין דה מידל v6 למעשה יעשה לי שני דברים הוא גם יהיה dhcp הוא יגיד לכל השכנים אני שרת dhcp בv6 וזה טוב כי זה לא יפריע לv4 הרי כולם עובדים בipv4 לאף אחד לא אכפת מipv6 אף אחד לא נוגע בו אף אחד לא משתמש בו בתוך הארגון אז אני כאקר

  4. 01:18

    מנצל את העובדה שהוא דלוק בכל התחנות בואו ניכנס לפייל סרבר לדוגמה נלחץ כפתור ימני על התחל נבחר Network Connections שזה כרטיסי רשת הוא פותח לי את ה-Control Panel החדש זה נקרא Settings פה למעלה ואני מחפש Change Adapter Options וזה פותח לי את ה-NCPA-CPL הישן אני עושה

  5. 01:42

    Properties אנחנו רואים כאן במאפיינים של כרטיס רשת שה-IPv6 דלוג כברירת מחדל בכל המחשבים וב-Properties שלו במאפיינים שלו כתוב שכתובת IP הוא מקבל באופן אוטומטי וגם כתובת DNS הוא מקבל באופן אוטומטי.

  6. 01:58

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

  7. 02:15

    לפני שאנחנו מתחילים את המתקפה, אתם יכולים לעשות CMD ובתוך ה-CMD IP config/all ולראות כרגע שיש לו רק dns v4. ברגע שאני אבצע את ההתקפה אתם תראו שפתאום מופיע מעל שני הdnsים האלו dns IPv6 בעדיפות יותר גבוהה ואני כהאקר אקבל ראשון שאילתות dns ולמעשה אני אשתלט על dns של הלקוח זה נקרא dns takeover זאת המטרה שלי למה כל כך חשוב לי

  8. 02:46

    להיות שרת dns כי ברגע שאני שרת DNS אני יכול לשלוח לו רשומת WPAD לא נכונה. מה זה רשומת WPAD? זאת הפניה לשרת פרוקסי.

  9. 02:58

    למעשה WPAD זה פרוטוקול שנועד לעשות auto-discovery, גילוי אוטומטי על ידי התחנות והשרתים של פרוקסי פנים-ארגוני.

  10. 03:09

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

  11. 03:22

    אני למעשה גם שולט על DHCP ועל DNS ב-IPv6. ב-IPv6 יש לו עדיפות מעל ה-IPv4. אז למעשה אני אשלח את הקליינט הזה לפרוקסי שלי, לפרוקסי שאני שולט עליו.

  12. 03:35

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

  13. 03:55

    אז WPAD זה פרוטוקול לגילוי אוטומטי של שרתי פרוקסי פנים-ארגוניים, והמטרה שלו מאוד פשוטה, שלפטופ שמגיע לאיזושהי רשת, ופעם הוא יכול להגיע לרשת א', פעם הבאה אותו לפטופ מגיע לרשת ב', כמו שהוא מקבל כתובת IP באוטומט וכמו שהוא מקבל כתובת DNS באוטומט מ-DHCP, ככה גם שיקבל כתובת של הפרוקסי, כדי שהלקוח לא יצטרך

  14. 04:23

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

  15. 04:39

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

  16. 04:49

    מה זה פרוקסי? דרכו עוברים לאינטרנט. דרכו יוצאים לאינטרנט. כברירת מחדל, יש פה כזה V, או און-אוף כזה, שכותב automatically detect settings.

  17. 05:00

    ה-automatically detect settings זה בדיוק פרוטוקול WPAD. דרך אגב, אני לא חייב להשתמש בהגדרות אוטומטיות, אני יכול באופן ידני להגיד לו בדיוק איפה נמצא קובץ ההגדרות של הפרוקסי.

  18. 05:14

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

  19. 05:29

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

  20. 05:55

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

  21. 06:19

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

  22. 06:41

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

  23. 07:07

    זה שרת פרוקסי בפורט נניח 10.80 אבל אם אתה מחפש 127.0.0.1 אל תלך לשרת פרוקסי תלך ישירות לכתובת כזאת וכזאת פה לרוב נותנים רשת מקומית לדוגמה יש פה אפילו v don't use proxy server for local intranet כאילו לרשת פנים ארגונית אל תשתמש בפרוקסי אבל עוד פעם אל תעשו את ההגדרה

  24. 07:30

    הזאת היא ידנית כי היום מחשבים הם מחשבים ניידים בגלל זה ההגדרה הידנית הזאת היא כבויה ומה שמופעל זה WPAD ה-WPAD מאחורי הקלעים זה סרוויס שרץ ברקע Web Proxy Auto Discover Service לא שיניתי כלום בשרת הזה מרגע ההתקנה הכל כאן ברירת מחדל וכברירת מחדל הוא מופעל וכברירת מחדל

  25. 07:53

    הווינדוס מחפש את ה-Proxy האוטומטי דרך WPAD ה-WPAD הזה הפרוטוקול הזה מופעל על ידי הסרוויס הזה ואני אשתלט על הכל כי אני אהיה זה ששולט על גם DHCP וגם על DNS. עכשיו זה נורא פשוט להתחזות לשרת DHCP כי מנהלי רשת האמיתיים לא נוגעים ב-IPv6 אז הם לא ירגישו שיש להם מתחרה על הקו ואני כמתחרה שלהם לא אדפוק להם שום דבר כי IPv6 עובד במקביל ל-IPv4 וכל התוכנות שמשתמשות ב-IPv4

  26. 08:26

    פשוט מתעלמות מ-IPv6 ואני ב-IPv6 למעשה אגדיר רק שרת DNS ללקוחות, והלקוחות האלו יקבלו את שרת ה-DNS שלי פה למעלה ב-IPconfig/all נראה אותו.

  27. 08:40

    הדפדפן יחפש הגדרת פרוקסי. דרך מה? דרך DHCP או DNS שבשניהם אני שולט. ואני אשלח אותו אל עצמי לקבל את קובץ ה-PAC. מה זה PAC?

  28. 08:52

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

  29. 09:19

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

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

ההרצאה הקודמת: התקפת NTLMRelayX - בשילוב עם MSFvenom

ההרצאה הבאה: התקפת MiTM6 & NtlmRelayX - חלק 1 - התקנת CA

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

  • הסבר של async ועל await
  • הסבר על Regions ועל AZ ב-AWS
  • הסבר על UID ועל GID
  • הסבר על Chef ועל Puppet

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

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