PracticU

העלאת הרשאות על ידי ניצול באגים בנתיב לקובץ

בלי כתוביותעם כתוביות
PracticU › קורס סייבר למתחילים - Hacking - בדיקות חוסן תשתיתי ופריצה ל-Windows 10/11 - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › העלאת הרשאות על ידי ניצול באגים בנתיב לקובץ
מילון מושגים:
באג - תקלה או שגיאה בקוד שגורמת לתוכנה להתנהג בניגוד למצופה.
סשן - פרק זמן של פעילות רציפה בין משתמש למערכת, שבו נשמר מידע על מצבו, למשל לאחר התחברות לאתר.
CMD - שורת הפקודה הקלאסית של Windows (Command Prompt), להרצת פקודות ותוכניות בממשק טקסטואלי.
אנטי וירוס - תוכנה שמזהה, חוסמת ומסירה תוכנות זדוניות מהמחשב, ומנטרת פעילות חשודה.
וירוס - תוכנה זדונית שמשכפלת את עצמה ומתפשטת ממחשב למחשב, ועלולה לפגוע בקבצים או בפעולת המערכת.
PowerShell - סביבת שורת פקודה ושפת סקריפטים של מיקרוסופט לניהול אוטומטי של מערכות Windows ושירותים.
WMI - ממשק של Windows לשליפת מידע על המערכת ולניהולה באופן תוכנתי, בעיקר דרך סקריפטים.
VMware - חברה ומוצרי וירטואליזציה הנפוצים בארגונים, המאפשרים להריץ מכונות וירטואליות רבות על חומרה פיזית אחת.

העלאת הרשאות על ידי ניצול באגים בנתיב לקובץ
בשיעור זה נמשיך להעלות הרשאות ממשתמש רגיל עד אדמין ומשם ל System, והפעם ננצל באג של Unquoted Path בשירותים של צד שלישי. כשהנתיב אל קובץ ה exe של השירות אינו מוקף בגרשיים, ווינדוס מתבלבל בנתיבים שמכילים רווח, ומשתמש רגיל יכול לרמות אותו להריץ קובץ משלו בהרשאות המערכת.
נושאי הסיכום המוצגים בשיעור:
1. הכנת הסביבה: מתקינים מחדש את שרת הסטרימינג Serviio כדי לאפס את כל ההגדרות שהשתנו בשיעורים הקודמים, ופותחים את מסך השירותים, שבו נראה שהנתיב אל קובץ ה exe של השירות אינו מוקף בגרשיים.
2. מהו באג ה Unquoted Path: בנתיב של השירות יש רווח, למשל בין Program ל Files. ווינדוס אינו יכול לדעת אם הרווח הוא חלק מהנתיב או הפרדה בין הקובץ לפרמטרים שלו, וכשהנתיב אינו בגרשיים הוא מניח שכל מה שאחרי הרווח הוא פרמטרים.
3. התנהגות ווינדוס מול רווחים: ווינדוס עוצר ברווח הראשון ומנסה להריץ את כל מה שעד אליו כקובץ exe, ומעביר את ההמשך כפרמטר. רק אם קובץ כזה לא קיים הוא ממשיך לרווח הבא, וכך הלאה עד הנתיב המלא שהוא היעד האמיתי.
4. הדגמה על נתיב עם כמה רווחים: בנתיב שמכיל כמה רווחים ווינדוס מנסה בתורו כל קידומת עד כל רווח כקובץ exe נפרד, ורק אם כולם נכשלים הוא מגיע אל השירות האמיתי. כל רווח כזה הוא הזדמנות להשתיל קובץ משלנו בשם המתאים.
5. השתלת הסוס הטרויאני: את הסוס הטרויאני מסוג exe service, זה שנבנה לעבוד כשירות של ווינדוס, מציבים בשורש של כונן C וקוראים לו בשם שתואם את הקידומת שלפני הרווח הראשון, כלומר Program.exe. זה כל מה שנדרש.
6. האתחול וקבלת ההרשאות: אחרי הפעלה מחדש של המחשב ווינדוס מריץ את השירות, מנסה את הנתיב עד הרווח הראשון, מוצא את הקובץ שהשתלנו ומריץ אותו ואת ההמשך כפרמטר. נפתח סשן עוד לפני שהמשתמש ביצע התחברות, getuid מאומת שאנו System, ו getprivs מראה שיש לנו את כל ההרשאות שרק רוצים.
7. חזרה על התהליך דרך CMD: יוצאים ומבצעים את הכול מהתחלה דרך שורת פקודה בלי ממשק גרפי, כאילו פורצים מבחוץ, כולל נטרול האנטי וירוס והעתקת הקובץ אל השורש של כונן C. הפקודות כולן מוכנות מראש ברשימה שהוכנה לשיעור.
8. איתור שירותים פגיעים: במציאות מאתרים באג כזה על ידי פתיחת CMD או PowerShell ומעבר על השירותים הרצים, בחיפוש שירות שאינו שייך למיקרוסופט ושהנתיב שלו אינו בגרשיים. בעזרת פקודת WMI Object ב PowerShell שולפים את כל השירותים, מסננים מחוץ ל Windows, ומורידים את מסנן ה Running כדי לראות את כולם, וכך נחשף של Serviio אין גרשיים בנתיב.
9. ההשוואה לחברות זהירות: מתכנתים מנוסים בחברות רציניות מקיפים את הנתיב בגרשיים וכך חוסמים את הבאג, ולמשל בשירות של VMware Tools הנתיב כולו בגרשיים למרות הרווחים שבו, והניצול אינו עובד שם.
10. הכללה וסיכום הסדרה: בכל רווח בנתיב לא מגורש אפשר להציב קובץ משלנו בשם הקידומת המתאימה, כך שלכל נתיב יש כמה נקודות חדירה אפשריות. זהו הבאג השלישי בסדרה, אחרי ניצול הרשאות שגויות על קובץ ה exe של השירות והחלפת ה Image Path ברגיסטרי, ובשיעור הבא נעסוק בניצול באגים בדרייבר, Kernel Driver.
בשיעור זה הודגם באג ה Unquoted Path שבו ווינדוס מפרש כל רווח בנתיב שירות שאינו מגורש כסוף קובץ ותחילת פרמטרים, הסוס הטרויאני הוצב בשורש כונן C בשם המתאים, והוא עלה כשירות של המערכת עם הרשאות System כבר באתחול. נראתה גם הדרך לאתר שירותים פגיעים בעזרת PowerShell וההבדל מול חברות שמקיפות את הנתיב בגרשיים.
בשיעור הבא נעסוק בנושא העלאת הרשאות על ידי ניצול באגים בדרייבר - Kernel Driver.
SR12559HE

פרקי ההרצאה: העלאת הרשאות על ידי ניצול באגים בנתיב לקובץ

  1. 00:00

    העלאת הרשאות משתמש פשוט

  2. 00:41

    איפוס הגדרות השירות

  3. 01:33

    בעיית הנתיב ללא גרשיים

  4. 02:07

    הצבת ה-Payload בתיקייה הראשית

  5. 02:40

    התנהגות ווינדוס עם רווחים

  6. 03:18

    הפעלה מחדש של המחשב

  7. 03:54

    שליטה עם הרשאות System

תמלול ההרצאה: העלאת הרשאות על ידי ניצול באגים בנתיב לקובץ

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

  1. 00:02

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

  2. 00:18

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

  3. 00:41

    ההגדרות הקודמות שהיו שיהיה הכל מאופס ואנחנו הפעם ננצל את ה-unquoted path מה זה unquoted path?

  4. 00:51

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

  5. 01:15

    יודע אולי זה קובץ c program אקזה וכל מה שהולך אחרי הרווח זה הפרמטרים של הפקודה נניח סתם נתפוס איזשהו סרוויס אחר לא משנה לי מה אתם רואים יש פה איזשהו סרוויס אחר אפילו של ווינדוס יש רווח ואחרי זה כל מיני פרמטרים של האקזה הזה זאת אומרת קובץ אקזה מקבל מידע נוסף אחרי הרווח.

  6. 01:37

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

  7. 01:59

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

  8. 02:10

    את הסוס הטרויאני שיודע לעבוד כסרוויס, שם אותו בקונן C בתיקי הראשית, בבקשה, העתקתי אותו לכאן, ואני קורא לו, שימו לב איזה שם אני נותן לו, program.exe.

  9. 02:24

    בבקשה, הנה, יש לנו program.exe שזה הסוס הטרויאני שלי. הוא נמצא בקונן C. מה יקרה עכשיו? בגלל שלא כל הנתיב בגרשיים Windows אחרי הריסטארט יראה שיש פה C-Program ינסה להריץ C-Program.exe, ינסה להריץ את הקובץ שלי ולהעביר לקובץ שלי את כל השאר כמידע אקסטרה

  10. 02:45

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

  11. 03:06

    הכובד c program אקזה הוא יריץ אותו תראו איזה פשוט הדבר הזה הנה יש לי פה ג'וב שמאזין לבקשות סשנס אנחנו מחכים שמישהו יתחבר בינתיים אף אחד לא יתחבר ושימו לב מה אני עושה אחרי שעשיתי את זה כprogram.exe אני עושה ריסטארט ומחכה פה לחיבור הכי פשוט בעולם אני מנצל את העובדה שהמתכנתים

  12. 03:29

    של הסרוויס כשהם יצרו את הסרוויס של עצמם ורשמו אותו במערכת ההפעלה בתוך Windows, שכחו לשים גרשיים סביב הנתיב. הכי פשוט בעולם.

  13. 03:40

    ומה יקרה אחרי הריסטארט? איפה הריסטארט שלנו? הנה המערכת פה עוברת ריסטארט. הנה עשתה ריסטארט, והנה תראו מה זה. יש לנו סשן Opened.

  14. 03:51

    איזה יופי. בואו נעשה סשנס. איזה יופי סשן אחד. Get UID ואני System כי מערכת ההפעלה הפעילה את הסרוויס שלי עם הרשאות של System. איזה יופי.

  15. 04:04

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

לקורס המלא: קורס סייבר למתחילים אונליין

ההרצאה הקודמת: העלאת הרשאות על ידי ניצול באגים בהרשאות על רגיסטרי

ההרצאה הבאה: העלאת הרשאות על ידי ניצול באגים בדרייבר - Kernel Driver

הרצאות קשורות מקורסים אחרים

  • העלאת הרשאות - עקיפה של UAC
  • איך לעקוף הרשאות NTFS על ידי SeBackupPrivilege
  • באגים - Bugs
  • שמירה של Canvas לקובץ

קורסים נוספים במסלול

  • קורס SOC - מיישם הגנת סייבר
  • קורס פריצה ומבדקי חדירה לתשתית ארגונית - בדיקות חוסן מתקדמות ל-Active Directory - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP
  • קורס פריצה ומבדקי חדירה לאתרי אינטרנט - בדיקות חוסן לאתרים - Web Pentesting - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP
  • קורס סייבר והאקינג ל-Android - פריצה לטלפונים ואפליקציות אנדרואיד - בודק חוסן - Mobile App Pentesting