הגדרה פשוטה שעלולה לעלות ביוקר
תהליך הלמידה של בודק חדירות מתחיל לרוב מלימוד של חולשות נפוצות לweb (בודק אתרי אינטרנט ומחפש פגיעויות לפני שהאתר מפורסם באוויר) על בסיס המתודולוגיה של OWASP Top 10 – אתר אינטרנט המאגד בתוכו את עשרת החולשות החמורות והנפוצות הנכונה לאותה תקופה.
הרבה מבודקי החדירות תלויים בניסיון ובליווי של בודק ותיק יותר המנוסה בהתקפות ישנות או חולשות שפחות נפגשים איתן במערכות החדשות.
באופן כללי הבדיקות מתחלקות באופן גס ל2 סוגים, בדיקות תשתית (על השרתים והגישה אליהם, חולשות שתלויות בצד השרת) ובדיקה אפליקטיבית (הבודקת את הקוד של האתר או המערכת ומחפשת חולשות שאותן ניתן לסדר דרך הקוד אבל לא רק).
באחד מהימים שחנכתי את העובד שלי בבדיקות Web (מערכת או אתר הנצפים דרך דפדפן) דיברנו על מושג שנקרא Directory Listing או בפשטות מצב בו האתר מוגדר להחזיר את רשימת הקבצים והתיקיות הנמצאות בנתיב בו אין קובץ המוצג על ידי הדפדפן (כמו קובץ index.html).
באתרים מסוימים יכול להיות שהגדירו מצב זה בכוונה כדי להפוך את התיקיה שתציג בנתיב זה את רשימת הקבצים בדומה לתיקיה במחשב בה רואים את הקבצים, במקרים רבים זה פער שעלול להוביל לצרות של ממש.
באותו ערב, בכדי להדגים לעובד שלי איך נראית החולשה ואיך מנצלים אותה גלשנו לגוגל וכתבנו את הDork הבא
גוגל Dork זה מונח לקומבינציה של מילים לחיפוש באתר של גוגל המניבות תוצאות מפתיעות כמו לחפש חולשות באופן רוחבי במרחב האינטרנט או לחפש קובץ סודי \ רשימת סיסמאות \ תעודות זהות והמון דברים שאנשים שכחו או לא סגרו אותם נכון לגישה מהאינטרנט. בקיצור, ניתן למצוא מידע שלא רוצים שימצאו ובפשטות אני אומר לגוגל שיתן לי תוצאות שבכותרת שלהם יש את הטקסט “index of”.
המשמעות היא שהוא יציג לי קישורים לתיקיות בהן קיימת הפגיעות אותה ציינו ובמקום לראות דף אינטרנט אנו נכנס לקישורים האלה ונראה את הקבצים שיש בתיקיה.. שזה מתכון לבלאגן בחלק מהמצבים.
התוצאה הראשונה שהוצגה הייתה תיקיית מדיה ותמונות באתר אינטרנט של חברה מאוד גדולה ומוכרת בישראל.
התמונה להמחשה בלבד
השאלה המתבקשת הייתה "מה יש לי לעשות עם תמונות ואייקונים של האתר ?" בזמן שאני ראיתי את הממצא הזה כמכרה של זהב.
ההבנה היא שאם תיקיית המדיה חשופה זה אומר שיש סיכוי גבוהה שעוד תיקיות באתר הזה או בשרת עליו האתר יושב לא קיים להן קובץ index ולכן גם הן יהיו חשופות.
הפעולה הבאה שלי הייתה להריץ מילון מילים (Dictionary) עם שמות של תיקיות נפוצות, את ההרצה הזו ביצעתי על הכתובת הראשית של האתר באמצעות כלי בשם Dirb וחשפתי רשימה ענקית של תיקיות… כמעט כל אליה גלשתי חשפה את התוכן שלה באמצעות directory listing של אותה תיקייה. הכל נובע מהגדרה לא נכונה של השרת.
נכנסתי לתיקיית Feed לקובץ בשם Facebook.xml ושם מצאתי את כתובת ה ip של האתר (הכתובת האמיתית ולא זאת של חומת האש האפליקטיבית שלו Waf).
באמצעות תוסף לדפדפן היה ניתן לזהות שהאתר מפותח בסביבת Magento (פלטפורמה לפיתוח חנות ברשת Ecommerce) שזו עוד חולשה בפני עצמה הנקראת Information Disclosure.
לאחר חיפוש מהיר באינטרנט הבנתי שבאמצעות גישה לנתיב
/etc/local.xml
ניתן לצפות במה שנקרא Connection String שהם פרטי ההתחברות למסד הנתונים של האתר.
כמובן בעת גישה לנתיב המדובר, ה Waf (חומת האש האפליקטיבית שהיא מנגנון הגנה על אתרים – Web ApplicationFirewall) חסם את הגישה לנתיב ואילץ אותי להיות יותר יצירתי.
כשגיליתי את הכתובת האמיתית של האתר ניגשתי אליה עם הנתיב המדובר וקיבלתי את פרטי ההתחברות למסד הנתונים שלהפתעתי היה חשוף גם הוא לאינטרנט.
באמצעות כלי בשם Heidisql התחברתי לאותו שרת עם פרטי ההזדהות שגיליתי – ותנחשו מה.. אני בפנים המסד נתונים וחשוף לכל המידע של החברה! לקוחות.. עובדים.. פרטי הזמנות.. קופונים.. מידע על פנים הרשת ועוד.
עצרתי את הפעילות ומיידית דאגתי לדווח ישירות למערך הסייבר הלאומי על האירוע, על סדר הדברים ועל רמת החשיפה של אותה החברה. המערך פעל מול החברה והחולשה הקריטית נחסמה עוד באותו היום.