
הטקסט המלא של הדקות הראשונות בהרצאה «הבדלים בין NTLM Hash לבין NTLMv2 הסבר נוסף» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, ברוכים הבאים להרצאה על NTLM ריליי עתק. זאת התקפה מאוד מאוד חזקה ואנחנו נשתמש בה כשאין לנו אפשרות לפצח את ההאש שתפסנו.
תחשבו שתפסנו תעבורה, תפסנו את ההאש, אבל לא מצליחים לפתוח אותו, לא מצליחים לשבור את ההאש ולמצוא את הסיסמה המקורית של המשתמש כי הוא עשה סיסמה מאוד ארוכה או סיסמה שלא נמצאת במילון שלנו.
אז מה אנחנו יכולים לעשות עם ההאש הזה? יכולים להשתמש בו בלי לפענח אותו בכלל לפני שאני אכנס לסיפור הזה איך עובד ntlm ואיך משתמשים בהאש שלו אני רוצה לתת לכם דגש שזה לא קשור להאשים שתפסנו בקובץ סם זוכרים שנכנסנו לארדיסק של ווינדוס ועל ידי מימיקאץ תפסנו שם את ההאשים זה לא אותם האשים זה לא קשור אחד לשני יותר נכון יש ביניהם קשר עוד מעט נדבר על זה אבל זה לא אותם האשים
שימו לב, יש האשים שמאוחסנים בתוך ה-hard disk, בתוך ה-SAM file או בתוך ה-hard disk של שרת שנקרא NTDSD בתוך דומיין קונטרולר, שרת שמנהל את המתחם אבטחה שלי.
שם בתוך ה-hard disk יושבים האשים שנקראים NTLM רגיל. אני מדבר איתכם על האשים שנקראים NTLM נטוורק. זה נשמע אותו דבר, כולם מתבלבלים, בגלל זה אני עושה דגש.
NTLM רגיל, NTLM האשים או אנטי האשים, אלו שבארדיסק יושבים, ואפשר לתפוס אותם ואיתם ביחד לעשות התקפת פאס דה האש.
התקפת פאס דה האש ראינו כשלמדנו על מימיקאץ, שאני פותח CMD ואני יוזר פשוט, אבל כשאני בא להתחבר למשאב ברשת, אני מזדהה מול המשאב הזה ברשת דרך ההאש שהוצאתי מהארדיסק של המכונה או מהזיכרון של המכונה.
זאת אומרת, האס דה האש זה CMD מקומי שמזדהה ברשת בשם של יוזר אחר שיש לנו את ההאש שלו. את ההאש שלו תפסנו מכובד סם המקומי בארדיסק, הצלחנו להוציא משמה, או מתוך זיכרון רם של המחשב דרך מודול שנקרא Secure LSA של מימיקאץ.
הפעלנו תוכנת מימיקאץ והוצאנו מהרם של המכונה שלי את ההאש של מנהל רשת שנכנס למחשב שלי, ותפסתי לו את ה-hash של הסיסמה שלו כשהוא נכנס למחשב שלי.
אז זאת נקראת התקפה past the hash. כשאני פותח CMD, ועם ה-CMD הזה אני מתחבר למשאב מרוחק, ומולו מזדהה עם ה-hash, שאני לא יודע לפענח אותו, אבל זה לא מעניין, כי גם למשאב המרוחק הזה, שזה תיקייה משותפת או משהו שקשור ל-SMB, אפילו הרצת פקודות אפשר לעשות, העימות מול שרת מרוחק גם הוא מתבצע עם אותו
hash, אז בגלל ששנינו יודעים בדיוק אותו האש, אותו ntlm רגיל, אז זה כאילו שנינו יודעים בדיוק אותה סיסמה. אז לדעת ntlm האש רגיל זה כמו לדעת סיסמה.
למה? כי הצד השני גם יודע רק את ההאש הזה. הרי Windows שרת לא שומר את הסיסמה המקורית, הוא שומר רק את ההאש. אז אם הצלחתי להוציא מהזיכרון של המחשב את ההאש, אז כאילו הוצאתי את הסיסמה.
הרי אף אחד לא יודע את הסיסמה המקורית, כולם יודעים רק את ההאש. גם קובץ הסם, גם שרת דומיין קונטרולר שמנהלת כל הסיסמאות, כולם יודעים רק את ה-hash של הסיסמה.
אז אם הצלחתי לרצות אותה מהר"מ או מה-harddisk ויש לי את ה-hash המקורי, אז זה כאילו אני יודע את הסיסמה. עכשיו, זה לא אותו דבר כמו hash שעובר בתקשורת.
בתקשורת, כשאני מזדהה מול השרת, לא מעבירים את ה-hash הזה אף פעם על הכבל. אז יש hash אחר שנקרא Network NTLM. שימו לב זה ntlm וזה נקרא network ntlm הרבה פעמים בשביל לא להתבלבל אומרים ntlm version 2 היה פעם version 1 אני לא אדבר איתכם מה ההבדל בין version 1 לversion 2 זה דברים קטנים וversion 1 כבר מת מזמן כבר מעל 10 שנים הוא לא קיים בקיצור זה ntlm עימות על
ידי האשים שעובר ברשת עכשיו אני רוצה להסביר לכם איך זה עובד איך העימות הזה של ntlm עובד אז מה שאני הולך להסביר לכם זה עימות ברשת מה זה אומר עימות ברשת זה אומר כשאני מתחבר לתיקייה משותפת במחשב מרוחק איך עובר העימות הזה הקליינט מבקש מהשרת לגשת לתיקייה והאקר פה מאזין להכל תכף נדבר אז הוא מבקש עושה ניגושייט מה זה ניגושייט הוא אומר אני יוני רוצה תיקייה כזאת וכזאת אצלך השרת
אומר לו אין בעיה אתה טוען שאתה יוני בוא נבדוק אותך יש לך צ'לנג' יש לך פה אתגר בוא תצפין לי את האתגר הזה הקליינט מחזיר את האתגר מוצפן והוא מצפין את זה עם ה-הא של הסיסמה.
נכון ה-הא הזה של ntlm-הא של הסיסמה? הוא לוקח את ה-ntlm-הא של הסיסמה, זה כאילו סיסמה רגילה, את ה-הא שלה, ואיתה הוא מצבין את ה-challenge, את האתגר שהביאו לו.
וכל פעם זה אתגר אחר, השרת זורק. הפעם הוא זרק את האתגר הזה, הוא צריך להחזיר לו את האתגר הזה מוצפן, אתם רואים, עם מפתח ההצפנה עם ה-הא של המשתמש.
והשרת עושה את אותו התהליך, הוא לוקח את ה-challenge הזה בעצמו ומצפין אותו עם ה-hash של הסיסמה שהוא גם יודע אותה, ובודק האם מה ששלחת לו זה בדיוק מה שיצא לו בחישוב העצמי שלו, ואם שלחת תשובה נכונה, אז שרת נותן לך להיכנס.
אני מזכיר לכם שהצפנה היא דו-כיוונית, זאת אומרת שאפשר להצפין ולפתוח, hash זה ערבול חד-כיווני, זה כמו הצפנה אבל חד-כיוונית, אי אפשר להחזיר חזרה. בקיצור, שורה תחתונה, אתה מבקש להזדהות, אומר מה השם שלך, אומר אני, יוני, רוצה להזדהות, שרת שולח לך איזשהו אתגר אקראי כל פעם אחר, ואתה צריך להחזיר לו את האתגר הזה מוצפן בעזרת
הסיסמה של המשתמש.