
הטקסט המלא של הדקות הראשונות בהרצאה «פרוטוקול Protocol NTLM» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בהרצאה זו אני רוצה לדבר איתכם על התקפות של ntlm ואיך עובד ntlm באופן כללי אני אסביר לכם ברמת בית ברמת ווייר שארק איך עובד ntlm ואנחנו מדברים על ntlm ברשת ntlm כפרוטוקול עימות אל תתבלבלו עם האשים של ntlm שיש לנו מקומית בתוך המחשב עכשיו אנחנו לא מתעסקים מה קורה בתוך המחשב אנחנו עכשיו מתרכזים
מה קורה בין קליינט לסרוויטר איך עובר העימות ברשת? מה רואה האקר שמאזין על הכבל ואיך הוא יכול לתקוף את הפרוטוקול הזה, כאשר אין לו גישה לתוך אף מחשב?
אנחנו עכשיו יושבים רק על הכבל ומאזינים לתקשורת. דבר ראשון, אנחנו רואים שהקליינט רוצה להזדהות מול השרת, אז הוא שולח לו בקשת NTLM negotiation message.
דרך אגב, ההזדהות הזאת של NTLM היא חלק מפרוטוקול אחר, זה יכול להיות חלק מ-HTTP, זה יכול להיות חלק משיתוף SMB, חלק מ-LDAP, שזה שאילתות ל-Active Directory, לדומיין קונטרולר.
MSSQL, שזה SQL של מייקרוסופט. SMTP של שליחת מיילים גם משתמש ב-NTLM, באימות של NTLM. קבלת מיילים ב-IMAP. והאמת, יש עוד מיליון פרוטוקולים שונים שלפני שהם פועלים, הם מסתמכים על NTLM שיבדוק את היוזר הזה, שהוא באמת מישהו.
יש לנו את השלב הראשון של ntlm אחרי שהבן אדם עובר עימות ממשיכים בפרוטוקול אחר לדוגמה בפרוטוקול שיתוף הקבצים אז איך עובד ה ntlm הזה שלב ראשון יש לנו בקשה לעימות negotiation message אם אנחנו נסתכל בrfc שזה התקן של ntlm אנחנו נראה פה את שלוש ההודעות 1, 2 ו-3 ואנחנו כרגע בהודעה ראשונה בואו נלך לאקזמפל
שלהם ובתוך האקזמפל יש לנו פה ממש איך נראית ההודעה. זה מה שעובר בכבל רשת, כאשר כל ספרה כזאת זה באקסה ויש לה משמעות. נניח לחלק הזה, זאת המשמעות שלו פה בטבלה למטה.
זה אומר אנחנו מדברים בשפת NTLM. מחשב מקבל המון פאקטים, ככה הוא מזהה שהפאקט הזה אומר רוצה להתחיל הזדהות NTLמית. זה קליינט שולח לשרת. מה יש לנו הלאה בתוך הפאקט הזה?
יש לנו את ההמשך הזה. מה המשמעות של המספרים האלו זה הכל מספרים גם האותיות מייצגות מספר באקסה המשמעות של המספר הזה הודעה מספר 1 בשפת ntlm מה החלק הבא הזה אומר 0732000 החלק הזה זה אומר דגלים לדוגמה שאני יודע לדבר יוניקוד ואז על ידי שדה אחד של פלאג יודעים בדיוק במה הצד השני תומך ובמה לא זה נקרא דגלים כאשר כל ביט מייצג
איזושהי יכולת אז אני מעביר לצד השני כזאת הודעה וככה אני אומר לו תקשיב אני רוצה להזדהות איתך וזה מה שאני תומך בו הוא אומר הבנתי אותך שולח לך אתגר להצפנה צ'לנג' שימו לב פה בווייר שארק אנחנו ממש יכולים לראות ששרת שולח לקליינט ntlm server challenge זה אתגר שאתה צריך להצפין אותו תכף נדבר איך אנחנו עושים את זה בדיוק ולהחזיר לי אותו מוצפן בעזרת הסיסמה של היוזר אם
אני רואה שהצלחת להצפין נכון אז זה אומר שאתה באמת ידעת את הסיסמה של היוזר האתגר הזה זה מספרים אקראיים שהשרד שולח לי וכל פעם האתגר הזה משתנה ואין לו שום משמעות סתם מספרים אקראיים שהוא זורק לי הרבה פעמים קוראים לזה נונסנס חסר משמעות בוא תיקח סתם מספרים שאני מביא לך תצפין אותם נראה שאתה יודע להצפין נכון עם הסיסמה של היוזר מה היתרון בשיטה הזאת?
שהסיסמה המקורית של היוזר בחיים לא עוברת על הכבל. היא שמורה אך ורק בתוך המחשב המקומי. ה-NTLM האש האמיתי של יוזר, במקום שיעבור על הכבל, משתמשים בו כמפתח הצפנה ל-challenge, לאתגר, ושולחים לשרת בחזרה את האתגר הזה מוצפן ואז