IIS5.1 Directory Authentication Bypass

[התמונה במקור: http://static.arstechnica.com/2009/03/11/thumb_openlock.jpg]
 
כן, גם אני הרמתי גבה כאשר ראיתי את הכותרת הזאת בזמן שעברתי על המיילים הנכנסים מ-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 וכו' וכו') למערכות מסויימות,
המערכות האלו לאו דווקא תמיד בקדמת הטכנולוגיה. ולפעמים נתקלים במקרים שמערכות אלו מאוחסנות על גבי
חיות כאלה ואחרות. אני יכול לתת את עצמי כדוגמה :)


תגובות על 'IIS5.1 Directory Authentication Bypass':



#1 

iTK98:
לא באג כזה חמור, חייבים לדעת את השם של הקובץ שאנחנו רוצים להשיג, אי אפשר לראות את התוכן של הספריה (רשימת קבצים).בכל מקרה, IIS 5 עדיין במחזור חיים של מיקרוסופט, לעוד 10 ימים... ואז זה כבר חסר משמעות.

http://support.microsoft.com/lifecycle/?p1=2095 
03.07.2010 08:04:51

#2 

cp77fk4r:
כן באג חמור, ברב המקרים- ארגונים לא בונים לעצמם מערכות תוכן ומשתמשים במערכות לניהול תוכן מוכנות, ככה שאת מיקומי הקבצים איך יותר מדי בעיה לדעת.

ולא מדובר רק במנגנון האוטנטיקציה של השרת, אלה בכל מנגנון אוטנטיקציה שמתבסס על שמות התיקיות.

תודה רבה על הקישור, לא ידעתי שהתפוגה שלו כל כך קרובה.

נ.ב.
שבת, 8 בבוקר, אתה אמור לישון!
03.07.2010 14:35:17

#3 

SeresU (אורח):
"באה לפני ה-""Quest String"
Quest String ->Query String ?
03.07.2010 14:54:25

#4 

cp77fk4r:
יאפ'. תוקן. תודה.
03.07.2010 15:14:20

#5 

Dw4rf (אורח):
אגב, לפי ההתרשמות שלי מהמצב של החברות בארץ- זה שפג התוקף של מוצר מסויים- הן מבחינת אבטחת מידע והן מכל בחינה אחרת- זה לא ימנע מהן להשתמש בו!
07.07.2010 20:14:26

#6 

cp77fk4r:
עוד דבר, מסתבר ש-URLScan חוסם את המתקפה הזאת באופן דיפולטיבי.
13.07.2010 10:41:09



הוסף את תגובתך:
כינוי:
תגובה:
קוד אבטחה:
העתק לכאן את הקוד:
 
Digital Whisper © 2009 - 2014 - כל הזכויות שמורות ל-אפיק קסטיאל ול-ניר אדר.