PracticU

חולשת RFI - Remote File Inclusion

בלי כתוביותעם כתוביות
PracticU › קורס פריצה ומבדקי חדירה לאתרי אינטרנט - בדיקות חוסן לאתרים - Web Pentesting - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › חולשת RFI - Remote File Inclusion
מילון מושגים:
חולשה - פגם או חולשה במערכת או בתוכנה שעלול לאפשר פגיעה באבטחה אם לא יטופל.
דיסק - התקן לאחסון קבוע של נתונים, כמו כונן קשיח (HDD) או כונן מבוסס זיכרון מהיר (SSD).
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
PHP - שפת תכנות לצד השרת, נפוצה בבניית אתרים דינמיים ומערכות ניהול תוכן כמו WordPress.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.

חולשת RFI - Remote File Inclusion
הרצאה מושגית, בסביבת מעבדה מבוקרת, על חולשת Remote File Inclusion (RFI) - המשך למשפחת חולשות ה-File Inclusion, כשהקובץ ש"נכלל" אינו בדיסק המקומי אלא מגיע מרשת חיצונית.
ההבדל מ-Local File Inclusion
ב-Local File Inclusion הקובץ שמוכלל נמצא בדיסק של השרת עצמו. ב-Remote File Inclusion, אם תצורת שפת השרת (כמו PHP) מתירה "הכללת" קבצים מכתובת חיצונית, אפשר לגרום לשרת לטעון ולהריץ תוכן שמגיע ממקור מרוחק לגמרי - שרת שהתוקף מפעיל בעצמו. זו הסלמה חשובה: לא רק קריאת קבצים קיימים, אלא הרצת כל תוכן שהתוקף בחר, בלי צורך "לשתול" אותו בדיסק של הקורבן מראש.
למה זה חשוב
1. תלוי בהגדרת תצורה: היכולת הזו תלויה בהגדרה מפורשת בתצורת שפת השרת שמתירה הכללת קבצים מרוחקים. כשההגדרה הזו כבויה (כברירת מחדל במערכות מודרניות רבות), החולשה הזו לא קיימת גם אם יש File Inclusion מקומי.
2. לא דורש דריסת רגל קודמת בשרת: בניגוד לשיטות שדורשות הזרקת תוכן לקובצי תיעוד או העלאת קובץ, RFI יכול לעבוד כל עוד הקובץ המרוחק נגיש ותצורת השרת מתירה זאת.
3. וריאציה רחבה של "מטען": מכיוון שהקובץ המוכלל מגיע ממקור חיצוני, התוקף שולט במלואו בתוכנו, ולכן ניתן להרכיב אותו בדרכים רבות - העיקרון הוא תמיד "גרימה לשרת להריץ קוד שלא נכתב על ידי בעל האתר".
הלקח המושגי
- תצורת שפת שרת שמתירה הכללת קבצים מרוחקים היא פתח משמעותי, ולכן ברוב המערכות המודרניות היא כבויה כברירת מחדל.
- כל פרמטר שקובע "איזה קובץ להעריץ" חייב להיות מוגבל לרשימה סגורה, בלי קשר לשאלה אם המקור הוא מקומי או מרוחק.
- החומרה של משפחת חולשות ה-File Inclusion נובעת מכך שהן לא עוצרות בחשיפת מידע אלא מאפשרות הרצת קוד שרירותי בשרת.
התרגול נעשה בסביבת מעבדה מבוקרת שנועדה ללימוד בלבד. ביצוע פעולה כזו במערכת של אחרים הוא בלתי חוקי.
השיעור הבא בקורס: חולשת DVWA Command Execution

פרקי ההרצאה: חולשת RFI - Remote File Inclusion

  1. 00:00

    הכרת החולשה Remote File Inclusion

  2. 00:40

    ניסיון הכללת קובץ מרוחק

  3. 01:19

    הגדרת רמת אבטחה נמוכה

  4. 01:57

    כניסה לשרת עם SSH

  5. 02:53

    תפקיד PHP בשרת הווב

  6. 04:03

    מציאת ההגדרה ב-php.ini

  7. 05:02

    הפעלת allow_url_include

  8. 05:38

    אתחול מחדש של Apache

תמלול ההרצאה: חולשת RFI - Remote File Inclusion

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

  1. 00:02

    שלום לכולם, היום אנחנו נלמד על Remote File Inclusion לכלול קבצים שהם לא נמצאים ב-Hardisk של השרת, אלא הם נמצאים בכלל בחוץ.

  2. 00:13

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

  3. 00:29

    אבל מי אמר שהקובץ חייב להיות ב-Hardisk? אולי הוא חיצוני ואולי אני אגיד לשרת להתאים את הקובץ מתוך השרת שלי בוא נראה האם הוא חשוף לחולשה הזאת נעשה לו להתאים קובץ מתוך http://www.google.com זה אומר תכניס את הקובץ של אינדקס html של גוגל לתוך העמוד שלך תתאים אותו פנימה רגע יצאנו פייל אינקלוז'ן רגע

  4. 00:57

    רק נבדוק לפני שעושים את זה שאנחנו בלואו שאנחנו ברמת אבטחה הכי נמוכה Current is low, כרגע אנחנו באבטחה הכי נמוכה. אני עשיתי את זה פה למטה ב-Security, אתם רואים? בתוך Security עשיתי Low.

  5. 01:10

    ועכשיו ב-File Inclusion אני אומר לו, תקשיב, במקום להפעיל את הקובץ מהרדיסק שלך, תפעיל בכלל פה google.com. ומה הוא כותב לי?

  6. 01:20

    url file access is disabled. זה אומר, השרת כרגע לא חשוף לחולשה הזאת, שזאת חולשת Remote File Inclusion, לכלול קבצים מרוחקים. כרגע לחולשה הזאת הוא לא חשוף למה הוא לא חשוף כי כתוב פה url file access is disabled עכשיו אנחנו לצורך לימודים בוא נאפשר את זה כדי שנדע מה קורה בפנים

  7. 01:46

    אנחנו צריכים להיכנס לתוך המטה ספלויטאבל איך אנחנו נכנסים פנימה אנחנו כותבים msf admin msf admin אבל זה לא נוח פה לעשות את זה זה ממש לא נוח לי אני אתחבר לאותו cli רק מרחוק מכאן זה כמו remote desktop של cmd נפתח טרמינל נעשה ssh של יוזר בשם msfadmin ל-ip 192.168.122.188 אוקיי הנה אני נכנס לתוך השרת ההוא כותב לי connection refuse

  8. 02:21

    אה אני רואה את התקלה שלי התבלבלתי פה כתבתי פה IP לא נכון הנה עכשיו הוא שואל אותי האם להתחבר לשרת כן מה הסיסמה msfadmin אוקיי אני בפנים אני בתוך השרת ההוא מה אני רוצה לעשות?

  9. 02:37

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

  10. 02:53

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

  11. 03:11

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

  12. 03:30

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

  13. 03:52

    זה לצאת, יצאתי חזרה, ועכשיו אני אעשה סודו מינוס אס, עובר להיות רות, msf-admin, הנה, עכשיו אני רות, אתם יכולים לראות פה שהיוזרניים השתנה לרות, ועוד פעם אני עושה וי-איי לקובץ הזה, של הגדרות של PHP אוקיי עכשיו בתוך הקובץ הגדרות אנחנו מחפשים הגדרה שנקראת allow url

  14. 04:17

    include עושים סלאש בתוך ה-vi זה עורך טקסט כמו notepad כמו word סלאש זה לחפש אני מחפש allow url include לחצתי ctrl שיפט v כדי להדביק ctrl שיפט v אני הדבקתי ואני בתוך vi מוצא את האוף הזה עושה delete מוחק אותו לוחץ i אם אני לוחץ איי אני עובר למצב אינסרט וכותב מילת on לוחץ escape לוחץ נקודתיים write וקוויט אוקיי בוא

  15. 04:50

    נראה שזה תפס ניכנס לזה עוד פעם נעשה סלאש נמצא את המילה הזאת ואנחנו רואים שעכשיו זה באינקלוד on allow url include יופי אז תחשבו שככה המנהל רשת הגדיר את השרת עשה את ההגדרה הזאת ושכח להוריד אותה נעשה ריסטארט לאפאצ'י עצמו לסרוויס של שרת ווב של אפאצ'י נעשה לו ריסטארט ריסטארטינג ווב אפאצ'י

  16. 05:16

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

  17. 05:42

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

לקורס המלא: קורס פריצה לאתרי אינטרנט אונליין

ההרצאה הקודמת: חולשת DVWA LFI - חלק 2 - Local File Inclusion

ההרצאה הבאה: חולשת DVWA Command Execution

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

  • TS Remote Application
  • Importing File
  • Create File
  • Configuration File

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

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