
הטקסט המלא של הדקות הראשונות בהרצאה «העלאת הרשאות בלינוקס על ידי ניצול באגים בהרשאות על קבצים - SUID» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בהרצאה הזו אני רוצה להראות לכם איך לעשות פריבילג' אסקיליישן להעלות את ההרשאות שלנו מיוזר פשוט ליוזר רוט בלינוקס על ידי זה שאנחנו ננצל הרשאות לא נכונות על קבצים מישהו נתן run as אדמיניסטרטור הרשאה להריץ עם זכויות של אדמיניסטרטור לקובץ מסוים ואנחנו דרכו ניכנס וננצל את ההרשאות שלו
כאילו נעבור דרך קובץ מסוים שרץ עם הרשאות של אדמיניסטרטור. זאת אומרת לא משנה מי מריץ אותו הוא מקבל הרשאות של אדמיניסטרטור. זה נקרא Set User ID, זאת הרשאה מיוחדת במערכת הקבצים שלא משנה מי מריץ את הקובץ הוא רץ עם הרשאות של רות ואנחנו נריץ אותו ודרכו נפעיל את הפקודות שנרצה.
טוב בואו נתחיל מזה שיש לנו פה Metasploitable 2 ואנחנו רוצים קודם כל לפרוץ כיוזר פשוט לפני שאנחנו פורצים כיוזר פשוט אנחנו צריכים לגלות מה ה-IP של הקורבן שלנו אנחנו עושים מינוס SP SP זה כמו פינג רגיל רק בשביל לראות איזה כתובות IP יש לנו בלי לחקור את הפורטים עכשיו אחרי שגילינו שיש לנו פה IP חשוד שזה הקורבן שלי
188 אני רוצה לתחקר רק את ה-IP שלו על כל הפורטים שימו לב אני יכול לכתוב את זה ככה מינוס P ואת כל הפורטים שאני רוצה לכתוב או לחלופין במקום כל זה אני יכול לכתוב פשוט מינוס אם אני כותב מינוס זה אותו דבר כמו לכתוב את כל הפורטים וכאן אני אומר זמן ההמתנה timeout קצר זה אומר אם מישהו לא עונה לך אל תחכה הרבה זמן זה אומר שהוא לא הוא סגור הפורט סגור אל תחכה
הרבה זמן לתשובה כי הקו הפיזי אמין ואין טעם לחכות הרבה זמן לתשובה זה לא שהתשובה לא מגיעה כי הקו דפוק או כי הקו ארוך כי יש delay על הקו אלא פשוט כי הוא סגור זמן ההמתנה, הטיימ-אאוט המקסימלי יהיה קצר יותר והבדיקה תהיה מהירה יותר אז אני אומר לו פה לעשות המתנה קצרה, פה אני אומר לו לבדוק את כל הפורטים ופה אני אומר לו על כל פורט
שתמצא, תעשה את כל הבדיקות מהסרוויס, מהגרסה שלו, את כל מה שאתה יכול, תוציא מבחינת המידע על הפורט הזה ועל הסרוויס הזה אוקיי, אני עושה קונטרול L ועובר גם למצב רוט, יופי, ומריץ את הפקודה עכשיו צריך לחכות שהוא יעבור על כל הפורטים במערכת
ועל כל פורט שפתוח, ושימו לב, אנחנו מדברים רק על TCP. על כל פורט TCP שהוא פתוח, הוא ינסה לתשאל אותו בשביל להבין מי עומד מאחוריו. בואו ניתן לו זמן, זה ייקח לו כמה דקות.
אחרי זה נחזור ונראה איזה פורט אנחנו ננצל. יהיה לנו הרבה מועמדים, ואני כבר אספר לכם שאני כבר בחרתי מראש מועמד סרוויס שנקרא Distributed CCD בפורט 3632.
זה מה שהחלטתי לנצל אותו כדי לחדור פנימה לתוך המערכת למרות שיש הרבה פורטים פתוחים והרבה אפשרויות איך לחדור לשרת המטה ספלויטבול 2 הזה שהוא בכוונה פרוץ דרך אגב.
ניתן לו לסיים את הסריקה ואז נמשיך. בינתיים אתם יודעים מה? עד שהוא סורק אנחנו נכין כוס קפה ואני שם פאוזה הוא הולך להכין לי קפה. טוב עברו 4 דקות 240 שניות ובואו נראה מה הוא גילה לנו.
גילה לנו ככה ש-65,506 פורטים סגורים שימו לב הוא בודק רק tcp לא udp אז 65,506 פורטים סגורים פורט 21 פתוח עם ftp עם תוכנה כזאת וכזאת בftp שגם בה יש חור אבטחה אבל כרגע אני לא רוצה לפרוץ דרכו אני רוצה לפרוץ דרך משהו אחר ssh יש לו פתוח יש לו telnet פתוח יש לו smtp של מיילים פתוח הוא הוא מוכן לקבל מיילים בפורט 25. פתוח לו dns אפשר לשאול אותו שאילתות dns הוא גם שרת dns שזה ביינד שרת dns פתוח פורט 80 פתוח אתר
web פתוח עליו אפשר להתחבר עליו ב-http ויש לו פה עוד הרבה הרבה הרבה שירותים פתוחים כמו שאתם רואים כולל דאטאבייס אפשר להתחבר למה sql לדאטאבייס ויש עוד ftp יש פה הרבה שרתים פתוחים אני מעוניין בשרת הזה אתם רואים שרד בפורט 3632 distributed ccd החלטתי לפרוץ דרכו למה ככה החלטתי שאני מנסה לפרוץ דרכו תחשבו שזה מחשב שזה
הדבר היחיד שפתוח שם נניח אוקיי אז מה אנחנו עושים אחרי שהחלטנו דרך מה אנחנו מנסים לפרוץ אנחנו מפעילים את msf קונסול ומחפשים את החולשה במה שהחלטנו לפרוץ דרכו מקווים שזה יעבוד לנו נכנסנו ל msf קונסול ועושים search, אחרי שאנחנו עושים search אנחנו מגלים שיש לנו פה באמת חולשה כזאת וכזאת, החלטנו להשתמש בה,
נעשה use, כי היא גם אקסלנט, אתם רואים היא מצוינת, נעשה use, אפשר לקרוא עליה קצת מידע בדיוק מה היא עושה, אפשר להיכנס ללינק עם cve זה המספור הבינלאומי לחולשה הזאת ולקרוא על זה עוד קצת, מי שמעוניין זה בעצם
קומפילציה של קוד קומפיילר שהופך את השפת c לשפת מכונה, קומפיילר שמקמפל את הקוד בצורה מפוזרת. זאת אומרת, השירות הזה מאפשר להרבה מחשבים לשתף פעולה בקומפילציה.
כל מחשב יקבל חתיכת קוד קטנה, יקמפל אותה לשפת מכונה ויחזיר לשרת הראשי. זה טוב כשיש לנו לקמפל הרבה מאוד דברים, משהו, תוכנה ענקית, כמו Windows שלם נניח. נניח חברת מייקרוסופט רוצה לקמפל Windows, להפוך את כל הפקודות שהמתכנתים שלהם כותבים ב-C או C++ או לא יודע באיזה שפה הם כותבים את הווינדוס עצמו, צריך להפוך את הפקודות האלו לשפת מכונה ואז לתת ללקוחות את ההתקנה של הווינדוס.
אז כדי להפוך את התוכנה משפה עילית לשפת מכונה צריך לקמפל אותה ולפעמים הקמפול הזה לוקח המון המון המון זמן כי זאת תוכנה ענקית ואז אפשר בעזרת שירות Distributed Compiler לפזר את זה לכמה שירתים פיזיים, כמה מחשבים פיזיים, כל אחד יקמפל את החתיכה שלו ויחזיר לשרת הראשי שיאסוף את זה לקובץ אקזה אחד בשפת מכונה.
וזה טוב לפרויקטים גדולים, זה נקרא שרת קומפילציות מפוזר. והפיזור הזה, יש שם באג שאפשר לנצל אותו, ובמקום שיקמפל איזשהו קוד, להגיד לו להריץ אצלו את הקוד.
זאת המהות של החולשה. טוב, לנו זה פחות חשוב מה המהות של החולשה, יותר חשוב לנו איך אנחנו מנצלים אותה, אנחנו צריכים רק לתת לו פה ב-required לאיזה שרת להתחבר, וזה פורט ברירת מחדל שהוא גם ככה נכון.
אוקיי, אז אני עושה קופי, ויש לי מזל שהשירות הזה בפורט הזה פתוח. ועכשיו אני יכול גם בשירות הזה לעשות צ'ק. שימו לב, השירות הזה הוא צ'ק סופורטד, אתם רואים פה?
הוא צ'ק סופורטד, זה אומר שאני יכול להריץ פקודת צ'ק ולבדוק האם אני יכול לפרוץ. והתשובה היא חיובית, The target is vulnerable. הטרגט שלי המטרה שלי פגיעה אוקיי בוא ננסה להפעיל אותו ולפגוע במטרה שלנו והוא אומר שהוא לא מצליח כי payload has not been selected שכחתי לבחור את הפצצה שאני מזריק לתוכו זה שיש לי חור אבטחה זה אבל עדיין איזה
פצצה להזריק בפנים אז בשביל לבחור את זה אני אעשה show options אבל לא show options