Windows privilege escalation prevention

24 באפריל 2013

 

שבוע שעבר יצא לי לשחק קצת בנושא הזה ברשת גדולה. ואילו אתמול קיבלתי במייל את עדכון האבטחה החודשי של מייקרוסופט שכלל בתוכו 1 2 3 4 5 מאמרים על חולשות privilege escalation . מסתבר שאין ערך עברי בוויקפדיה – בקצרה אפרט כי הרעיון הוא להעלות לעצמך את ההרשאות ממשתמש רגיל (או בלי משתמש בכלל) ולהגיע לרמה של אדמין. כך שגם מי שהשקיע משאבים רבים בהורדת הרשאות למשתמשים כמו בפוסט שפרסמתי לא מכבר – עדיין נשאר חשוף.


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


אם אני על שרת טרמינל סרבר. אניי ייכול להשתלט על כל השרת, המשתמשים שבו ובעצם לראות ולעשות הכל. מרמה של להתקין מוצר נחמד שיקליט את הסשנים של כולם , כל מני key logger, להסניף את הרשת וכ'ו


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


אם אני כותב ווירוס. כנראה שארצה להשתמש באחת מהחולשות הללו מכדי לבסס את עצמי במערכת ההפעלה ולא רק על משתמש בודד. (בין הייתר – כי ארצה להילחם באנטי ווירוסים, פאייר וולים וכ'ו). סטאקסנט לדוגמא חשף אחת כזו MS10-092.

 

 

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

 

אשתף אתכם בפוסט קצר שהעלתי בפורום מומחי IT בתפוז (חלק משרשור מעניין בפני עצמו). לפני קצת יותר משבוע מצאתי ברשת מאוד גדולה תופעה מענינת. אני ייכול לכתוב ל program files ול windows. מכיוון שאני מכיר קצת הגדרות דיפולטיות (וזו לא אחת מהן) חיפשתי מהיכן היא כן מגיעה. הרצה קטנה של rsop.msc חשפה פוליסי שחל על כל הרשת ומאפשר ל users הרשאות מלאות. כנראה לצורך כתיבה של קבצי הגדרות וכ'ו. מייד זיהיתי את הפוטנציאל והתחלתי לעבוד. מכיוון שלא היה לי קומפיילר על התחנה (עדיין). הכנתי קובץ self-zip-extract שמכיל בתוכו סקריפט קטן שיוצר משתמש אדימיני. הכנסתי אותו במקום קובץ EXE של אחד הסריביסים. ריסט קטן למחשב והיוזר המיוחל נוצר.  מעניין אמרתי – אולי יש לי דרך קלה ייותר וכך מצאתי את עצמי מחליף קובץ של מערכת איפוס הסיסמאות האוטומטית שרצה מ loginui בקובץ cmd.exe פשוט. ראו צילום מסך – כמה פשוט להפוך ל system.



האק נחמד אחר של LoginUi שקיים בכל גרסאות XP-vista-7-8.



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


 

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


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

 

2. תמיד לעבוד לפי Best practice. יש סיבה לכך שההרשאות הדיפולטיות הם ההרשאות הדיפולטיות. ושעדכוני אבטחה יוצאים (לרוב) פעמיים בחודש. אני גם מאוד מאוד ממליץ לאסוף קצת יותר פעולות AUDIT מתקדמות ולאורך זמן יותר מהסטנדרטי . ניתן להגדיר זאת ב GPO פשוט, ואם יישנה מערכת שגם תדע לאסוף ולנתח זאת עוברכם – מומלץ מאוד.

 

3. לחסום גישה לכלי ניהול. אני קצת לא אוהב את הפרקטיקה הזו כי היא יותר מסתירה מאשר חוסמת. אבל יש כ"כ הרבה אפשרויות ב GPO לחסום כלי מערכת. מ CMD דרך עורך רג'יסטרי. עד NOTEPAD (שכנראה ישמש כל סקריפט קיד מתחיל) וגישה לצפייה בקבצים בכונן המקומי. זה בהחלט ייכול לעכב מתקפות עד להתיש להחלוטין תוקף פוטנציאלי. APP LOCKER גם היא פונקציה מאוד נחמדה שתמנע הרבה זבל מהתחנות.

 


כמה מילים על שכיחות של פרצות אבטחה. יש הטוענים כי מוצרים של חברות מסוימות. או מוצרים בקוד פתוח \ סגור (כל אחד וטעמו) יותר בטוחים. לענייננו אני מעדיף לצאת מנקודת הנחה שפרצות יש בכמות כמעט אינסופית-הטענה הזו מוכחת בכל כנס האקרים. החשיבות בבחירת המוצרים שישמשו אותנו היא כמה מהר הפרצות נסגרות וכמה מהר אנחנו ייכולים להפיץ את התיקון. הפרסומים של מייקרוסופט על 5 חולשות כאלו בחודש אחד לא מצביעים על האבטחה של המוצר (שמיליוני האקרים מנסים לחדור בכל יום). מה שצריך לעניין אותנו זה מספר הימים בהם אנו חשופים. כדוגמא הפוכה – קחו את פרשת הג'אווה האחרונה. שחולשות in the wild נשארו פתוחות –חצי שנה-  

 

 

שאלות? הערות? הצעות? – התגובות לרשותכם !





Gidon Marcus work as a Storage Systems Support Engineer for the NetApp EMEA market in Newcastle, UK. He is one of the moderators of the largest Hebrew IT community and also active in some other Israeli and world-wide professional Forums & communities. For the past two years worked for the Israeli police as a deployment & Windows client expert. And also worked as senior Windows Client consultant on behalf of Hewlett-Packard (HP). Gidon served in the Israeli air force as a system administrator and a team leader of the Sys-Desk department at a large air force base. In the free time study for BA in social science at the Open University And blogs about anything related to Microsoft and technology that’s beneficial to others

Visit Gidon Marcus profile on LinkedIn
View Gidi Marcus's profile on LinkedIn

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *