לדלג לתוכן

מה זה GPP ו-cpassword

יש חולשות שנוצרות מבאג בקוד, ויש חולשות שנוצרות מהחלטת עיצוב גרועה שרק אחר כך התברר עד כמה היא מסוכנת. GPP ו-cpassword הם דוגמה מושלמת לסוג השני - פיצ'ר שהיה שימושי מאוד למנהלי מערכות, אבל התברר שהוא חושף סיסמאות בצורה כמעט טריוויאלית לכל אחד עם גישה לרשת הפנימית.

מה זה GPP

GPP - Group Policy Preferences - הוא הרחבה למדיניות קבוצתית (Group Policy) ב-Active Directory, שהוסיפה למנהלי מערכות יכולת נוחה: להגדיר דברים כמו משתמשים מקומיים, משימות מתוזמנות, מיפויי כוננים ואפילו סיסמאות, ולהפיץ אותם אוטומטית לכל המחשבים בדומיין. הרעיון היה טוב - במקום להגדיר ידנית משתמש מקומי בכל מחשב בארגון, מגדירים פעם אחת במדיניות קבוצתית וזה מתפשט לכולם.

הבעיה - cpassword

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

איך התקיפה עובדת בפועל

  • איתור הקובץ - בודק חדירות עם גישה לדומיין (אפילו משתמש רגיל בלי הרשאות מיוחדות) סורק את תיקיית SYSVOL, שנגישה דרך שיתוף רשת רגיל, ומחפש קבצי XML שמכילים שדה cpassword.
  • פענוח הסיסמה - מכיוון שהמפתח קבוע וידוע, פענוח הערך הוא פעולה מיידית עם כלים ייעודיים או אפילו סקריפט קצר.
  • שימוש בסיסמה - הסיסמה שמתקבלת שייכת לרוב למשתמש מקומי או לחשבון שירות שהוגדר דרך GPP, ולא פעם אותה סיסמה משמשת גם חשבונות אחרים בארגון בגלל שימוש חוזר בסיסמאות.

למה עדיין מוצאים את זה

מיקרוסופט תיקנה את הבעיה הזו רשמית - מאז עדכון אבטחה שהוצא, אי אפשר עוד ליצור הגדרות סיסמה חדשות דרך GPP. אבל התיקון מנע יצירה של סיסמאות חדשות, הוא לא מחק קבצים ישנים שכבר קיימים בתיקיית SYSVOL. בהרבה ארגונים שמנהלים את הדומיין שלהם שנים, ומעולם לא ניקו קבצי GPP ישנים, קובץ XML כזה עדיין יושב שם ומחכה. זו הסיבה שבדיקת GPP ו-cpassword היא עדיין שלב סטנדרטי בכל בדיקת חדירות פנימית על Active Directory.

איך מגנים על הארגון מפני זה

  • לסרוק את תיקיית SYSVOL ולחפש קבצי XML ישנים עם שדה cpassword, ולמחוק אותם אם נמצאים.
  • להימנע לחלוטין משימוש ב-GPP להגדרת סיסמאות, גם אם הפיצ'ר עדיין קיים במערכות ישנות.
  • לוודא שאין שימוש חוזר בסיסמאות בין חשבונות מקומיים לחשבונות דומיין רגישים.

איך לומדים לזהות חולשות כאלה

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

לסיכום

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

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

הצטרפו לקהילה בדיסקורד