PracticU

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

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

העלאת הרשאות על ידי ניצול באגים בהרשאות NTFS
בשיעור זה נראה כיצד מנצלים תוכנות שרצות ברקע כסרוויסים של צד שלישי, שאינם קשורים ל Microsoft, כדי להעלות הרשאות ממשתמש רגיל עד לרמת Local System, ההרשאות הגבוהות ביותר בווינדוס. נעבוד עם תוכנה אמיתית שהמתכנתים שלה שכחו לתקן הרשאות NTFS על קובץ השירות, ונבצע את התהליך פעם בממשק גרפי ופעם כולו בשורת פקודה מרחוק.
נושאי הסיכום המוצגים בשיעור:
1. נקודת הפתיחה: סוס טרויאני שנוצר בעזרת msfvenom הועבר לקורבן דרך HTTP, מאזין ממתין לחיבור, ומתקבל סשן. הסשן רץ תחת משתמש ששייך לקבוצת האדמיניסטרטורים, אך מכיוון שהופעל בלחיצה כפולה ולא כהרצה כמנהל, ההרשאות בפועל בסיסיות בלבד.
2. התוכנה הפגועה: מתקינים את Serviio, שרת סטרימינג אמיתי של חברה אמיתית, עם גרסה חינמית וגרסה בתשלום. ההתקנה מוסיפה שירות שרץ ברקע ומקבל חיבורים, והשירות הזה רץ תחת חשבון Local System, כלומר בהרשאות של ווינדוס עצמו, במקום תחת משתמש ייעודי ומוגבל שהיה נכון יותר.
3. הבאג של ההרשאות בממשק הגרפי: על קובץ ה exe שהשירות מריץ ניתנו לכל המשתמשים הרשאות Full Control בהרשאות ה NTFS של התיקייה ב Program Files. משמעות הדבר שמשתמש רגיל יכול לשנות שם לקובץ המקורי ולהציב במקומו קובץ משלו.
4. יצירת payload מסוג שירות: בעזרת msfvenom מייצרים סוס טרויאני מסוג exe service, שנועד לרוץ כתוכנה ברקע ולעמוד בסטנדרטים של שירות ווינדוס, כלומר להגיב כראוי גם לפקודת הפעלה וגם לפקודת עצירה.
5. השתלת הקובץ: הקובץ מועבר למחשב הקורבן, מועתק אל תיקיית השירות ומקבל את שם הקובץ המקורי. בהפעלה מחדש של המחשב ווינדוס מריץ את השירות מתוך התיקייה, ובפועל מריץ את הסוס הטרויאני בהרשאות של Local System.
6. קבלת ההרשאות הגבוהות: לאחר ההפעלה מחדש מתקבל סשן חדש עוד לפני ההתחברות של המשתמש, כי את השירות הפעיל ווינדוס עצמו בזמן האתחול, והסשן מאומת כ Local System. זהו הטריק הראשון, ניצול הרשאות NTFS שגויות על קובץ שמופעל אוטומטית באתחול.
7. איפוס המעבדה: סוגרים את הסשנים, מסירים ומתקינים מחדש את התוכנה כדי להחזיר את המצב לנקי. במהלך ההפעלה מחדש התעורר האנטי וירוס וזיהה את הקובץ, ולכן הוא מושהה לצורך המשך ההדגמה, וההרשאות חזרו להיות Full Control כפי שהתוכנה מתקינה אותן.
8. חזרה על התהליך משורת הפקודה: מפעילים סוס טרויאני פשוט בלחיצה כפולה, מקבלים סשן עם הרשאות בסיסיות בלבד, ומכאן מתחילה עבור ההעלאה שתתבצע כולה מרחוק בלי ממשק גרפי.
9. מניית השירותים בעזרת PowerShell: בתוך הסשן נכנסים ל CMD ומשם ל PowerShell, ומריצים את הפקודה Get WMI Object עבור Win32 Service, כשהפלט מסונן לעמודות הרלוונטיות ולשירותים במצב Running. מחפשים שירותים שאינם של Windows, והסימן הראשון לחשד הוא נתיב שאינו תיקיית Windows, למשל תיקייה ב Program Files או ב Program Data.
10. בדיקת הרשאות בשורת פקודה: את הרשאות ה NTFS של קובץ ה exe של השירות בודקים בעזרת icacls, שהוא המקבילה של שורת הפקודה לצפייה בהרשאות דרך מאפייני הקובץ. הפלט מראה שלמשתמשים רגילים יש Full Control על הקובץ, ולווינדוס ולאדמיניסטרטורים כמובן גם, וזו ההזדמנות.
11. גיבוי והצבה בשורת פקודה: מזיזים את קובץ ה exe המקורי לשם גיבוי בעזרת פקודת move, מעתיקים את הסוס הטרויאני בשם הקובץ המקורי אל התיקייה, ומאמתים בעזרת dir שההצבה הצליחה, כשהפער בגודל הקבצים ממחיש שמדובר בקובץ חדש. כל הפעולות מתבצעות מרחוק ומשתקפות במקביל בממשק הגרפי של המכונה.
12. הפעלה מחדש של המחשב: למשתמש הרגיל אין הרשאה להפעיל מחדש שירות בודד והפקודה נדחית, אך יש לו הרשאה להפעיל מחדש את כל המחשב בעזרת שאטדאון עם הפרמטרים המתאימים לביצוע מיידי. לפני האתחול בודקים בעזרת WMI שמצב ההפעלה של השירות הוא Auto ולא Manual, כדי לוודא שהוא יעלה אוטומטית אחרי האתחול.
13. שתי הדרכים לגשת ל WMI: את ממשק הניהול של ווינדוס, Windows Management Interface, ניתן לפנות מתוך PowerShell עם פקודות Get WMI Object, או משורת הפקודה בעזרת קובץ ה exe המובנה שלו עם פקודות בשפת WMI. שתי השיטות מחזירות את אותו מידע על השירותים, המצב וההרשאות.
14. התוצאה הסופית: אחרי ההפעלה מחדש נפתח סשן שני אוטומטית, והפקודה getuid מאשרת שהוא רץ כ Local System. ההעלאה הצליחה בזכות העובדה שההרשאות על קובץ ה exe של השירות היו שגויות, וכך הפך קובץ של צד שלישי לשער אל ההרשאות הגבוהות ביותר במערכת.
בשיעור זה הודגמה העלאת הרשאות מלאה ממשתמש רגיל עד Local System בעקבות הרשאות NTFS שגויות על קובץ שירות של צד שלישי, תחילה בממשק גרפי ואחר כך בשורת פקודה מרחוק, תוך שימוש ב icacls, ב move וב WMI לבדיקת מצב ההפעלה. בשיעור הבא נמשיך להעלאת הרשאות על ידי ניצול באגים בהרשאות על הרגיסטרי.
SR12557HE

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

  1. 00:00

    העלאת הרשאות דרך שירותים

  2. 00:57

    מצב ההרשאות הנוכחי

  3. 01:49

    התקנת התוכנה הפגועה

  4. 02:44

    השירות רץ כ-Local System

  5. 03:38

    הרשאות Full Control על הקובץ

  6. 04:32

    יצירת Payload מסוג שירות

  7. 06:02

    קבלת שליטה אחרי הפעלה מחדש

  8. 06:58

    ביצוע התהליך בשורת פקודה

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

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

  1. 00:02

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

  2. 00:25

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

  3. 00:54

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

  4. 01:15

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

  5. 01:35

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

  6. 02:01

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

  7. 02:27

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

  8. 02:39

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

  9. 03:01

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

  10. 03:22

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

  11. 03:47

    מריץ נכון זה הקובץ בוא נבדוק סרוויליו דאבל קליק כן זה קובץ אקזה שהוא מריץ נכון c program files srvilio bain c program files srvilio bain אתם רואים זאת אומרת שווינדוס עצמו מריץ את הסרוויס את הקובץ אקזה הזה אוקיי זה נראה לנו מה הבעיה מה אתה רוצה מהם עשו הכל תקין הבעיה היא שהם לא שמו לב למשהו קטן ובסיקיוריטי

  12. 04:11

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

  13. 04:35

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

  14. 05:03

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

  15. 05:12

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

  16. 05:26

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

  17. 05:49

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

  18. 06:05

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

  19. 06:24

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

  20. 06:52

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

  21. 07:17

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

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

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

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

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

  • הרשאות NTFS
  • סיכום ב-3 דקות - הרשאות NTFS
  • העלאת הרשאות - עקיפה של UAC
  • באגים - Bugs

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

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