סקר: עד כמה הראוטר שלכם מעפן ?
מאת spdr בתאריך 29/01/10, תחת כללי
מבדיקה שעשיתי מסתבר שלהרבה מאוד ראוטרים אפשר להזריק קוד HTML באמצעות פרמטר ה HOSTNAME שמתקבל באמצעות פרוטוקול ה DHCP בזמן ההתחברות לנתב. ואם יש לנתב ממשק ווב שנותן לצפות ב DHCP TABLE או סתם מציג את ה HOSTNAME של המחשבים בכל דף אחר, אפשר לגרום בעצם ל XSS, ואולי אפילו להשיג ZONE פחות מאובטח בגרסאות ישנות של אינטרנט אקספלורר. אני בטח לא הראשון שחשב על זה אבל מהבדיקות שעשיתי 4 מתוך 4 ראוטרים היו פגיעים.
דוגמא לניצול בראוטר של סימנס:

בינתיים הראוטרים שבדקתי היו:
2Wire D-link SIEMENS ADSL SL2-141 ובדיקה ידנית מול - Level one WBR 3408 11g
העלתי לאתר סקריפט שכתוב בפרל, אז אם בא לכם לעזור בסקר כדי שכולנו נדע איזה ראוטרים בדיוק פגיעים, תורידו את הסקריפט ותריצו נגד הראוטר. הסקריפט ישלח פאקט ֹאחד לפורט UDP 67 ואמור ליצור HOSTNAME עם איזה ערך שאתם רוצים.
אפשרות שניה היא לעשות את הבדיקה בצורה ידנית, דבר פשוט בלינוקס:
ifconfig eth0 hw ether 00 hostname "htmlcodehere" # Replace with real code dhclient
השורה הראשונה תשנה את כתובת ה MAC של הכרטיס רשת, השורה השניה תשנה את ה HOSTNAME וצריך להכניס בין הגרשיים קוד HTML כלשהוא עד 64 תווים. השורה השלישית והאחרונה בעצם תבקש כתובת IP מהשרת DHCP עבור ה mac החדש מה שיגרום לרשומה חדשה ב DHCP TABLE.
את הסקריפט שכתוב בפרל אפשר להעתיק מכאן
הסקריפט מקבל 2 פרמטרים, הראשון הוא האיפי של הראוטר והשני זה קוד HTML שיכול להיות עד 63 תווים, אז תיהיו יצירתיים
. תדאגו גם לעטוף את הקוד HTML שאתם רוצים לנסות להזריק בגרשיים כדי שהטרמינל שלכם לא יחשוב שאלו פקודות BASH.
אחרי הניסיון ניצול (ידני או עם הסקריפט) תכנסו לממשק הווב לניהול הראוטר שלכם באמצעות הדפדפן ותבדקו אם הקוד שלכם הגיע לאחד הדפים – ואם כן, אז תכתבו לנו בתגובות בבקשה – תשתדלו לבדוק את הגרסא המדויקת של הראוטר שלכם לפני התגובה, ואם צריך להוסיף איזה קוד HTML כדי שההזרקה תיהיה אפקטיבית אז תדאגו להוסיף גם את זה.
יהיה מעניין לבדוק גם אם אפשר להריץ פקודות מרחוק, כמו הזרקת CGI SHELL לדפים של ראוטרים שונים. אבל אני מתאר לעצמי שזה בטח לא כלכך אפשרי.
התוצאות יתפרסמו בצורה מסודרת, כשיהיו מספיק תוצאות
29/01/10 בשעה 19:13
יפה מאוד. אני לא בטוח כמה זה שימושי (הרי לא הרבה מתחברים לראוטר שלהם באופן קבוע), אבל זה בהחלט מגניב מאוד כ POC. השאלה היותר מעניינת, היא: האם אותו טריק יעבוד גם על תוכנות ניטור מבוססות ווב בארגונים גדולים (שקוראות hostname), והאם אפשר ככה לפרוץ לתוכנה כמנהל.
אשתתף בסקר בקרוב. אבל הערה חשובה: לא משנה מה תהיה תוצאת הבדיקה, הראוטר שלי ממש ממש גרוע.
29/01/10 בשעה 20:00
אכן לא הרבה מתחברים לראוטר שלהם באופן קבוע, ואני מניח שאין את הבעיה הזאת בסיסקו (אבל לך תדע), אבל כשזה מגיע לרשתות ארגוניות זה יכול להיות יעיל כמו שאמרת
29/01/10 בשעה 22:14
טוב, בדקתי את שלי, למרבה הפלא, הוא בטוח, הסיבה שהוא בטוח, לא מפתיעה. הסיבה היא: הוא לא מתוחכם מספיק בשביל להציג את ה hostname של מי שרשום אצלו, הוא מציג רק IP ו MAC. נאב.
הראוטר הוא של אדימקס, גרסת תוכנה (ממשק ווב):
Customer Software Version: AR7024_05072600
30/01/10 בשעה 14:46
Sweex LW050v2 לא מגיב לסקריפט, ידני קצת קשה לבדוק עם ההגדרות שלי.
30/01/10 בשעה 16:54
הרבה לא מתייחסים לסקריפט, הוא די עילג (אם תסתכל בווירשארק תבין)
האמת שבכלל עדיף לבדוק ידני
30/01/10 בשעה 18:20
הסקריפט מאוד עילג, וזה באמת לא בעיה לבדוק ידנית
אצלי בכל מקרה בדקתי פוטנציאל ופשוט לא מופיע hostname בשום מקום.