7.2 טכניקת sid injection הרצאה
טכניקת SID Injection – זיוף מזהי משתמשים למעבר בין חשבונות¶
טכניקת SID Injection היא טכניקת התקפה מתקדמת ב-Privilege Escalation, בה התוקף מזייף SID (Security Identifier) של משתמשים או קבוצות ב-Windows במטרה לקבל גישה לחשבונות בעלי הרשאות גבוהות. באמצעות זיוף של ה-SID, התוקף יכול לנוע ברחבי המערכת, לעקוף מגבלות אבטחה, ולבצע פעולות כאילו הוא משתמש עם הרשאות גבוהות יותר, זאת ללא הצורך בהתקפות זיהוי נוספות כמו password cracking.
בכדי להבין את אופן הפעולה של ה-SID Injection, חשוב להבין את הרקע של ה-SID, תפקידו במערכת ההפעלה של Windows, והאופן שבו התוקפים מנצלים את חולשות המערכת.
מהו SID?¶
הSID (Security Identifier) הוא מזהה ייחודי שמוקצה לכל משתמש, קבוצה, או אובייקט אחר במערכת Windows. כל אובייקט ב-Windows, כולל משתמשים, קבוצות, ומחשבים, מקבל SID כדי לזהותו באופן ייחודי במערכת ההפעלה. SID נמצא בשימוש כשיטת אימות כדי לאשר את הרשאות הגישה של המשתמש לאובייקטים שונים כמו קבצים, תיקיות, או משאבים אחרים במערכת.
במערכת Windows, SID משמש כבסיס עבור ACLs (Access Control Lists), המגדירות את ההרשאות על אובייקטים שונים במערכת. כאשר המערכת שואלת אם למשתמש מסוים יש הרשאה לגישה לאובייקט מסוים, היא בודקת את ה-SID של המשתמש ומוודאת אם יש לו הרשאות מתאימות.
מהי טכניקת SID Injection?¶
הטכניקה של SID Injection מתבצעת כאשר התוקף מנצל את ה-SID כדי לזייף את זהותו של משתמש אחר ולבצע פעולות כאילו הוא אותו משתמש. בדרך זו, התוקף יכול לעקוף את האבטחה של המערכת, להשיג גישה למערכות מוגבלות ולהשיג הרשאות גבוהות יותר (למשל, Administrator או System).
במילים אחרות, התוקף משנה את ה-SID במערכת כדי לקבל את ההרשאות שמוקצות לחשבונות בעלי הרשאות גבוהות, והכל מבלי להזדקק לאישור או למידע נוסף, כמו סיסמאות.
שלב 1: איתור ה-SID של המשתמשים¶
בשלב הראשון, התוקף מזהה את ה-SID של המשתמשים במערכת היעד. זו פעולה שנעשית בעזרת כלים כגון PowerShell, Mimikatz, או Accesschk. כלים אלו יכולים לספק את ה-SID של כל משתמש במערכת, ובפרט את ה-SID של קבוצות עם הרשאות גבוהות, כמו Domain Admins.
דוגמה לשימוש ב-PowerShell לאיתור SID:¶
בפקודה זו, Get-ADUser משיגה את המידע על המשתמש Administrator ומחזירה את ה-SID של המשתמש.
הפקודה ב-Mimikatz:¶
פקודה זו משיגה את ה-SID של כל המשתמשים במערכת, כולל משתמשים עם הרשאות גבוהות.
שלב 2: הזרקת ה-SID (SID Injection)¶
לאחר שהתוקף זיהה את ה-SID של משתמשים בעלי הרשאות גבוהות, הוא יכול להזריק את ה-SID לתוך המערכת כדי לזייף את זהותו. אחת הדרכים הנפוצות לעשות זאת היא על ידי יצירת קובץ תיקיות או אובייקטים עם הרשאות קריטיות, כשהם שייכים למשתמש בעל SID שנגנב.
דוגמה ל-SID Injection באמצעות Mimikatz:¶
השלב הבא הוא לגרום למערכת להאמין שהתוקף הוא משתמש עם SID גבוה, כמו Administrator או Domain Admins, ולהריץ פקודות או לבצע שינויים כאילו הוא בעל הרשאות גבוהות.
הפקודה הזו משנה את ה-token של המשתמש הנוכחי כדי לשייך אותו ל-SID שהוזן, ובכך מאפשרת לתוקף לקבל את ההרשאות שמוקצות למשתמש המקורי של ה-SID (למשל Domain Admins).
שלב 3: ניצול הרשאות גבוהות¶
לאחר ההזרקה של ה-SID, התוקף יכול להשתמש בהרשאות הגבוהות כדי לבצע פעולות אסורות במערכת. פעולות כאלה יכולות לכלול:
-
גישה למשאבים מוגבלים: התוקף יכול לקבל גישה למשאבים רגישים כמו קבצים, תיקיות או בסיסי נתונים שנעולים למשתמשים אחרים.
-
הרצת פקודות כ-Administrator: התוקף יכול להפעיל פקודות מערכת עם הרשאות Administrator או System, ובכך לשלוט על המערכת ולהשפיע על תפקודה.
-
הגברת הרשאות (Privilege Escalation): התוקף יכול לשנות את ההגדרות של קבוצות והמשתמשים במערכת, להוסיף את עצמו לקבוצות עם הרשאות גבוהות (כגון Domain Admins), או להשיג שליטה מלאה על המערכת.
דוגמה לשימוש ב-Token Impersonation לאחר SID Injection:¶
פקודה זו מאפשרת לתוקף להפעיל את ה-token של משתמש אחר, ובכך להשיג את כל ההרשאות של אותו משתמש.
שלב 4: ביצוע פעולות לא חוקיות¶
לאחר שה-SID הוזרק בהצלחה והמשתמש הנוכחי שייך כעת לקבוצת המשתמשים עם הרשאות גבוהות, התוקף יכול להמשיך לבצע פעולות לא חוקיות ופעולות בעלות פוטנציאל נזק גבוה.
דוגמה לפעולה של שליטה על מערכת באמצעות SID Injection:¶
בפקודה זו, התוקף יוצר משתמש חדש במחשב היעד עם סיסמה ידועה, ומקנה לו הרשאות של משתמש בעל SID גבוה.
הגנות נגד SID Injection¶
-
הגבלת גישה ל-Local Administrator: מונעים את השימוש המוגזם ב-Local Admin ויוצרים קבוצות גישה מצומצמות מאוד.
-
שימוש ב-Access Control Lists (ACL): יש לוודא שכל ההרשאות ב-Windows מיועדות רק למשתמשים המורשים, ושאין אפשרות לשנות או לגנוב SID.
-
הגברת אבטחה ב-Domain Controllers: יש לוודא ש-Domain Controllers מוגנים היטב, ולמנוע גישה בלתי מורשית לחשבונות בעלי הרשאות גבוהות.
-
הפעלת Monitoring על תהליכים קריטיים: ניטור ותגובה למתקפות שמזוהות עם Token Impersonation ו-SID Injection במערכת.
-
ניצול הגנות כמו LAPS: שימוש ב-LAPS (Local Administrator Password Solution) כדי להקשות על תוקפים להשיג גישה לחשבונות עם הרשאות גבוהות.