
הטקסט המלא של הדקות הראשונות בהרצאה «העלאת הרשאות על ידי ניצול באגים בנתיב לקובץ» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, ברוכים הבאים להרצאות על העלאת ההרשאות מיוזר פשוט לאדמין. תחשבו ששלחנו למישהו סוס טרויאני והוא לחץ דאבל קליק, הפעיל את זה כיוזר פשוט ואנחנו רוצים להעלות את עצמנו לאדמין ואחרי זה לסיסטם.
והפעם אנחנו ננצל את הסרוויסים שלא שייכים למייקרוסופט, סרוויסים של חברות אחרות, מתכנתים אחרים, לא קשורים למייקרוסופט, כתבו כל מיני תוכנות שרצות ברקע, כל מיני סרוויסים, נניח את הסרוויס הזה שאנחנו כבר השתמשנו בו בעבר נעשה הכל נקסט נקסט נקסט זה שרת סטרימינג אנחנו מתקינים אותו מחדש בשביל לאפס את כל
ההגדרות הקודמות שהיו שיהיה הכל מאופס ואנחנו הפעם ננצל את ה-unquoted path מה זה unquoted path?
שכחו לשים גרשיים אם נלך לסרוויסים אנחנו נראה פה שבסרוויס של סרוויו זה סטרימינג הזה הם לא שמו גרשיים סביב הנתיב זה נראה לנו מה הבעיה שכחו לשים גרשיים נכון שזה נשמע שטותי אבל מה הוא לא מבין האם הרווח הזה כאן אתם רואים יש פה רווח רווח קטנצ'יק שאף אחד לא שם לב עליו הוא לא
יודע אולי זה קובץ c program אקזה וכל מה שהולך אחרי הרווח זה הפרמטרים של הפקודה נניח סתם נתפוס איזשהו סרוויס אחר לא משנה לי מה אתם רואים יש פה איזשהו סרוויס אחר אפילו של ווינדוס יש רווח ואחרי זה כל מיני פרמטרים של האקזה הזה זאת אומרת קובץ אקזה מקבל מידע נוסף אחרי הרווח.
אז הווינדוס לא יודע להבין האם זה רווח הזה ומתחילים פרמטרים אחריו, או שזה רווח כחלק מהנתיב. אז מה הוא מנסה לעשות? הוא עוצר ברווח הזה ומחפש תוכנה cprogram.exe ואם הוא מוצא אותה הוא מריץ את ה-cprogram.exe הזה ומעביר לה את כל זה כפרמטר.
וזה בדיוק הבאג שאני הולך לנצל אותו. אני רק רוצה לוודא שהאנטיווירוס מנותק אצלי. אני רואה שהאנטיווירוס מנותק, נהדר. אני לוקח את הסוס הטרויאני, ותראו מה אני עושה.
את הסוס הטרויאני שיודע לעבוד כסרוויס, שם אותו בקונן C בתיקי הראשית, בבקשה, העתקתי אותו לכאן, ואני קורא לו, שימו לב איזה שם אני נותן לו, program.exe.
בבקשה, הנה, יש לנו program.exe שזה הסוס הטרויאני שלי. הוא נמצא בקונן C. מה יקרה עכשיו? בגלל שלא כל הנתיב בגרשיים Windows אחרי הריסטארט יראה שיש פה C-Program ינסה להריץ C-Program.exe, ינסה להריץ את הקובץ שלי ולהעביר לקובץ שלי את כל השאר כמידע אקסטרה
זאת הבעיה, כל פעם שהוא רואה רווח הוא מנסה להריץ כל מה שעד הרווח כאילו זה קובץ אקזה וכל מה שאחרי הרווח כפרמטר נוסף אם הוא לא מצליח, רק אז הוא ממשיך הלאה לנסות להריץ את מה שיש אחרי הרווח כיחידה אחת זאת אומרת רק אם הוא לא יצליח אבל בגלל שדחפתי לו כאן את
הכובד c program אקזה הוא יריץ אותו תראו איזה פשוט הדבר הזה הנה יש לי פה ג'וב שמאזין לבקשות סשנס אנחנו מחכים שמישהו יתחבר בינתיים אף אחד לא יתחבר ושימו לב מה אני עושה אחרי שעשיתי את זה כprogram.exe אני עושה ריסטארט ומחכה פה לחיבור הכי פשוט בעולם אני מנצל את העובדה שהמתכנתים
של הסרוויס כשהם יצרו את הסרוויס של עצמם ורשמו אותו במערכת ההפעלה בתוך Windows, שכחו לשים גרשיים סביב הנתיב. הכי פשוט בעולם.
ומה יקרה אחרי הריסטארט? איפה הריסטארט שלנו? הנה המערכת פה עוברת ריסטארט. הנה עשתה ריסטארט, והנה תראו מה זה. יש לנו סשן Opened.
איזה יופי. בואו נעשה סשנס. איזה יופי סשן אחד. Get UID ואני System כי מערכת ההפעלה הפעילה את הסרוויס שלי עם הרשאות של System. איזה יופי.
דרך אגב, כשאני סיסטם, תראו איזה פריבילגיות יש לי. כן, יש לי את כל הפריבילגיות שאני רוצה, כי אני הווינדוס עצמו, אני יכול לעשות מה שאני