PracticU

ביצוע התקפת
Kerberoasting

בלי כתוביותעם כתוביות
PracticU › קורס פריצה ומבדקי חדירה לתשתית ארגונית - בדיקות חוסן מתקדמות ל-Active Directory - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › ביצוע התקפת Kerberoasting
מילון מושגים:
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.
הצפנה - המרת מידע לצורה בלתי קריאה בעזרת מפתח, כך שרק מי שמחזיק במפתח המתאים יכול לפענח ולקרוא אותו.
Active Directory - שירות מדריך של מיקרוסופט לניהול מרכזי של משתמשים, מחשבים והרשאות ברשת ארגונית מבוססת דומיין.
אנטי וירוס - תוכנה שמזהה, חוסמת ומסירה תוכנות זדוניות מהמחשב, ומנטרת פעילות חשודה.
וירוס - תוכנה זדונית שמשכפלת את עצמה ומתפשטת ממחשב למחשב, ועלולה לפגוע בקבצים או בפעולת המערכת.
חבילה - אוסף ארוז של קוד, ספריות או קבצים המופץ כיחידה אחת ומותקן בעזרת מנהל חבילות.
Kali Linux - הפצת Linux המיועדת לבדיקות אבטחה וחדירות, הכוללת אוסף כלים לבחינת מערכות.

ביצוע התקפת Kerberoasting
בשיעור זה אנו מבצעים בפועל את התקפת הקרברוסטינג: מתוך קאלי, בעזרת חבילת הסקריפטים המוכרת, אנו שולפים את מזהי השירותים שמשויכים למשתמשים רגילים, מבקשים מבקר הדומיין את כרטיסי השירות המוצפנים בערבוליהם, שומרים אותם בקובץ ומפצחים אותם בעזרת מילון סיסמאות, הן בהאשקאט והן בג'ון דה ריפר, ומגלים את סיסמת המשתמש שמריץ את השירות.
נושאי הסיכום המוצגים בשיעור:
1. המשך ההתקפה: בהרצאה הזו אנחנו ממשיכים עם התקפת הקרברוסטינג, ואנחנו הולכים לבקש כרטיס שירות, את הטיקט עבור שירות מסוים.
2. ניקוי הכרטיסים ונקודת הפתיחה: אם נעשה ניקוי כרטיסים, נראה שכרגע אין לנו שום כרטיס, כי מחקנו אותם עם הפקודה המתאימה, ורואים שהכל ריק. ואני אפילו לא חייב להתקין מסד נתונים ולא חייב שיהיו לי הרשאות בו, כי בקר הדומיין לא יודע מה קורה בתוך המסד. אני יכול להגיד לו: תביא לי כרטיס הזדהות מול שרת המסד שמוצפן עם הערבול שלו, ובין אם המסד יכניס אותי ובין אם לא, תביא לי את הכרטיס. ואז אני יכול דרך פאוורשל לבקש עבור שירות המסד, עבור שרת מסוים בפורט מסוים, כרטיס הזדהות, והוא מביא לי אותו מוצפן עם הערבול. ומי זה הערבול? המשתמש שמריץ את השירות.
3. במקרה שלנו המנהל: במקרה הזה המנהל, כמנהל רשת, נכנס פה אל השירות, אל לשונית ההתחברות שלו, ואמר שקובץ ההפעלה של המסד יעבוד אוטומטית עם הפעלת הווינדוס תחת שם וסיסמה כאלו וכאלו, כי לדוגמה הוא רוצה שהמשתמש הזה ישלח מיילים, יתחבר לאנשהו ויעשה כל מיני דברים במחשבים אחרים, ולכן הוא צריך אותו עם משתמש כזה וכזה. אפשר גם לראות שבפירוטים של מנהל המשימות קובץ ההפעלה של המסד מופעל עם המשתמש מנהל.
4. הקשר האבטחה של כל תהליך: תמיד יש הקשר אבטחה, תמיד יש מישהו שהפעיל את קובץ ההפעלה, והרשאות של התוכנה הזאת הן לפי המשתמש שהפעיל אותה. לא משנה אם זה קרה אוטומטית או שמישהו עשה לחיצה כפולה, בסוף יש קובץ הפעלה שרץ, קוד שרץ במערכת ההפעלה, בזיכרון, והוא מופיע עם הרשאות של משתמש כלשהו, והמשתמש הזה במקרה שלנו הוא המנהל.
5. איך יודעים איזה קובץ הפעלה: דרך אגב, איך ידעתי איזה קובץ הפעלה להסתכל עליו? בלחיצה כפולה אפשר לראות בתוך כל שירות את קובץ ההפעלה שלו. שירות זו למעשה תוכנה רגילה, רק שבמקום שתעשו לחיצה כפולה, ווינדוס עושה במקומכם לחיצה כפולה אוטומטית עם ההפעלה מחדש ומריץ את אותו קובץ הפעלה. אין לו ממשק גרפי, הוא עובד מאחורי הקלעים, והוא מופעל תחת משתמש מסוים.
6. כל משתמש יכול לבקש כרטיס: אמרנו שכל מי שחבר ב-Active Directory, כל משתמש פשוט, יכול לבקש כרטיס הזדהות ליעד מסוים לפי המזהה שלו, לפי השם הזה: איזה שירות אני רוצה, באיזה שרת, ואני מקבל את הכרטיס הזה. ועכשיו את הכרטיס הזה, בלי שיש לי בכלל אישור אפילו להתחבר אל איזשהו מסד, אני יכול להוציא מהזיכרון, נניח עם הכלי המיוחד. אבל אני לא רוצה להפעיל אותו, אני לא רוצה לקחת סיכון שהאנטי וירוס פה יתפוס אותי.
7. הכל עם אנטי וירוס דלוק: שימו לב, אני עושה הכל עם אנטי וירוס דלוק, רואים שהכל דלוק כברירת מחדל ולא שיניתי כלום. עד עכשיו גם לא עשיתי שום דבר מסוכן: ביקשתי כרטיס להזדהות מול איזשהו שירות ברשת, וזה לגיטימי ביותר. הקטע הוא שהכרטיס הזה מוצפן עם הערבול של המשתמש שמפעיל את השירות הזה, עם הערבול של היעד, ואני רוצה לשבור את הערבול הזה, כי זה משתמש עם הרשאות על כל הרשת.
8. הבקשה מקאלי במקום: אז במקום לעשות את כל זה מכאן, בואו נעשה את זה מקאלי, כי בקאלי אין שום אנטי וירוס. אני יכול לבקש את הכרטיס הזה מתוך קאלי, בהנחה שיש לי שם וסיסמה לדייוויד שפרצתי אליו, ששלחתי לו איזה מייל עם מקרו והוא הפעיל אותו. אז אני הולך לבקש את אותו כרטיס שירות אבל מתוך קאלי. קודם כל עושים זאת בעזרת החבילה שכבר מותקנת, אבל אני רוצה להראות לכם את הפקודה שמתקינה אותה: התקנת סקריפטי החבילה. ובתוך החבילה הזאת יש סקריפטים מוכנים בפייתון שיודעים לעשות המון דברים מעניינים, ואחד מהם זה לבקש כרטיסים.
9. מה הסקריפט יודע לעשות: לפני שאבקש כרטיס אני רק רוצה להראות לכם מה הסקריפט הזה יודע לעשות כברירת מחדל. הסקריפט אומר שאני אתחבר לדומיין הזה, לשם המשתמש הזה, עם הסיסמה הזאת, כלומר הוא מתחבר אל בקר הדומיין כאילו הוא תחנת עבודה. בגלל שה-DNS שלו אינו מוגדר נכון, הוא לא ימצא את שם הדומיין, ולכן אני אומר לו: תקשיב, דבר עם בקר הדומיין בכתובת כזאת וכזאת, אחרת איך הוא ידע מה ה-IP? ואז הסקריפט הזה שולף לי את כל מזהי השירותים שמוגדרים עבור משתמשים רגילים ולא עבור מחשבים. כלומר הוא שלף לי את המזהה הזה, את השירות הזה, ואמר שהשירות הזה מחובר ומוצפן עם משתמש רגיל, וגם השירות הזה מוצפן עם משתמש רגיל, ולא משתמש של המחשב ולא עם הערבול של המחשב.
10. למה דווקא משתמשים רגילים: הרי מה אמרנו? שמזהה שירות יכול לחבר שירות מסוים או למשתמש מסוים עם הסיסמה שלו, או לחשבון מחשב שיש לו גם סיסמה מאוד מורכבת עם 128 תווים. אז אני מחפש מזהי שירותים, שירותים כאלה וכאלה, כל מיני שירותים שמחוברים לא לבקר הדומיין ולא לשרת הקבצים, לא למחשבים, כי את הסיסמה שלהם אני לא יכול לפרוץ, כי היא מאוד ארוכה ומסובכת, אלא למישהו שהוא משתמש פשוט. אז אני מחפש את המזהים האלו שמחוברים למשתמשים הפשוטים, והסקריפט הזה, פקודת שליפת המזהים למשתמשים, יודע לשלוף לי אותם, והוא שולף לי אותם.
11. בקשת הכרטיס עצמו: לא רק שהוא יודע לשלוף לי אותם, אני יכול להגיד לו גם לבקש, לבקש את הכרטיס עצמו, כאילו אתה רוצה לקבל שירות של המסד כאילו אתה תחנה רגילה שפונה אל בקר הדומיין, ואני מקבל, שימו לב, כרטיס שירות של קרברוס, את כרטיס השירות שאני אמור להציג ליעד שלי ולהוכיח שאני דייוויד, ושבקר הדומיין שלח אותי. הכרטיס הזה מוצפן עם הערבול של היעד, ואני רוצה לשבור אותו. אז בואו נשמור אותו בקובץ, ולמזלנו החבילה הזאת יודעת לעשות הכל בשבילנו: כותבים את פקודת שליפת המזהים עבור איזה משתמש רוצים את זה, עם איזו סיסמה, שאני מתחבר אל בקר הדומיין, מה ה-IP שלו, תבקש את כל הכרטיסים שאתה יכול שהם משויכים למשתמש, ותרשום לי הכל בקובץ של גיבובי הכרטיסים.
12. תוכן קובץ הגיבובים: בואו נראה מה קורה שם בתוך הקובץ: עושים קריאה שלו, ורואים שבתוך הקובץ הוא שמר בעצם את הכרטיס, וזהו.
13. פיצוח בעזרת האשקאט: עכשיו אני לוקח את הקובץ הזה ומנסה פשוט לפרוץ אותו עם מילון. אני יכול להשתמש בהאשקאט, לתת לו את סוג הערבול, 13100, שזה בדיוק הסוג הזה, סוג 23 עבור כרטיס שירות, ואת הדגל שמאלץ אותו לעבוד, כי אין לי כרטיסי מסך ואני רוצה שהוא יעבוד בכל מקרה, זה פחות חשוב לי. מה שמעניין אותי הוא הערבול הזה, שהוא למעשה הקובץ הזה, ועם איזה מילון לעבוד, מאיפה לנסות סיסמאות, לפענח ולפתוח את ההצפנה הזאת ולראות האם הוא מצליח או לא. הוא יעבור סיסמה סיסמה בקובץ המילון, ובואו נראה: הוא מתחיל לעבוד, אומר לי היו סבלניים, אני עובד, והנה הוא מסיים ומצליח לפתוח את הערבול של המשתמש. תראו איזה יופי: היינו עם המשתמש הכי פשוט בווינדוס, בלי מנהל מקומי, בלי כלום, ובעזרת המשתמש הזה קיבלנו כרטיס שירות לאיזשהו שירות ברשת שאין לו בכלל אישור להיכנס לשם, אבל קיבלנו את הכרטיס הזה ופרצנו את הסיסמה שלו.
14. אותו דבר בג'ון דה ריפר: יכלנו לעשות זאת, דרך אגב, גם עם ג'ון דה ריפר. גם הוא יודע לקבל שם של קובץ, נניח קובץ גיבובי הכרטיסים, לקבל רשימת מילים, מילון, ולהגיד לו באיזה פורמט, כאילו איזה סוג של ערבול בפנים, כרטיס שירות של קרברוס. הוא עושה את זה מהר מאוד. אם רוצים לראות מה הוא מצא שם, צריך לעשות את האפשרות של ההצגה. למרות שאני רואה את זה פה, רואים שהוא כן כתב לי את הסיסמה. אם הוא לא היה כותב, הייתי עושה את פקודת ההצגה והוא היה מציג לי את הסיסמאות שמצא עבור הערבולים האלו.
15. המסקנה הסופית: חברים, זה נורא פשוט, בסופו של יום, אחרי כל התיאוריה, זה שתי פקודות. הפקודה הראשונה מתוך קאלי מבקשת את הכרטיס מ-Active Directory, וכמובן שחייב שיהיה לי איזשהו שם וסיסמה, הכי פשוטים, ל-Active Directory, ואז אני פשוט מבקש את הכרטיס הזה, רושם אותו בקובץ, ואחרי שהוא רשום בקובץ אני יכול לפרוץ אותו עם ג'ון דה ריפר או עם האשקאט, זה האשקאט וזה ג'ון דה ריפר. זה הכל, שלוש פקודות, ואתם מנהלי דומיין. זה מדהים, זה הכל.
בשיעור הבא נעסוק בנושא הגדרת שעון ב-Kali.
בסוף השיעור ביצענו את ההתקפה במלואה מקאלי: שלפנו את המזהים של השירותים הרצים תחת משתמשים רגילים, ביקשנו את כרטיסי השירות המוצפנים, שמרנו אותם בקובץ ופיצחנו את הסיסמה של המשתמש עם שני כלי הפיצוח.
SR12915HE

פרקי ההרצאה: ביצוע התקפת Kerberoasting

  1. 00:00

    בקשת כרטיס השירות

  2. 01:01

    ההגדרה של חשבון השירות

  3. 01:56

    ההרשאות שאינן נדרשות

  4. 02:50

    העברת ההתקפה לקאלי

  5. 03:41

    הכרת סקריפטי Impacket

  6. 04:40

    סריקת ה-SPN הפגיעים

  7. 05:18

    קבלת הטיקט המוצפן

  8. 06:17

    הכנת הפענוח עם Hashcat

תמלול ההרצאה: ביצוע התקפת Kerberoasting

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

  1. 00:02

    שלום לכולם, בהרצאה הזו אנחנו ממשיכים עם התקפת קרברוסטינג ואנחנו הולכים לבקש TGS את הכרטיס, את הטיקט עבור שירות מסוים אם נעשה K-List Purge, נראה שכרגע אין לנו שום טיקט כי מחקתי אותם עם פקודת Purge, אתם רואים הכל ריק ואני אפילו לא חייב להתקין SQL, אני לא חייב שיהיו לי הרשאות ב-SQL

  2. 00:25

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

  3. 00:30

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

  4. 01:22

    כתוכנה כאקזה יעבוד עם היוזר כזה וכזה ואפשר גם לראות שבדיטיילס האקזה של SQL מופעל עם היוזר אדמיניסטרטור. תמיד יש security context, תמיד יש מישהו שהפעיל את האקזה שלו והרשאות של התוכנה הזאת לפי היוזר שהפעיל אותם.

  5. 01:40

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

  6. 01:52

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

  7. 02:16

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

  8. 02:32

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

  9. 02:50

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

  10. 02:59

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

  11. 03:10

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

  12. 03:22

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

  13. 03:34

    apt install impact scripts ועכשיו בתוך האימפקט הזה יש סקריפטים מוכנים בפייתון שיודעים לעשות המון דברים מעניינים ואחד מהם זה לבקש טיקטים.

  14. 03:45

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

  15. 03:59

    בגלל שה-DNS שלו לא מוגדר נכון, אז הוא לא ימצא את ה-dom.local, אז אני אומר לו, תקשיב, דבר עם ה-DC בכתובת כזאת וכזאת, אחרת איך הוא ידע מה ה-IP?

  16. 04:09

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

  17. 04:34

    הרי מה אמרנו? ש-spn יכול לחבר שירות מסוים או ליוזר מסוים עם הסיסמה שלו, או לחשבון מחשב שיש לו גם סיסמה מאוד מורכבת עם 28 תווים.

  18. 04:46

    אז אני מחפש SPNים, שירותים, כאלו, כאלו, כאלו, כל מיני שירותים שמחוברים לא ל-DC ולא ל-File Server, לא למחשבים, כי את הסיסמה שלהם אני לא יכול לפרוץ כי היא מאוד ארוכה ומסובכת, אלא למישהו שהוא יוזר פשוט.

  19. 05:03

    אז אני מחפש את ה-SPNים האלו שמחוברים ליוזרים הפשוטים והסקריפט הזה, אם Packet Get User SPNs יודה לשלוף לי אותם והוא שולף לי אותם. לא רק שהוא יודה לשלוף לי אותם, אני יכול להגיד לו גם Request, לבקש את הטיקט עצמו כאילו אתה רוצה לקבל שירות של sql כאילו אתה תחנה רגילה שפונה לדיסי ואני

  20. 05:24

    מקבל שימו לב קרברוס tgs את הטיקט granting service את הטיקט שאני אמור להציג ליעד שלי ולהוכיח שאני דיוויד והדיסי שלח אותי הטיקט הזה מוצפן עם ההאש של היעד ואני רוצה לשבור אותו אז בואו נשמור אותו בקובץ למזלנו עם פאקט הזה יודע לעשות הכל בשבילנו אנחנו כותבים impact get users SPNs עבור איזה יוזר אני רוצה את זה עם איזה סיסמה זה איך

  21. 05:52

    אני מתחבר ל-DC מה ה-IP של ה-DC תבקש את כל הטיקטים שאתה יכול שהם משויכים ליוזר ותרשום לי הכל בקובץ TGS hashes בוא נראה מה קורה שם בתוך ה-TGS hashes הזה נעשה cut TGS hashes ואנחנו רואים שבתוך הקובץ הוא שמר בעצם את הטיקט וזהו עכשיו אני לוקח את הקובץ הזה ואני מנסה פשוט לפרוץ אותו עם מילון אני אני יכול להשתמש ב-hash cut לתת לו את הסוג

  22. 06:17

    של ה-hash 13100 שזה בדיוק הסוג הזה סוג 23 עבור TGS מינוס מינוס פורס E0 זה כי אין לי כרטיסי

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

ההרצאה הקודמת: הסבר על SPN - התקפת Kerberoasting

ההרצאה הבאה: הגדרת שעון ב-Kali

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

  • התקפת CSRF
  • ביצוע המרה - Cast
  • ביצוע compile לתוכנה
  • ביצוע Ping - ל-Storage

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

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