PracticU

שליפת כל הסיסמאות של הארגון
מתוך זיכרון של DC

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

שליפת כל הסיסמאות של הארגון מתוך זיכרון של DC
הרצאה זו מדגימה, במסגרת תרגיל מעבדה, את הרעיון הכללי של חילוץ פרטי התחברות מזיכרון של בקר תחום (Domain Controller) ואת פיצוח הערכים המעורבלים (hash) שמתקבלים ממנו. ההרצאה מסבירה שמערכת ההפעלה שומרת סיסמאות בזיכרון בצורה מעורבלת, ושתוקף בעל הרשאות ניהול יכול לנסות לגשת למידע הזה כדי לקבל שליטה רחבה ברשת של הארגון, מכיוון שבקר תחום מחזיק את הפרטים של כל המשתמשים.
בהרצאה מוסבר שלמערכות הפעלה מודרניות יש הגנות שמקשות על גישה ישירה לזיכרון הזה, ושתוקפים מנסים להתגבר עליהן באמצעים שונים, בלי לשנות דבר על הדיסק עצמו - כי קבצי המערכת חתומים דיגיטלית ואי אפשר לשנות אותם בלי לפגוע בחתימה. לכן כל "התאמה" של ההתנהגות מתבצעת רק בזיכרון, ונעלמת אם מפעילים את התוכנה מחדש.
לאחר שמתקבל ערך מעורבל, מוסבר שקיימים כלים שמנסים לנחש איזו סיסמה הניבה אותו, על ידי השוואה לרשימות של סיסמאות נפוצות. ההרצאה מציינת שההצלחה תלויה בכך שהסיסמה המקורית אכן מופיעה ברשימה כזו, ושאפילו בלי לפצח את הערך אפשר במקרים מסוימים להשתמש בו כאמצעי זיהוי. המסר המרכזי: סיסמה קצרה וצפויה חשופה לפיצוח כזה, בעוד סיסמה ארוכה ולא שגרתית נשארת מוגנת גם אם הערך המעורבל שלה דלף.
השיעור הבא בקורס: פריצת סיסמה עם John The Ripper על וונדוס 11

פרקי ההרצאה: שליפת כל הסיסמאות של הארגון מתוך זיכרון של DC

  1. 00:00

    האתגר של שליפת ההאשים

  2. 00:39

    הכנת Mimikatz על ה-DC

  3. 01:32

    הזרקת קוד מול תיקון בזיכרון

  4. 02:27

    הגבלות השינוי בקובץ חתום

  5. 03:17

    הרצת הכלי כפקודה אחת

  6. 03:54

    פענוח ההאשים עם Hashcat

  7. 04:30

    פריצת האש של משתמש

  8. 05:03

    הכנת קובץ הסיסמאות

תמלול ההרצאה: שליפת כל הסיסמאות של הארגון מתוך זיכרון של DC

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

  1. 00:02

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

  2. 00:24

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

  3. 00:39

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

  4. 00:55

    ועכשיו אני עושה LSA Dump. LSA Dump, למעשה אני מתחבר לתהליך בזיכרון שנקרא LSA, Local Security Authority, ועושה Dump. Dump זה מקבל את כל מה שיש לו, את כל ההעתק.

  5. 01:08

    והבעיה היא שאני מקבל Error, כי מייקרוסופט עשו הגנה. איך מתגברים על ההגנה? יש לנו שתי אפשרויות. או לעשות Inject, להזריק לתוך הזיכרון עוד קוד נוסף שלי, זה נקרא Process Injection, אני מזריק לתוך ה-Process של מערכת ההפעלה קוד נוסף, קוד שלי שיודע לחלץ לי את הסיסמאות אני משדרג

  6. 01:30

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

  7. 02:00

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

  8. 02:15

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

  9. 02:24

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

  10. 02:43

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

  11. 03:00

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

  12. 03:15

    ואחרי זה פקודה שלישית שזה אקזיט, לצאת מזה. אז הוא יריץ מימיקאץ, יריץ פקודה ראשונה, אחרי זה יריץ פקודה שנייה, אחרי זה פקודה שלישית.

  13. 03:23

    פקודה שנייה חייבת להיות בגרשיים בגלל הרווח הזה. ואותה תוצאה אנחנו מקבלים, ורק יוצאים חזרה ל-CMD. למה הדבר הזה ממש חשוב וטוב?

  14. 03:33

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

  15. 03:42

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

  16. 04:12

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

  17. 04:34

    אני לא רוצה לגעת פה באמצע הפקודה, אני פותח טאפ חדש, רק לחפש את הרוקיו, לוקייט rocku.txt.

  18. 04:44

    הנה, אני רואה שהוא נמצא במיקום הזה, הוא מכווץ בזיפ, אז אנחנו יכולים לעשות gzip-d או gunzip, שתיהם יעשו אותו דבר, יחלצו לי את הקובץ, אני עושה נניח gzip, הוא אומר לי permission denied, גישה נדחתה, בגלל זה אני עושה עכשיו פקודה עם סודו, עם הרשאות של רות, עם

  19. 05:02

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

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

ההרצאה הקודמת: שליפת סיסמאות מתוך זיכרון - בלי להתקין Mimikatz

ההרצאה הבאה: פריצת סיסמה עם John The Ripper על וונדוס 11

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

  • שליפת כל המוצרים מתוך MySQL
  • שליפת מידע עם Azios
  • תפיסת כל הסיסמאות של כל המשתמשים בזמן הכניסה לווינדוס
  • סוגי זיכרון בשרת SQL

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

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