PracticU

הסבר על Kerberos - TGT

בלי כתוביותעם כתוביות
PracticU › קורס פריצה ומבדקי חדירה לתשתית ארגונית - בדיקות חוסן מתקדמות ל-Active Directory - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › הסבר על Kerberos - TGT
מילון מושגים:
Kerberos - פרוטוקול אימות המבוסס על כרטיסים (tickets), המשמש ברשתות Active Directory לאימות מאובטח של משתמשים ושירותים.
TGT - כרטיס שמנפיק שרת האימות ב-Kerberos, שבעזרתו המשתמש מבקש גישה לשירותים בלי להזדהות שוב בכל פעם.
פרוטוקול - מערכת כללים מוסכמת שקובעת כיצד מכשירים או תוכנות מתקשרים ומחליפים מידע, למשל HTTP או TCP.
הצפנה - המרת מידע לצורה בלתי קריאה בעזרת מפתח, כך שרק מי שמחזיק במפתח המתאים יכול לפענח ולקרוא אותו.
האש - פונקציה שממירה מידע לערך קצר באורך קבוע. שינוי קטן בקלט משנה את התוצאה, והיא חד-כיוונית.
חשבון שירות - חשבון ייעודי שתחתיו רצים שירותים ותהליכים, בנפרד מחשבונות של משתמשים אנושיים.
סשן - פרק זמן של פעילות רציפה בין משתמש למערכת, שבו נשמר מידע על מצבו, למשל לאחר התחברות לאתר.
עוגייה - קובץ קטן שאתר שומר בדפדפן כדי לזכור מידע על המשתמש בין בקשות, למשל מצב התחברות או העדפות.

הסבר על Kerberos - TGT

בשיעור זה אנו ממשיכים בהבנת פרוטוקול Kerberos ועוברים לפאקט השני, התשובה של שרת האימות, ומתמקדים ב-TGT, הטיקט שמעניק טיקטים, להבין מה יש בתוכו, למה הוא קיים וכיצד הוא נוצר.
נושאי הסיכום המוצגים בשיעור:
1. מה מחזיר השרת בפאקט השני: שרת האימות מחזיר תשובה שבה כתוב לאיזה משתמש הוא עונה, והיא מחולקת לשני חלקים, חלק שמוצפן עם ההאש של המשתמש שהמשתמש עצמו יכול לפתוח, וחלק שנקרא TGT, טיקט שמעניק טיקטים, שמוצפן כולו בעזרת הסיסמה של חשבון שירות מיוחד שהסיסמה שלו ידועה רק לבקר הדומיין עצמו.
2. ההתקפה הכי מפורסמת על הטיקט הזה: אם תוקף מצליח לגנוב את ההאש של חשבון השירות הזה הוא יכול לזייף TGT משלו, והתקפה זו נקראת התקפת טיקט הזהב, אך בשיעור זה אנו מתמקדים בהבנת המנגנון ולא בהתקפות.
3. המניע הנסתר מאחורי ה-TGT: המטרה האמיתית היא חיסכון בזיכרון של השרת, כדי לאפשר עימות של מאות אלפי משתמשים מול שרת אחד, ובלי ה-TGT השרת היה צריך לזכור את כל המידע של כל סשן אצלו בזיכרון, מה שהיה הופך את המנגנון לבזבזני מדי.
4. הטריק שהועתק מעולם האינטרנט: הרעיון לא לשמור את המידע על הסשן אצל השרת אלא להחזיר אותו אל המשתמש עצמו מוצפן, ושהמשתמש יביא אותו בחזרה כשיצטרך שירות נוסף, לקוח מעולם הקוקיז של האינטרנט, שבו השרת נותן לדפדפן קוקי ומבקש להחזיר אותו בביקור הבא, ואפשר לחשוב על ה-TGT כקוקי מוצפן שרק השרת מבין.
5. התוכן של ה-TGT: בתוכו יושב שם המשתמש, מפתח הסשן שהוא המפתח הסודי שהמשתמש והבקר ישתמשו בו בעתיד לתקשורת מוצפנת ביניהם, זמן התפוגה של הטיקט שכברירת מחדל הוא עשר שעות, ומחרוזת מידע מיוחדת שמכילה את כל הקבוצות של המשתמש ואת כל ההרשאות שלו.
6. התוספת של מיקרוסופט מעל התקן: המחרוזת שמכילה את הקבוצות וההרשאות היא תוספת של מיקרוסופט מעל פרוטוקול קרברוס המקורי, מפני שהתקן המקורי מטפל אך ורק באימות, והתוספת הזאת מכילה מידע לשלב הבא, שלב ההרשאות, למשל האם המשתמש מורשה להחליף את סיסמתו או כל זכות אחרת שיש לו.
7. מפתח הסשן מופיע בשני החלקים: מפתח הסשן מופיע הן בתוך ה-TGT כדי שהשרת יוכל לפתוח אותו בעצמו בעתיד והן בחלק המוצפן של המשתמש, כדי שהמשתמש עצמו ידע אותו, וזו הסיבה שהצפנת המידע בעתיד תתבצע בעזרת מפתח הסשן ולא בעזרת ההאש של המשתמש, כדי לחשוף את ההאש כמה שפחות לתוקף ושלא יוכל לאסוף פאקטים עם ההאשים שלנו.
8. מה עושה המשתמש כשהוא מקבל את התשובה: לוקח את ההאש של הסיסמה שלו, פותח את החלק שמוצפן בהאש שלו, רואה עד מתי בתוקף הטיקט, מוודא שהמספר האקראי שהחזיר השרת הוא בדיוק המספר ששלח, שומר את מפתח הסשן ושומר את ה-TGT בזיכרון של המחשב שלו, והטיקט הזה הוא זה שיציג כשיבוא לבקש שירות מסוים.
9. המשך הדרך: כשיש לנו את ה-TGT בזיכרון, אנחנו יכולים לבוא ולבקש טיקט נוסף להתחברות לשירות מסוים, למשל שירות מסד נתונים או שירות קבצים, וטיקט מסוג זה נקרא טיקט הענקת שירות, ועליו נדבר בהרצאה הבאה.
לסיכום, בשיעור זה הבנו את מבנה התשובה של שרת האימות בקרברוס, את ה-TGT שמוצפן במפתח שרק בקר הדומיין מכיר, את הרעיון המבריק שהועתק מעולם הקוקיז לשמירת המידע אצל המשתמש כדי לחסוך זיכרון בשרת ולתמוך במאות אלפי משתמשים, את תוכן הטיקט והתוספת של מיקרוסופט לשלב ההרשאות, ואת השימוש במפתח סשן במקום ההאש של המשתמש.
בשיעור הבא נעסוק בנושא הסבר על Kerberos - TGS.
SR12932HE

פרקי ההרצאה: הסבר על Kerberos - TGT

  1. 00:00

    הפאקט השני והכרת ה-TGT

  2. 00:41

    הצפנת ה-TGT עם סיסמת krbtgt

  3. 01:17

    שמירת הסשן אצל המשתמש

  4. 02:13

    חיסכון בזיכרון השרת

  5. 03:09

    ה-Session Key בתוך הטיקט

  6. 04:02

    זמן התפוגה של ה-TGT

  7. 05:00

    ה-PAC והרשאות המשתמש

תמלול ההרצאה: הסבר על Kerberos - TGT

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

  1. 00:02

    שלום לכולם בהרצאה הזו אנחנו ממשיכים עם הפאקטים של קרברוס ואנחנו כבר בפאקט השני אנחנו הולכים לראות את הtgt איך הוא נראה ומה יש בפנים אז אני רק מזכיר לכם שככה נראה הפאקט הראשון שדיברנו עליו בהרצאה הקודמת שהקליינט windows 10 11 שולח לdc ומה השרת עונה לי שרת kdc מחזיר לי חזרה קרברוס אותי

  2. 00:26

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

  3. 00:49

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

  4. 01:06

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

  5. 01:35

    לבוא לקבל שירות נוסף את כל המידע על הסשן שלו על השיחה איתו הוא יביא בעצמו הוא יביא את זה בתוך ה-TGT אז אני כשרת לא מבזבז על היוזר הזה זיכרון רם על הסשן איתו אני אימתתי אותו והבאתי לו את ה-TGT עם כל המידע שאני כשרת צריך ושכחתי ממנו מהסשן הזה ואם הוא ירצה לבוא עוד פעם אני אומר לו תביא לי את הקופסה הנעולה הזאת

  6. 02:03

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

  7. 02:32

    דרך אגב, הטריק הזה של לתת לי משתמש את כל מה שאני צריך ממנו כשרת ולהגיד לו תביא לי את זה בחזרה, הם לקחו מ-Web, מ-Cookies של Web.

  8. 02:42

    הרי מה זה קוקי ב-Web? זה משהו שהשרת מביא לך ואומר תחזיר לי את זה בחזרה בפעם הבאה שתבוא. זה מעין קוקי מוצפן ה-TGT הזה. בתוך ה-TGT יושב היוזרניים שלי, אני חושב ה-Session Key שזה הסיסמה הסודית שאני ו-DC נשתמש בסיסמה הסודית הזאת, Session Key, כדי לדבר בינינו בעתיד.

  9. 03:02

    את כל המידע הסודי בינינו אנחנו לא נצפין יותר עם User Hash, עם הסיסמה של ה-User, אלא נצפין הכל עם Session Key. שימו לב, ה-Session Key הזה מופיע גם בתוך ה-TGT כדי שהשרה תדע לפתוח את זה בעצמו בעתיד, את ה-TGT, ולהוציא מפה Session Key, וגם ה-Session Key הזה בדיוק מופיע בחלק שאני יכול לפתוח עם ה-Hash שלי.

  10. 03:22

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

  11. 03:32

    ככה כמה שפחות אני חושף את ה-hash לתוקף, שיהיו לו כמה שפחות אפשרויות לאסוף פאקטים עם ה-hashים שלי. אז גם בתוך ה-TGT שרק השרת מבין, וגם בחלק שאני בעצמי מבין, והחלק שלי מוצפן עם הסיסמה שלי, כדי שההאקר על הקו לא יוכל להוציא את המידע הסודי הזה, כי רק אני יודע את הה"א של עצמי וה-DC יודע את הה"א שלי, אז השרת מחזיר לי תשובה שחלקו מוצפן עם הה"א

  12. 03:57

    שלי וחלקו מוצפן עם הה"א של הסרבר. בתוך החלק שלי ושל הסרבר יש את ה-Session Key, שזה המפתח הסודי לעתיד. יש את ה-TGT Expiration Time, מתי TGT הזה פג תוקף, ואנחנו יכולים לראות בווינדוס שהוא לעשר שעות כברירת מחדל. שימו לב, קיבלנו אותו בשעה 1331, הוא בתוקף עד 2331.

  13. 04:18

    אז אני מקבל טיקט ל-10 שעות בלבד. זה דרך אגב הטיקט שלי, TGT, אתם רואים פה. משעה 13 עד 23, ה-TGT הזה בתוקף. וזה הכרטיס הזה, ה-TGT הזה, זה הכרטיס שאני אציג לו כשאני אבוא לבקש איזשהו שירות, עוד מעט נגיע לזה.

  14. 04:35

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

  15. 05:00

    אני אזכר מי אתה מה הסיסמה של הסשן שלנו עד מתי הכרטיס הזה בתוקף שלא תביא לי איזה משהו ישן ופאק בפאק שמורות כל הקבוצות של היוזר הזה ואת כל ההרשאות שלו על המערכת למעשה הפאק הזה מכיל מידע על השלב הבא על authorization כי הקרברוס המקורי מטפל רק באותטיקציה, בעימות, והפאק הזה הוא למעשה תוספת של מייקרוסופט

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

ההרצאה הקודמת: הסבר על Kerberos - אימות ב-Active Directory

ההרצאה הבאה: הסבר על Kerberos - TGS

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

  • הסבר על Kerberos ועל NTLM
  • הגדרת לוגין ל-vCenter - עם AD Kerberos - חלק 1

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

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