הסלמת הרשאות – הבדלי גרסאות

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
Eliya339 (שיחה | תרומות)
Eliya339 (שיחה | תרומות)
אין תקציר עריכה
שורה 1: שורה 1:
{{בעבודה}}
{{בעבודה}}
[[קובץ:Privilege_Escalation_Diagram.svg|ממוזער|תרשים המתאר הסלמת הרשאות. השיפוע כלפי מעלה בתחתית התרשים מתאר הסלמת הרשאות של משתמש רגיל להרשאות מנהל והחץ מתאר הסלמת הרשאות, מהרשאות מנהל להרשאות המאפשרות גישה לליבת המערכת.]]
[[קובץ:Privilege_Escalation_Diagram.svg|ממוזער|תרשים המתאר הסלמת הרשאות. השיפוע כלפי מעלה בתחתית התרשים מתאר הסלמת הרשאות של משתמש רגיל להרשאות מנהל והחץ מתאר הסלמת הרשאות, מהרשאות מנהל להרשאות המאפשרות גישה לליבת המערכת.]]
הסלמת הרשאות (באנגלית: '''Privilege escalation''') זהו מונח המתאר ניצול [[באג]], פגם בעיצוב או פיקוח ב[[מערכת הפעלה]] או יישום, כדי לקבל גישה מוגברת למשאבים אשר הגישה אליהם חסומה ל[[יישום מחשב|אפליקציה]] או למשתמש ללא הרשאות. ניצול של טכניקות הסלמת הרשאות מאפשר למשתמש או לאפליקציה לקבל הרשאות גבוהות יותר מכפי שהוגדרו על ידי [[מנהל רשת|מנהל הרשת]]/[[מתכנת|מפתח]] האפליקציה.
הסלמת הרשאות (באנגלית: '''Privilege Escalation''') זהו מונח המתאר ניצול [[באג]], פגם בעיצוב או פיקוח ב[[מערכת הפעלה]] או יישום, כדי לקבל גישה מוגברת למשאבים אשר הגישה אליהם חסומה ל[[יישום מחשב|אפליקציה]] או למשתמש ללא הרשאות. ניצול של טכניקות הסלמת הרשאות מאפשר למשתמש או לאפליקציה לקבל הרשאות גבוהות יותר מכפי שהוגדרו על ידי [[מנהל רשת|מנהל הרשת]]/[[מתכנת|מפתח]] האפליקציה.


== רקע כללי ==
== רקע כללי ==
שורה 11: שורה 11:


== הסלמת הרשאות במערכות windows ==
== הסלמת הרשאות במערכות windows ==
כאמור, הסלמת הראשות יכולה לנבוע ממגוון סיבות, החל מבאג ביישום או במערכת הפעלה ועד לכשלים לוגיים, לדוגמה, כאשר יישום עם הרשאות X ייפנה למשתמש עם הרשאות נמוכות משלו. הסלמת הרשאות בעקבות כשל לוגי נחשבת לנפוצה יותר מהמקרים האחרים, אך ניתן למצוא מקרים רבים גם של אירועי הסלמת הרשאות שנבעו מבאגים ופגמים במערכות הפעלה וביישומים. במהלך השנים נמצאו דרכים ושיטות רבות לביצוע הסלמת הראשות במערכות ההפעלה ממשפחת [[Microsoft Windows|microsot windows]] ובפסקאות הבאות נסקור את הבולטות שבהן.
כאמור, הסלמת הראשות יכולה לנבוע ממגוון סיבות, החל מבאג ביישום או במערכת הפעלה ועד לכשלים לוגיים, לדוגמה, כאשר יישום עם הרשאות X ייפנה למשתמש עם הרשאות נמוכות משלו. הסלמת הרשאות בעקבות כשל לוגי נחשבת לנפוצה יותר מהמקרים האחרים, אך ניתן למצוא מקרים רבים גם של אירועי הסלמת הרשאות שנבעו מבאגים ופגמים במערכות הפעלה וביישומים. במהלך השנים נמצאו דרכים ושיטות רבות לביצוע הסלמת הראשות במערכות ההפעלה ממשפחת [[Microsoft Windows|microsot windows]] ובפסקאות הבאות נסקור את הבולטות שבהן<ref>{{צ-ספר|שם=Privileged Attack Vectors|קישור=http://dx.doi.org/10.1007/978-1-4842-3048-0_5|מו"ל=Apress|שנת הוצאה=2017-12-09|מקום הוצאה=Berkeley, CA|ISBN=978-1-4842-3047-3|עמ=53–68|מחבר=Morey J. Haber, Brad Hibbert}}</ref>.

=== Bypass User Account Control ===
טכניקה ידועה נוספת של הסלמת הרשאות היא שימוש במנגנון [[Microsoft Windows|windosw]] לבקרת חשבון המשתמש (user account control) המבצע הפרדה בין משמשים רגילים למשתמשים בעלי הרשאות administrator. מנגנון זה מאפשר לכל היישומים לרוץ כברירת מחדל אך ורק עם הרשאות משתמש רגיל. על מנת לאפשר להן לרוץ תחת הראשות administrator יצטרך מנהל המערכת להגדיר זאת באופן ספציפי (או במקרה של משתמש סטנדרטי במחשב ביתי, לאפשר זאת במפורש ובאופן ספציפי). במקרה שהמנגנון אינו מגדיר הגנה ברמה הגבוהה ביותר, חלק מיישומי windows יוכלו לבצע הסלמת הרשאות או להריץ אובייקטים ממודל האובייקטים של הרכיבים תחת הרשאות מנהל. בנובמבר 2019 נחשפה חולשה במנגנון בקרת חשבון משתמש בגרסאות windows ספציפיות, אשר אפשרה לבצע הסלמת הרשאות אנכית גם כאשר מנגנון הבקרה מוגדר ברמה ההגנה הגבוהה ביותר. הרעיון מאחורי חולשה זו היא ניצולו של התהליך consent.exe האחראי על הדיאלוג Secure Desktop אשר רץ בכל פעם שאנו מריצים קובץ תחת הרשאות מנהל מערכת. תהליך הconsent.exe רץ תחת מזהה NT_AUTHORITY\SYSTEM (מזהה הLocal System, החשבון בעל ההרשאות הגבוהות ביותר במערכות windows) ו[[האקר|חוקרי אבטחה]] מצאו דרך לגרום לניצול התהליך להרצת קבצים אחרים, ע"י ניצול התנהגות ספציפית של התהליך כאשר הוא זיהה קובץ עם מאפיינים מסוימים<ref>{{קישור כללי|כתובת=https://www.thezdi.com/blog/2019/11/19/thanksgiving-treat-easy-as-pie-windows-7-secure-desktop-escalation-of-privilege|כותרת=Zero Day Initiative — Thanksgiving Treat: Easy-as-Pie Windows 7 Secure Desktop Escalation of Privilege|אתר=Zero Day Initiative|שפה=en-US|תאריך_וידוא=2020-07-30}}</ref>.


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

=== Bypass User Account Control ===
טכניקה ידועה נוספת של הסלמת הרשאות היא שימוש במנגנון windosw לבקרת חשבון המשתמש (user account control) המבצע הפרדה בין משמשים רגילים למשתמשים בעלי הרשאות administrator. מנגנון זה מאפשר לכל היישומים לרוץ כברירת מחדל אך ורק עם הרשאות משתמש רגיל. על מנת לאפשר להן לרוץ תחת הראשות administrator יצטרך מנהל המערכת להגדיר זאת באופן ספציפי (או במקרה של משתמש סטנדרטי במחשב ביתי, לאפשר זאת במפורש ובאופן ספציפי). במקרה שהמנגנון אינו מגדיר הגנה ברמה הגבוהה ביותר, חלק מיישומי windows יוכלו לבצע הסלמת הרשאות או להריץ אובייקטים ממודל האובייקטים של הרכיבים תחת הרשאות מנהל. בנובמבר 2019 נחשפה חולשה במנגנון בקרת חשבון משתמש בגרסאות windows ספציפיות, אשר אפשרה לבצע הסלמת הרשאות אנכית גם כאשר מנגנון הבקרה מוגדר ברמה ההגנה הגבוהה ביותר. הרעיון מאחורי חולשה זו היא ניצולו של התהליך consent.exe האחראי על הדיאלוג Secure Desktop אשר רץ בכל פעם שאנו מריצים קובץ תחת הרשאות מנהל מערכת. תהליך הconsent.exe רץ תחת מזהה NT_AUTHORITY\SYSTEM (מזהה הLocal System, החשבון בעל ההרשאות הגבוהות ביותר במערכות windows) וחוקרי אבטחה מצאו דרך לגרום לניצול התהליך להרצת קבצים אחרים, ע"י ניצול התנהגות ספציפית של התהליך כאשר הוא זיהה קובץ עם מאפיינים מסוימים<ref>{{קישור כללי|כתובת=https://www.thezdi.com/blog/2019/11/19/thanksgiving-treat-easy-as-pie-windows-7-secure-desktop-escalation-of-privilege|כותרת=Zero Day Initiative — Thanksgiving Treat: Easy-as-Pie Windows 7 Secure Desktop Escalation of Privilege|אתר=Zero Day Initiative|שפה=en-US|תאריך_וידוא=2020-07-30}}</ref>.


=== DLL search order hijacking ===
=== DLL search order hijacking ===
שורה 25: שורה 25:


=== Kernel Exploit ===
=== Kernel Exploit ===
טכניקת תקיפה זו משתמשת בפגיעויות המתגלות בליבת לינוקס על מנת לעלות את ההרשאות של משתמשים במערכת להרשאות sudo. במהלך השנים נמצאו kernel exploit רבים ותקיפה זו הפכה לפופולרית ונפוצה.
טכניקת תקיפה זו משתמשת בפגיעויות המתגלות ב[[לינוקס (ליבה)|ליבת לינוקס]] על מנת לעלות את ההרשאות של משתמשים במערכת להרשאות sudo. במהלך השנים נמצאו kernel exploit רבים ותקיפה זו נחשבת לפופולרית ונפוצה.


=== Exploiting SUDO Rights ===
=== Exploiting SUDO Rights ===
טכניקה נפוצה נוספת של הסלמת הרשאות בLinux היא ניצול של תכונה במערכת Linux המאפשרת נתינת הרשאות sudo לפקודות ספציפיות. כך, שבמקרה בו מנהל רשת ייתן הרשאות sudo לפקודות find לצורך הדוגמה (פקודה שמסייעת למצוא קבצים במערכת, ע"פ פרמטרים של שם, גודל וסוג), יוכל משתמש בעל הרשאות רגילות להשתמש בפרמטרים של find לביצוע פקודות במערכת תחת הרשאות sudo, ההרשאה תחתיה רצה find.
טכניקה נפוצה נוספת של הסלמת הרשאות ב[[לינוקס|Linux]] היא ניצול של תכונה במערכת Linux המאפשרת נתינת הרשאות sudo לפקודות ספציפיות. כך, שבמקרה בו מנהל רשת ייתן הרשאות [[sudo]] לפקודות find לצורך הדוגמה (פקודה שמסייעת למצוא קבצים במערכת, ע"פ פרמטרים של שם, גודל וסוג), יוכל משתמש בעל הרשאות רגילות להשתמש בפרמטרים של find לביצוע פקודות במערכת תחת הרשאות sudo, ההרשאה תחתיה רצה find.

== הסלמת הרשאות ביישומי אינטרנט ==
בפסקאות הקודמות נסקרו טכניקות הסלמת ההרשאות הנפוצות ברשתות ארגוניות המשתמשות במערכות windows וLinux. בפסקה זו נתמקד בטכניקות הסלמת הרשאות ביישומי אינטרנט, שאומנם בדרך כלל מבוססים על שרתי linux או windows, אך קיימים בהם פגיעויות אפשריות נוספות, הנובעים מxss, קבצי Cookie, ססמאות חלשות והגדרה לא נכונה של שרת הweb.


== פתרונות אבטחה ==
== פתרונות אבטחה ==
ישנם מספר כללים<ref>{{צ-מאמר|מחבר=Niels provos, Peter Honeyman, Markus Friedl|שם=Preventing Privilege Escalation|כתב עת=|קישור=https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/33458.pdf|שנת הוצאה=}}</ref><ref>{{קישור כללי|כתובת=https://study.com/academy/lesson/preventing-privilege-escalation.html|הכותב=|כותרת=Preventing Privilege Escalation|אתר=study.com|תאריך=|תאריך_וידוא=2020-08-03}}</ref><ref>{{קישור כללי|כתובת=https://www.netsparker.com/blog/web-security/privilege-escalation/|הכותב=Zbigniew Banach|כותרת=What Is Privilege Escalation and Why Is It Important?|אתר=www.netsparker.com|תאריך=2019-08-02|שפה=en|תאריך_וידוא=2020-08-03}}</ref><ref>{{קישור כללי|כתובת=https://www.exabeam.com/ueba/privilege-escalation/|כותרת=Privilege Escalation Detection: The Key to Preventing Advanced Attacks|אתר=Exabeam|תאריך=2020-01-30|שפה=en-US|תאריך_וידוא=2020-08-03}}</ref> אשר נקיטתם מבטיחה צמצום משמעותי של הסיכון להיפגע מהסלמת הרשאות:
ישנם מספר כללים אשר נקיטתם מבטיחה צמצום משמעותי של הסיכון להיפגע מהסלמת הרשאות:


* הרצת כל התוכנות במערכת ההפעלה תחת הרשאה המינימלית, כברירת מחדל
* הרצת כל התוכנות במערכת ההפעלה תחת ההרשאה המינימלית, כברירת מחדל
* בחירת ססמאות חזקות לכלל המשתמשים ובמידת האפשר להשתמש באימות דו שלבי. כמו-כן, הקפד על חובת אימות נוסף לפני כל כניסה לתוכנה רגישה, כגון מסדי נתונים
* בחירת ססמאות חזקות לכלל המשתמשים ובמידת האפשר להשתמש באימות דו שלבי. כמו-כן, יש להקפיד על חובת אימות נוסף לפני כל כניסה לתוכנה רגישה, כגון מסדי נתונים
* הקפד לעדכן את מערכת ההפעלה והיישומים המותקנים בה בה באופן תדיר
* יש להקפיד לעדכן את מערכת ההפעלה והיישומים המותקנים בה בה באופן תדיר
* הקפד תמיד לשנות את סיסמאות ברירת המחדל בנתבים, מתגים, מדפסות ובכל הציוד המשרדי ומוצרי הIOT אותן אתה מחזיק.
* יש להקפיד לשנות את סיסמאות ברירת המחדל ב[[נתב|נתבים]], [[מתג (רשתות מחשבים)|מתגים]], [[מדפסת|מדפסות]] ובכל הציוד המשרדי ומוצרי ה[[האינטרנט של הדברים|ioT]] הקיימים ברשת
* פעמים רבות 'תיקיות משותפות' מהוות הפתח עבור התוקף לביצוע הסלמת ההרשאות. הקפד לבדוק את תיקיות אלו ולוודא שרק המידע הרלוונטי למשתמשים הרלוונטים נשמר בהם
* פעמים רבות 'תיקיות משותפות' מהוות הפתח עבור התוקף לביצוע הסלמת ההרשאות. הקפד לבדוק את תיקיות אלו ולוודא שרק המידע הרלוונטי למשתמשים הרלוונטים נשמר בהם
* בצע מעקב קפדני אחר הרשאות המשתמשים וחברותם בקבוצות במערכת. יש להקפיד שלכל משתמש תהיה אך ורק את הגישה הרלוונטית לו וחברותו תהיה אך ורק בקבוצות הרלוונטיות
* בצע מעקב קפדני אחר הרשאות המשתמשים וחברותם בקבוצות במערכת. יש להקפיד שלכל משתמש תהיה אך ורק את הגישה הרלוונטית לו וחברותו תהיה אך ורק בקבוצות הרלוונטיות
* כשעובד עוזב את החברה / תחום העבודה של עובד משתנה, הקפד למחוק את חשבונו / לעדכן את ההרשאות בהתאם
* כשעובד עוזב את החברה / תחום העבודה של עובד משתנה, הקפד למחוק את חשבונו / לעדכן את ההרשאות בהתאם

== קישורים חיצוניים ==

* [https://www.digitalwhisper.co.il/files/Zines/0x01/DW1-1-PrivilegeEscalation.pdf Privilage Escalation], מגזין [[Digital Whisper (מגזין)|digital whisper]]


== הערות שוליים ==
== הערות שוליים ==

גרסה מ־14:33, 3 באוגוסט 2020

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

הסלמת הרשאות (באנגלית: Privilege Escalation) זהו מונח המתאר ניצול באג, פגם בעיצוב או פיקוח במערכת הפעלה או יישום, כדי לקבל גישה מוגברת למשאבים אשר הגישה אליהם חסומה לאפליקציה או למשתמש ללא הרשאות. ניצול של טכניקות הסלמת הרשאות מאפשר למשתמש או לאפליקציה לקבל הרשאות גבוהות יותר מכפי שהוגדרו על ידי מנהל הרשת/מפתח האפליקציה.

רקע כללי

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

א'. הסלמת הרשאות אנכית (Vertical privilege escalation): מונח המבטא פעולה של משתמש או יישום, בה הוא ניגש לאזור או למידע אשר שמור אך ורק למשתמשים בעלי הרשאות גבוהות. לדוגמה: משתמש A בויקיפדיה אשר לו הרשאות סטנדרטיות לגשת לאזור B - אזור כתיבת הערכים, ניגש לאזור C בויקיפדיה אשר שייך למשתמשים בעלי הרשאות ניטור. מונח זה ידוע גם בשם "העלאת הרשאות" (או באנגלית: privilege elevation).

ב'. הסלמת הרשאות אופקית (Horizontal privilege escalation): מונח המבטא פעולה של משתמש פשוט, כאשר הוא ניגש לאזור או למידע אשר שמור למשתמשים רגילים אחרים. לדוגמה: משתמש A ומשתמש B ברשת הינם חברים לעבודה העובדים ברשת X, לכל אחד מהם יש הרשאה לבצע יצירת קבצים אישיים, קבצים אשר רק הוא יוכל לראות ולערוך. הסלמת הרשאות אופקית מתרחשת כאשר משתמש A משיג הרשאות לצפות ולערוך את קובצי משתמש B, ולא בגלל הסלמת הרשאות אנכית במערכת שמאפשרת לו להיות מנהל הרשת ולצפות בכל הקבצים ברשת, אלא בגלל הסלמת הרשאה ספציפית.

הסלמת הרשאות במערכות windows

כאמור, הסלמת הראשות יכולה לנבוע ממגוון סיבות, החל מבאג ביישום או במערכת הפעלה ועד לכשלים לוגיים, לדוגמה, כאשר יישום עם הרשאות X ייפנה למשתמש עם הרשאות נמוכות משלו. הסלמת הרשאות בעקבות כשל לוגי נחשבת לנפוצה יותר מהמקרים האחרים, אך ניתן למצוא מקרים רבים גם של אירועי הסלמת הרשאות שנבעו מבאגים ופגמים במערכות הפעלה וביישומים. במהלך השנים נמצאו דרכים ושיטות רבות לביצוע הסלמת הראשות במערכות ההפעלה ממשפחת microsot windows ובפסקאות הבאות נסקור את הבולטות שבהן[1].

Bypass User Account Control

טכניקה ידועה נוספת של הסלמת הרשאות היא שימוש במנגנון windosw לבקרת חשבון המשתמש (user account control) המבצע הפרדה בין משמשים רגילים למשתמשים בעלי הרשאות administrator. מנגנון זה מאפשר לכל היישומים לרוץ כברירת מחדל אך ורק עם הרשאות משתמש רגיל. על מנת לאפשר להן לרוץ תחת הראשות administrator יצטרך מנהל המערכת להגדיר זאת באופן ספציפי (או במקרה של משתמש סטנדרטי במחשב ביתי, לאפשר זאת במפורש ובאופן ספציפי). במקרה שהמנגנון אינו מגדיר הגנה ברמה הגבוהה ביותר, חלק מיישומי windows יוכלו לבצע הסלמת הרשאות או להריץ אובייקטים ממודל האובייקטים של הרכיבים תחת הרשאות מנהל. בנובמבר 2019 נחשפה חולשה במנגנון בקרת חשבון משתמש בגרסאות windows ספציפיות, אשר אפשרה לבצע הסלמת הרשאות אנכית גם כאשר מנגנון הבקרה מוגדר ברמה ההגנה הגבוהה ביותר. הרעיון מאחורי חולשה זו היא ניצולו של התהליך consent.exe האחראי על הדיאלוג Secure Desktop אשר רץ בכל פעם שאנו מריצים קובץ תחת הרשאות מנהל מערכת. תהליך הconsent.exe רץ תחת מזהה NT_AUTHORITY\SYSTEM (מזהה הLocal System, החשבון בעל ההרשאות הגבוהות ביותר במערכות windows) וחוקרי אבטחה מצאו דרך לגרום לניצול התהליך להרצת קבצים אחרים, ע"י ניצול התנהגות ספציפית של התהליך כאשר הוא זיהה קובץ עם מאפיינים מסוימים[2].

Access Token Manipulation

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

DLL search order hijacking

דרך נוספת לבצע הסלמת הרשאות במערכות windows, הוא ביצוע טעינה מוקדמת של ספריות קישור דינמי (Dynamic-Link Library). בשיטת תקיפה זו, יטעימו התוקפים dll זדוני, עם שם זהה לdll לגיטימי אותו מערכת ההפעלה תחפש. התוקפים יטמיעו את הdll הזדוני במיקום בו מחפשת מערכת ההפעלה לפני שהיא מגיעה למיקום של הdll האמתי ובכך יטעו את המערכת.

הסלמת הרשאות במערכות Linux

Kernel Exploit

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

Exploiting SUDO Rights

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

הסלמת הרשאות ביישומי אינטרנט

בפסקאות הקודמות נסקרו טכניקות הסלמת ההרשאות הנפוצות ברשתות ארגוניות המשתמשות במערכות windows וLinux. בפסקה זו נתמקד בטכניקות הסלמת הרשאות ביישומי אינטרנט, שאומנם בדרך כלל מבוססים על שרתי linux או windows, אך קיימים בהם פגיעויות אפשריות נוספות, הנובעים מxss, קבצי Cookie, ססמאות חלשות והגדרה לא נכונה של שרת הweb.

פתרונות אבטחה

ישנם מספר כללים[3][4][5][6] אשר נקיטתם מבטיחה צמצום משמעותי של הסיכון להיפגע מהסלמת הרשאות:

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

קישורים חיצוניים

הערות שוליים

  1. ^ Morey J. Haber, Brad Hibbert, Privileged Attack Vectors, Berkeley, CA: Apress, 2017-12-09, עמ' 53–68, ISBN 978-1-4842-3047-3
  2. ^ Zero Day Initiative — Thanksgiving Treat: Easy-as-Pie Windows 7 Secure Desktop Escalation of Privilege, Zero Day Initiative (באנגלית אמריקאית)
  3. ^ Niels provos, Peter Honeyman, Markus Friedl, Preventing Privilege Escalation
  4. ^ Preventing Privilege Escalation, study.com
  5. ^ Zbigniew Banach, What Is Privilege Escalation and Why Is It Important?, www.netsparker.com, ‏2019-08-02 (באנגלית)
  6. ^ Privilege Escalation Detection: The Key to Preventing Advanced Attacks, Exabeam, ‏2020-01-30 (באנגלית אמריקאית)