PracticU

ניתוח פאקטים של Kerberos
עם Wireshark ועם NetworkMiner

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

ניתוח פאקטים של Kerberos עם Wireshark ועם NetworkMiner

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

פרקי ההרצאה: ניתוח פאקטים של Kerberos עם Wireshark ועם NetworkMiner

  1. 00:00

    מטרת ניתוח פאקטי Kerberos

  2. 00:41

    איתור פאקט ה-AS-REQ

  3. 01:18

    מנגנון Pre-Authentication

  4. 02:16

    הצפנת ה-timestamp ב-AES-256

  5. 02:58

    בדיקת זמן ומניעת Replay Attack

  6. 03:34

    מעבר על מילון סיסמאות

  7. 04:30

    הכנת הקלט עם NetworkMiner

תמלול ההרצאה: ניתוח פאקטים של Kerberos עם Wireshark ועם NetworkMiner

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

  1. 00:02

    שלום לכולם, בהרצאה הזו אנחנו הולכים לנתח את הפאקטים של קרברוס ולהוציא משם את ה-hash של היוזר. אני מזכיר לכם שהפאקט הראשון של קרברוס, שנקרא "Kerberos Authentication Service Request" עובר עם טיימסטמפ מוצפן עם ה-hash של היוזר, ואם אנחנו נתפוס את הפאקט הזה, נוכל לנסות לפרוץ את ה-hash של היוזר.

  2. 00:27

    אז בואו נחפש את הפאקט הזה ואת ה-hash הזה, וננסה לפרוץ אותו על ידי ג'ון דה ריפר או על ידי האשקאט כמובן שאני צריך לקוות שהסיסמה של היוזר תהיה בתוך המילון שלי בתוך rocky.txt אם לא אין לי סיכוי אז בואו נתחיל לחפש את הפאקט הזה וזה פאקט ראשון שיש לנו פה אנחנו רואים פה את הבקשה בקרברוס גרסה 5 ובבקשה הזאת ברקווסט הזה אין

  3. 00:55

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

  4. 01:10

    בואו תראו פה ב-Tools, ב-Active Directory Users and Computers, בתוך יוזר מסוים, נניח דיוויד, אני יכול באקאונט שלו, במאפיינים שלו, של החשבון שלו, לשים פה v: don't require, אל תדרוש, קרברוס פרי אוטיטיקיישן את העימות הראשוני את הפאקט הראשוני הזה עם טיימסטמפ מוצפן בהאש נקרא פרי אוטיטיקיישן עימות שלפני העימות

  5. 01:34

    העימות הראשוני אם הייתי שם את ה-v הזה זה היה עובד אבל אף אחד בחיים לא שם פה v כי זה מוריד מרמת האבטחה ואף אחד לא עושה את זה לפחות אני לא ראיתי ב-20 שנה שאני בתחום שמישהו ישים פה don't require קרברוס פרי אוטיטיקיישן ולכן הפאקט הראשון הזה מקבל סירוב מהשארת pre authentication required אתה חייב לשלוח לי את ה-time stamp את השעה הנוכחית מוצפנת עם הה של היוזר רק אחרי זה אני אדבר איתך

  6. 02:03

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

  7. 02:26

    מספר 18 שזה EAS 256 ומתקבלת התוצאה הזאת A91 D118 אני יכול לקחת את ההצפנה הזאת ולנסות לעשות לה רוורס בעצמי בדיוק כמו שהשרת עושה את זה הרי מה השרת עושה הוא לוקח את הסייפר הזה את ההצפנה הזאת את התוצאה הזאת ופותח אותה בעזרת אלגוריתם AES 256 ומפתח סודי שזה ההא של היוזר חזרה למצב לא מוצפן ובמצב הלא מוצפן הוא רואה שהשעה

  8. 03:01

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

  9. 03:26

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

  10. 03:53

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

  11. 04:19

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

  12. 04:27

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

  13. 04:38

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

  14. 04:50

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

  15. 05:01

    יש גרסה פרי ויש גרסת פרופשנל. שימו לב הגרסה החינמית

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

ההרצאה הקודמת: המרה של ETL לקובץ PCAP

ההרצאה הבאה: פריצת סיסמה של המשתמש מתוך - Kerberos Pre-Authentication - עם John The Ripper ועם Hashcat

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

  • ניתוח בדיקות
  • ניתוח הפריצה
  • הסבר על Wireshark
  • ניתוח סטטי של UnCrackable3 עם IDA

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

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