
הטקסט המלא של הדקות הראשונות בהרצאה «הסבר על התקפת MiTM6 ועל WPAD» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בהרצאה הזו אנחנו רוצים לדבר על התקפה מדהימה שנותנת לי דומיין אדמין בסוף כאשר אני בתוך קאלי לא יודע כלום על הרשת אני חייב להיות פיזית באותה הרשת ובסוף התהליך יהיה לי יוזר באקטיב דירקטורי עם שם וסיסמה של דומיין האדמין בלי לפרוץ אף סיסמה, אני אבצע למעשה ntlm relay attack ואני אקבל דומיין אדמין אבל שימו לב שוב, אני נמצא באותה הרשת פיזית
נניח ניתקתי איזושהי מדפסת וחיברתי במקומה את הקאלי שלי. בקיצור, אני לא יודע אף סיסמה ברשת, אני לא פורץ אף סיסמה ברשת, אני רק נמצא באותה רשת פיזית, ועל ידי NTLM ריליי עתק אני אגיע למצב של דומיין אדמין.
איך ההתקפה הזאת תעבוד? קודם כל אני אשתמש בשני כלים Man in the Middle על IPv6 ו-NTLM Relay X. אין אין דה מידל v6 למעשה יעשה לי שני דברים הוא גם יהיה dhcp הוא יגיד לכל השכנים אני שרת dhcp בv6 וזה טוב כי זה לא יפריע לv4 הרי כולם עובדים בipv4 לאף אחד לא אכפת מipv6 אף אחד לא נוגע בו אף אחד לא משתמש בו בתוך הארגון אז אני כאקר
מנצל את העובדה שהוא דלוק בכל התחנות בואו ניכנס לפייל סרבר לדוגמה נלחץ כפתור ימני על התחל נבחר Network Connections שזה כרטיסי רשת הוא פותח לי את ה-Control Panel החדש זה נקרא Settings פה למעלה ואני מחפש Change Adapter Options וזה פותח לי את ה-NCPA-CPL הישן אני עושה
Properties אנחנו רואים כאן במאפיינים של כרטיס רשת שה-IPv6 דלוג כברירת מחדל בכל המחשבים וב-Properties שלו במאפיינים שלו כתוב שכתובת IP הוא מקבל באופן אוטומטי וגם כתובת DNS הוא מקבל באופן אוטומטי.
וממי הוא מקבל את כתובת ה-DNS באופן אוטומטי? משרת DHCP. ומי זה שרת DHCP? זה אני. אני כאקר הולך להיות שרת DHCP ב-V6 בלבד, ואני גם אגיד לו שאני גם שרת DNS, שיבוא אליי עם כל השאילתות של ה-DNS שלו.
לפני שאנחנו מתחילים את המתקפה, אתם יכולים לעשות CMD ובתוך ה-CMD IP config/all ולראות כרגע שיש לו רק dns v4. ברגע שאני אבצע את ההתקפה אתם תראו שפתאום מופיע מעל שני הdnsים האלו dns IPv6 בעדיפות יותר גבוהה ואני כהאקר אקבל ראשון שאילתות dns ולמעשה אני אשתלט על dns של הלקוח זה נקרא dns takeover זאת המטרה שלי למה כל כך חשוב לי
להיות שרת dns כי ברגע שאני שרת DNS אני יכול לשלוח לו רשומת WPAD לא נכונה. מה זה רשומת WPAD? זאת הפניה לשרת פרוקסי.
למעשה WPAD זה פרוטוקול שנועד לעשות auto-discovery, גילוי אוטומטי על ידי התחנות והשרתים של פרוקסי פנים-ארגוני.
וה-WPAD הזה, הפרוטוקול הזה, שהוא מופעל כברירת מחדל בווינדוס, יחפש אותו ב-DHCP קודם כל. אם DHCP לא יודע מי זה הפרוקסי הפנים-ארגוני, הוא יחפש אותו ב-DNS.
אני למעשה גם שולט על DHCP ועל DNS ב-IPv6. ב-IPv6 יש לו עדיפות מעל ה-IPv4. אז למעשה אני אשלח את הקליינט הזה לפרוקסי שלי, לפרוקסי שאני שולט עליו.
והפרוקסי שאני שולט עליו יבקש ממנו לעבור עימות, והעימות הזה שהוא יעבור, אני אגלגל אותו לשרת DC, כדי שהלקוח האמיתי יעבור עימות כאילו מול שרת פרוקסי שלי, אבל למעשה הוא יעשה בשבילי טובה ויעבור עימות מול DC בלי שהוא מודע לזה.
אז WPAD זה פרוטוקול לגילוי אוטומטי של שרתי פרוקסי פנים-ארגוניים, והמטרה שלו מאוד פשוטה, שלפטופ שמגיע לאיזושהי רשת, ופעם הוא יכול להגיע לרשת א', פעם הבאה אותו לפטופ מגיע לרשת ב', כמו שהוא מקבל כתובת IP באוטומט וכמו שהוא מקבל כתובת DNS באוטומט מ-DHCP, ככה גם שיקבל כתובת של הפרוקסי, כדי שהלקוח לא יצטרך
להזין כתובת פרוקסי באופן ידני בווינדוס. דרך אגב, איפה הפרוקסי הזה בווינדוס? בואו נראה. אם אתם תעשו התחל ותכתבו פרוקסי, אתם תראו בפרוקסי סטינגס, פעם זה היה בתוך דפדפן, עכשיו זה ב-Control Panel הראשי, בסטינגס הראשי של המחשב.
אתם רואים פה הגדרות של פרוקסי ברמת מחשב כולו. אבל האמת שמי שמשתמש בזה זה הדבדפן, או איזושהי אפליקציה שיודעת לנצל את הפרוקסי.
מה זה פרוקסי? דרכו עוברים לאינטרנט. דרכו יוצאים לאינטרנט. כברירת מחדל, יש פה כזה V, או און-אוף כזה, שכותב automatically detect settings.
ה-automatically detect settings זה בדיוק פרוטוקול WPAD. דרך אגב, אני לא חייב להשתמש בהגדרות אוטומטיות, אני יכול באופן ידני להגיד לו בדיוק איפה נמצא קובץ ההגדרות של הפרוקסי.
קובץ ההגדרות הזה נקרא Packfile, עוד מעט אני אראה לכם אותו. אז פרוטוקול WPAD, בסופו של תהליך האוטומטי שלו, צריך להביא לי את קובץ ה-PACK, ששם כבר כתובות הפקודות לדפדפן איפה נמצא הפרוקסי.
WPAD זה למעשה הפרוטוקול, שבה הקליינט ידבר עם השרתים כדי לגלות איפה נמצא קובץ פאק ובתוך קובץ פאק כתוב בדיוק איפה הפרוקסי הפנים-ארגוני שדרכו יוצאים לאינטרנט והפרוקסי הפנים-ארגוני הזה דורש אימות וגם על זה אני שולט כי אני שולט על ה-DHCP אני שולט על ה-DNS ואני גם מתחזה להיות שרת פרוקסי שדורש אימות ואת האימות הזה אני אעביר הלאה
אני פשוט רוצה שתבינו מה קורה ומה זה פרוקסי וכברירת מחדל ה-WPAD הזה עובד יש פה הגדרות ידניות של הפרוקסי פה אני יכול להגיד לו עזוב אותך מקובץ פאק עזוב אותך מהכל פרוקסי נמצא בIP כזה וכזה בפורט כזה וכזה אני אומר פשוט מאוד בצורה חד משמעית למחשב לאן ללכת לטובת הפרוקסי בלי להשתמש בכל הגילוי האוטומטי
אבל מה הבעיה בדבר הזה שאם זה לפטופ אם זה מחשב שיעבור לרשת אחרת הפרוקסי הידני הזה יישאר תקוע כאן בהגדרות והאינטרנט לא יעבוד לו והבן אדם יגיד למה האינטרנט לא עובד לי אז בשביל לא להגדיר את זה ידנית עשו את ה-WPAD האוטומטי שהוא מוריד את הכובד של הסקריפט של הפאק ובתוך הפאק יש את כל
ההגדרות האלו איזה הגדרות? מה ה-IP של הפרוקסי? מה הפורט של הפרוקסי? ואנחנו הולכים ליצור איתכם פרוקסי כזה בהמשך בעצמנו SOX 4, SOX 5 אנחנו נעשה את זה בהמשך אל תדאגו וכאן אני כותב כתובות IP שלא דורשות פרוקסי כדי להגיע אליהם זאת אומרת אני יכול להגיד לו סתם דוגמא 192.168.122.73
זה שרת פרוקסי בפורט נניח 10.80 אבל אם אתה מחפש 127.0.0.1 אל תלך לשרת פרוקסי תלך ישירות לכתובת כזאת וכזאת פה לרוב נותנים רשת מקומית לדוגמה יש פה אפילו v don't use proxy server for local intranet כאילו לרשת פנים ארגונית אל תשתמש בפרוקסי אבל עוד פעם אל תעשו את ההגדרה
הזאת היא ידנית כי היום מחשבים הם מחשבים ניידים בגלל זה ההגדרה הידנית הזאת היא כבויה ומה שמופעל זה WPAD ה-WPAD מאחורי הקלעים זה סרוויס שרץ ברקע Web Proxy Auto Discover Service לא שיניתי כלום בשרת הזה מרגע ההתקנה הכל כאן ברירת מחדל וכברירת מחדל הוא מופעל וכברירת מחדל
הווינדוס מחפש את ה-Proxy האוטומטי דרך WPAD ה-WPAD הזה הפרוטוקול הזה מופעל על ידי הסרוויס הזה ואני אשתלט על הכל כי אני אהיה זה ששולט על גם DHCP וגם על DNS. עכשיו זה נורא פשוט להתחזות לשרת DHCP כי מנהלי רשת האמיתיים לא נוגעים ב-IPv6 אז הם לא ירגישו שיש להם מתחרה על הקו ואני כמתחרה שלהם לא אדפוק להם שום דבר כי IPv6 עובד במקביל ל-IPv4 וכל התוכנות שמשתמשות ב-IPv4
פשוט מתעלמות מ-IPv6 ואני ב-IPv6 למעשה אגדיר רק שרת DNS ללקוחות, והלקוחות האלו יקבלו את שרת ה-DNS שלי פה למעלה ב-IPconfig/all נראה אותו.
הדפדפן יחפש הגדרת פרוקסי. דרך מה? דרך DHCP או DNS שבשניהם אני שולט. ואני אשלח אותו אל עצמי לקבל את קובץ ה-PAC. מה זה PAC?
פרוקסי אוטו קונפיק פייל. קובץ הגדרות של הפרוקסי. בואו נראה איך נראה קובץ ההגדרות הזה של הפרוקסי פרוקסי אוטו קונפיק פייל קובץ פאק בסופו של יום קובץ פאק זה קובץ טקסט פשוט שיש בתוכו פונקציה שחייבת להיות עם השם הזה כי דפדפן מחפש את השם הזה והפונקציה הזאת שכתובה בשפת ג'אווה סקריפט צריכה להחזיר לדפדפן מילת פרוקסי
ודרך איזה שרת אנחנו הולכים נניח השרת תהיה פה פרוקסי נקודה אקזמפל דוט קום כזה וכזה ואם השרת הזה לא עובד נקודה פסיק זה אומר פקודה הבאה לביצוע דיירקט תלך בצורה ישירה יכולה להיות גם דוגמה יותר מסובכת אז הפונקציה הזאת יכולה בפנים לעשות if לבדוק האם בן אדם גולש לאתר שנגמר במילים אקזמפל דוט קום ואם הוא