כן, גם אני הרמתי גבה כאשר ראיתי את הכותרת הזאת בזמן שעברתי על המיילים הנכנסים מ-Bugtraq. המייל הגיע מחוקר בשם “Soroush Dalili”, ותוכנו בקצרה: Description: Although IIS5 is very old, finding one is not impossible! Therefore, I want to introduce a technique to bypass the IIS authentication methods on a directory. This vulnerability is because of using Alternate Data Stream to open a protected folder. All of IIS authentication methods can be circumvented. In this technique, we can add a “:$i30:$INDEX_ALLOCATION” to a directory name to bypass the authentication. In a protected folder such as “AuthNeeded” which includes “secretfile.asp”: It is possible to run “secretfile.asp” by using: “/AuthNeeded:$i30:$INDEX_ALLOCATION/secretfile.asp” Instead of: “/AuthNeeded/secretfile.asp”

הרעיון כאן הוא שמנגנון האוטנטיקציה בשרתי IIS (מבוססי מערכת הקבצים NTFS) מתבסס על שמותיהם של התיקיות המתקבלות בבקשת ה-GET (שורת ה-URL). ולכן, במידה וננסה לגשת למשל לקובץ “Default.asp” הממוקם תחת התיקיה “Folder” (אשר הגישה אליה דורשת הזדהות מבוססת על מנגנון ההזדהות של שרת) באופן הבא:

GET /Folder/Default.asp HTTP/1.1 Host: IIS5-SERVER.COM

אנו נאלץ להזדהות לשרת, מפני שכל התוכן הנמצא תחת “Folder” דורש לעבור מול מנגנון ההזדהות. לעומת זאת, במידה וניגש לאותו הקובץ תחת השימוש ב-“Aternate Data Stream” באופן הבא: GET /Folder:$i30:$INDEX_ALLOCATION/Default.asp HTTP/1.1 Host: IIS5-SERVER.COM

מנגנון האוטנטיקציה אינו יזהה כי מדובר בתיקיה Folder, ולכן יציג לנו את תוכנו של Default.aspx.

למאמר שנכתב על ידי Soroush Dalili בנושא: http://soroush.secproject.com/downloadable/IIS5.1_Authentication_Bypass.pdf

לפי MSDN, ה-ADS ב-NTFS המוצג כ-“i30” מוגדר כ-“Default name for directory Streams”, תוכלו לראות את הדבר בפעולה, אם תכנסו דרך שורת הפקודה לתיקית המשתמשים (Users / Documents and Settings) ושם תכתבו: cd USER:$I30:$INDEX_ALLOCATION

(כמובן ש-“USER” זה שם המשתמש שלכם במערכת ההפעלה).

החשיפה הנ”ל אינה קיימת בשרתי IIS6 או IIS7 מפני ששרתים אלה אינם מקבלים את המחרוזת “:” כאשר היא באה לפני ה-“Query String” (כל מה שמגיע לאחר התו “?” ב-HTTP Request).

עכשיו, אתם בטח שואלים את עצמכם, “רגע, למה בכלל הבחור הזה חקר את החיה הזאת?”, האמת? אני דווקא מבין אותו. לפעמים אנו נדרשים לפרוץ (כמובן- באופן חוקי, במסגרת עבודת PT וכו’ וכו’) למערכות מסויימות, המערכות האלו לאו דווקא תמיד בקדמת הטכנולוגיה. ולפעמים נתקלים במקרים שמערכות אלו מאוחסנות על גבי חיות כאלה ואחרות. אני יכול לתת את עצמי כדוגמה :)