Site icon

חשיפת פרטי הזדהות מתוך Vault

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

כל תקיפה באשר היא צריכה להתחיל ממקום מסוים ואין כמו להתחיל מתוך התחנה המקומית ואם יש לנו רכיב Credential Manager שאינו מוצפן אז החיים קלים.

כידוע בגרסאות Windows השונות ניתן לשמור פרטי הזדהות (web & windows) ולאחסן את כל אותן פרטי הזדהות רכיב Credential Manager, אותו רכיב Credential Manager שומר את פרטי ההזדהות במספר מקומות שונים: תיקיית Credentials, תיקיית User Data, תיקיית Vault, ערכי Registry שונים.

פרטי הזדהות שניתן לשמור מקומית ברכיב Credential Manager נחלקים למספר קטגוריות שאת חלקן ניתן לזהות באופן פשוט יחסי וחלקן אף לא ניתן (למשל בתצורת Seamless SSO לא ניתן לזהות את פרטי ההזדהות כלל מתוך רכיבים מקומיים)

רכיב Credential Manager מחלק את הקטגוריות למספר הגדרות עיקירות:

אם נריץ את הפקודה vaultcmd /list נוכל לדעת היכן חלק מפרטי ההזדהות נשמרים

בשורה התחתונה כל אותם פרטי הזדהות נשמריםבמנגנון Local Security Authority ובמנגנון SAM database המקומי בכל גרסאות Windows השונות.

איפה הסיכון?

גניבת פרטי הזדהות היא פשוטה יחסית והדרך הקלה יותר לפריצה אל הארגון, ובדומה למתקפות מסוג Pass-The-Hash שבו ניתן לגנוב הרשאות מתוך התחנה המקומית (כדוגמת Credentials Manager) ומכאן לשוטט בארגון ולהמשיך במסלול Kill Chain הקלאסי.

איך מגלים סיסמאות

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

בכדי לחשוף פרטי הזדהות ניתן להריץ את הפקודות הבאות מתוך PowerShell:

[void][Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime]
$vault = New-Object Windows.Security.Credentials.PasswordVault
$vault.RetrieveAll() | % { $_.RetrievePassword();$_ }

לאחר מכן נקבל את פרטי ההזדהות

ניתן להריץ את הפקודות על תחנת החל מגרסת Windows 7 ומעלה וכמו שניתן לראות ישנה סיסמה אשר מוגדרת במצב מוסתר והנוספת במצב רגיל.

אז מה עושים?

ישנם מספר דרכים למניעת גילוי סיסמאות מתוך רכיב Credential Manager מקומי:

לסיכום

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

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

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

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

Exit mobile version