
הטקסט המלא של הדקות הראשונות בהרצאה «תקיפת שרת קבצים בדומיין עם NtlmRelayX» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בהרצאה הזו אנחנו נראה תקיפה אמיתית של רשת של דומיין קונטרולר 2022 הכי מעודכן עם אנטיווירוס דולק עם סיסמה מורכבת של אדמיניסטרטור שלא ניתן לפרוץ אותה היא לא נמצאת באף מילון התקפה אמיתית שקורית ברשת שהרשת מאובטחת בצורה סבירה עם סיסמאות מורכבות עם אנטיווירוסים דולקים שרתים מעודכנים אבל כל זה לא יעזור
אנחנו על ידי התקפת ntlm relay x נשתלט על הקבצים בפייל סרבר קודם כל אני חייב לבדוק האם אני בכלל מסוגל לבצע את ההתקפה הזאת אם יש חתימה דיגיטלית על הודעות של smb של שיתופים זה לא יעבוד יש סקריפט מיוחד ב-nmap שבודק למי פתוח פורט 445 של שיתופים האם בתוך הפורט הזה חייבים חתימה דיגיטלית או לא אני גם מוסיף מינוס pn כאן כדי לא להיות תלוי בפינג כי אם פינג
כבוי, סגור ב-firewall, ה-Nmap ידלג על כתובת IP הזאת. אני אומר לו לא לדלג על כתובת IP, לעבור כל כתובת IP ולבדוק כל פורט שצריך.
רק במקום להריץ את זה עם כוכבית, וזה ייקח 20 דקות בערך, אני אריץ את זה ישירות מול כתובת IP שאני יודע שהיא כבר קיימת. קודם כל, אני רואה שפורט 88 פתוח בקרברוס, זה אומר שזה דומיין קונטרולר, אבל מה שמעניין אותי זה פורט 445, אני רואה שהוא פתוח, ובתוך ה-445 זה השיתופים, הפרוטוקול של השיתופים,
SMB, דורש חתימה. Signing is enabled and required. ברגע שהחתימה נדרשת, אני לא אוכל לתקוף בשיטת NTLM relay attack, אני לא אוכל להעביר הודעות שמאל לימינה, כי החתימה הדיגיטלית בסוף תסגיר אותי.
אוקיי, בואו ננסה עוד מטרה, עוד קורבן אחד. הפעם אנחנו נבדוק על שרת 133, שזה שרת הקבצים. אני לא שיניתי שום הגדרה מברירת מחדל של מייקרוסופט, ואני רואה שגם כאן פתוח פורט 445 של שיתופים, ובתוך הפורט הזה, SMB, השפה של השיתופים, הפרוטוקול, לא דורש חתימה דיגיטלית.
ברגע שהוא לא דורש חתימה על ההודעות שלו, על ההודעות של SMB, אני יכול לתקוף. דרך אגב, יכולנו גם להשתמש בתוכנת קרקמאפ אקזק, שעושה בדיוק אותו דבר.
אז סיימנו את השלב הראשון של לגלות מי יהיה הקורבן שלנו, והקורבן שלנו הולך להיות שרת 133, שרת הקבצים, בגלל שהוא לא דורש חתימה דיגיטלית על הודעות SMB.
עכשיו צריך להביא את הטראפיק אליי, לתוך קאלי. בשביל זה אנחנו נשתמש בריספונדר. מה עושה ריספונדר? ריספונדר יודע לעשות כמה דברים, אנחנו ניכנס לקובץ ההגדרות שלו, וכאן ב-SMB אנחנו נעביר אותו ל-off, לכבה לו את החלק של השרת שהוא לא יענה לקריאות של smb כי כל התפקיד שלו של הרספונדר הזה
יהיה רק להביא לקוחות אליי אז אחרי שבדקתי ש smb פה באוף דרך אגב ברירת מחדל שהוא באון אני העברתי אותו לאוף אני עושה ctrl x יוצא מכאן ומפעיל את הרספונדר הזה הנה הרספונדר עובד listening for events מחכה לאירועים שיקרו ברשת איזה אירועים יקרו מישהו יצג ברשת מי זה המחשב כזה וכזה בפרוטוקול אלה למנהר פרוטוקול של שכנים ברשת ואז הריספונדר
יענה זה אני יש פה כמה פרוטוקולים כאלו שאפשר לצעוק בהם ברשת נט ביוס ניימס mdns לא משנה באיזה פרוטוקול אתה צועק בסוף הריספונדר הזה שרץ על קאלי שלי יגיד שזה אני אני אני תבוא להתחבר אליי אותי חיפשת דרך אגב זה קורה כשdns לא עונה לאיזושהי שאילתה אז תחנת העבודה מתחילה לחפש את זה דרך שכנים ברשת אולי זה
קיים פשוט הdns לא יודע ואז אני כאקר עונה, כן, כן, זה אני, תבוא אליי. דרך אגב, תשימו לב ש-HTTP פה כן עובד. זאת אומרת, ריספונדר הזה יודע לא רק לענות לשאילתות, אלא גם להיות שרת שמדבר עם הקליינטים.
ב-HTTP, ב-SQLית, להיות שרת SQL, שרת FTP של קבצים. אני רק חיביתי לו את ה-SMB, אמרתי לו, SMB, אתה לא עונה. אתה לא תופס את הפורט של SMB סרבר 445, כי אני רוצה שם תוכנה אחרת.
אני רוצה שמה את ntlm-relay-x למה אני רוצה אותו ולא את הריספונדר כי הריספונדר הזה לא יודע לעשות התקפת ntlm-relay אז נעשה טאב חדש הטאב הקודם יהיה ריספונדר זה הטאב הישן עם הריספונדר וזה הטאב החדש ובטאב החדש הזה ירוץ ntlm-relay-x מתוך אימפקט אפשר להתקין אותו מתוך github ואפשר להשתמש באימפקט שמובנה בקאלי אומר לו מי הטארגט שלי
אני בא לתקוף את שרת הקבצים, את הפייל סרבר. זוכרים, בדקנו שהוא לא חותם דיגיטלית. אני אומר לו לתמוך ב-SMB2 ולא ב-SMB1, ואני אומר לו שברגע שאתה מצליח להתחבר לתוך השרת הקבצים, לתוך הקורבן, תפעיל אינטראקטיב של CMD כזה שאני אוכל לשלוט עליו.
אני עושה Enter, והוא מחכה לתקשורת. תסתכלו מה יודע לעשות NTMA ריליי X הזה. הוא יודע להתחבר ל-SQL, הוא יודע לתקוף שרתי ווב, וכמובן את השיתופים הרגילים כי כל הפרוטוקולים האלו משתמשים ב-NTLM לצורך אימות והוא יודע להתחבר לכל אלו אבל כדי להתחבר לכל אלו הוא צריך קודם כל להיות שרת והוא יודע להיות שרת SMB זה שמקבל פניות של לקוחות תמימים לשיתוף
ושרת HTTP בפורט 80 דרך אגב אתם רואים פה למטה HTTP עם exception למה הוא עם exception כי פורט 80 של ל-HTTP, תפס לנו הריספונדר. תסתכלו, הריספונדר פה תפס לנו את פורט 80, אז בגלל שהריספונדר יושב על הפורט הזה, NTLM ריליי X לא יכול לתפוס אותו.
בגלל זה אני ניתקתי לריספונדר את SMB, כי הייתי חייב את הפורט של SMB ל-NTLM ריליי X הזה. אז הנה התמונה המפורסמת שאני אוהב להשתמש בה. כאן רואים איך שהקליינט מגיע להתחבר לשרת שהוא חיפש, ואני אמרתי לו שזה אני, אז הוא מתחבר אליי ב-NTLM, ואני מגלגל את ההודעה הזאת לשרת האמיתי,
השרת האמיתי שולח לי צ'לנג', אתגר להצפנה, אני לוקח את הצ'לנג' שלו כמו שהוא מעביר לקליינט, כדי שיצפין את זה עם הסיסמה שלו, הקליינט מצפין את זה עם הסיסמה שלו, מחזיר אליי, ואני מעביר את זה לשרת האמיתי.
השרת האמיתי בודק שהצ'לנג' הוצפן נכון על ידי סיסמה של הקליינט, אומר אוקיי, רשאי להיכנס, אבל ברגע האחרון, במקום הקליינט האמיתי, אני נכנס פנימה.
למעשה אני ריליי שמגלגל הודעות שמאלה ימינה ואחרי שהעימות מסתיים אני נכנס לתוך הסשן. יש לנו הרבה סרטים על ntlm זה היה ככה על רגל אחת אז הריספונדר מביא אותי להיות זה שבאמצע באמצע של התקשורת אבל הוא לא נוגע בכתובות המאק זה לא man in the middle עם כתובות מאק על זה יש לנו פרק שלם נפרד ריספונדר עושה את זה בשיטה קצת יותר מתוחכמת על ידי אלה
למנאר בקיצור אני נהיה באמצע ו ntlm relay x מגלגל את ההודעות. טוב, אני רואה שאנחנו מוכנים להתקפה. ריליי איקס פה מוכן לגלגל את ההודעות, הריספונדר פה מוכן לכל קריאה, לכל חיפוש ברשת, ועכשיו מנהל רשת שלנו בא לשרת DC וכותב פה שני סלשים פייל סרבר, והוא עושה טעות קטנה, הוא שוכח מקף, אתם רואים יש פה בשם מקף?
הוא בטעות טעה באות אחת, שכח מקף, לא משנה, טעות קטן קטנה עשה בשם של שרת, עשה אוקיי, ושימו לב מה קרה פה, הייתה פה צעקה ברשת מי זה פייל סרבר בפרוטוקול אלה למנהר והם dns הווינדוס צועק dns לא ענה לי אולי מישהו מכיר פה פייל סרבר ותראו מי עונה לו מי שולח אנסר תשובה הרספונדר שלנו אז הווינדוס ההוא שמח שהוא מצא פייל סרבר שמנהל רשת ביקש להתחבר אליו אמנם הוא לא מצא
אותו דרך dns אבל דרך שכנים ברשת הוא גילה את הIP שלו והוא בא להתחבר אליו ועונה לו ntlm relay x ומגלגל את ההודעות שלו ב-SMB ל-133.
והוא מצליח להתחבר לשרת הקבצים של החברה ב-SMB ולהיות אדמיניסטרטור בתוך שרת קבצים. אתם שמתם לב שמנהל רשת לא עשה שום דבר מסוכן, אנטיווירוסים דלקו, הוא כולה טעה בשם של שרת, וקיבל פה דרך אגב הודעה שהשרת הזה לא נמצא, הוא לא עשה שום פעולה מסוכנת.
אבל עצם הטעות הזאת בשם של שרת, גרמה לתחנה לצעוק ברשת מי זה השרת הזה ש-DNS לא מכיר. ברגע שהיא צעקה ברשת וה-Hacker ענה שזה הוא, תהליך ה-LSS בתחנה עשה אימות אוטומט דרך NTLM, כי זה התפקיד של ה-LSS הזה, לעזור למנהל רשת ולכל היוזרים במחשב לעבור אימות אוטומטי מול השרתים, כדי לתת לנו חוויה של סינגל סיין און,
חוויה שפעם אחת אנחנו נרשמים ואחרי זה הכל עובד לנו, צריך כל שנייה להזין שם וסיסמה ואנחנו מנצלים אותו וגורמים לו לעבור עימות מולנו ומגלגלים את הבקשות ל-133 והיוזר לא רואה כלום כי האלסס הזה עשה את זה במקומו ואחרי שנכנסנו פנימה יש לנו גם interactive smb shell זה אומר שיש לנו shell שאפשר לכתוב שם פקודות